(57)【要約】【課題】不揮発性メモリ装置を含む記憶装置で書き込みの性能を向上することができる方法を提供する。【解決手段】不揮発性メモリセルで構成されるメモリセルアレイを有する不揮発性メモリ装置を含む記憶装置のデータ書き込み方法において、書き込み要請及び、書き込み要請に係る書き込みデータを受信する段階と、書き込み要請に応答してメモリセルアレイにて、使用可能なフリーブロックの数を検出する段階と、検出されたフリーブロックの数がしきい値より少ない場合には、サブブロック単位でログブロックを割り当て、検出されたフリーブロックの数がしきい値以上の場合には、物理ブロック単位又は物理ブロック単位よりサイズが小さいサブブロック単位でログブロックを割り当てる段階と、書き込みデータを割り当てられたログブロックに書き込む段階とを有する。【選択図】      図８
2013250982.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性メモリセルで構成されるメモリセルアレイを有する不揮発性メモリ装置を含む記憶装置のデータ書き込み方法において、
書き込み要請及び、前記書き込み要請に係る書き込みデータを受信する段階と、
前記書き込み要請に応答して前記メモリセルアレイにて、使用可能なフリーブロックの数を検出する段階と、
前記検出されたフリーブロックの数がしきい値より少ない場合には、サブブロック単位でログブロックを割り当て、
前記検出されたフリーブロックの数がしきい値以上の場合には、物理ブロック単位又は前記物理ブロック単位よりサイズが小さいサブブロック単位で前記ログブロックを割り当てる段階と、
前記書き込みデータを前記割り当てられたログブロックに書き込む段階とを有することを特徴とする記憶装置のデータ書き込み方法。
【請求項２】
前記検出されたフリーブロックの数がしきい値以上の場合、前記書き込みデータがランダムパターンであるか否かを判断する段階をさらに有することを特徴とする請求項１に記載の記憶装置のデータ書き込み方法。
【請求項３】
不揮発性メモリセルで構成されるメモリセルアレイを有する不揮発性メモリ装置を含む記憶装置のデータ書き込み方法において、
書き込み要請及び、前記書き込み要請に係る書き込みデータを受信する段階と、
前記書き込み要請に応答して前記メモリセルアレイに含まれる複数のメモリブロックの内からバッドブロックの数を検出する段階と、
前記検出されたバッドブロックの数がしきい値より大きい場合には、サブブロック単位でログブロックを割り当て、前記検出されたバッドブロックの数がしきい値以下の場合には、物理ブロック単位又は前記物理ブロック単位よりサイズが小さいサブブロック単位で前記ログブロックを割り当てる段階と、
前記書き込みデータを前記割り当てられたログブロックに書き込む段階とを有することを特徴とする記憶装置のデータ書き込み方法。
【請求項４】
前記検出されたバッドブロックの数がしきい値以下の場合、前記書き込みデータがランダムパターンであるか否かを判断する段階をさらに有することを特徴とする請求項３に記載の記憶装置のデータ書き込み方法。
【請求項５】
前記書き込みデータがランダムパターンに対応する場合には、前記サブブロック単位で前記ログブロックを割り当て、前記書き込みデータがランダムパターンに対応しない場合には、前記物理ブロック単位で前記ログブロックを割り当てることを特徴とする請求項２又は４に記載の記憶装置のデータ書き込み方法。
【請求項６】
前記書き込みデータがランダムパターンであるか否かを検出する段階は、前記書き込みデータのアドレスを検出する段階を含むことを特徴とする請求項２又は４に記載の記憶装置のデータ書き込み方法。
【請求項７】
前記書き込みデータのアドレスを検出する段階は、前記アドレスが順次位置方式（ｉｎ−ｐｌａｃｅ−ｏｒｄｅｒ）であるか否かを判断する段階を含むことを特徴とする請求項６に記載の記憶装置のデータ書き込み方法。
【請求項８】
前記書き込みデータのアドレスを検出する段階は、前記アドレスが非連続であるか否かを判断する段階を含むことを特徴とする請求項６に記載の記憶装置のデータ書き込み方法。
【請求項９】
前記メモリセルアレイは、３次元にメモリセルが積層されることを特徴とする請求項１又は３に記載の記憶装置のデータ書き込み方法。
【請求項１０】
前記不揮発性メモリセルは、ＮＡＮＤ型フラッシュメモリセルであり、前記物理ブロック単位によって定義される物理ブロックは、少なくとも１つのワードラインに共通接続される複数のストリングが配列された前記ＮＡＮＤ型フラッシュメモリセルを含むことを特徴とする請求項１又は３に記載の記憶装置のデータ書き込み方法。
【請求項１１】
前記物理ブロックは、前記不揮発性メモリ装置で実行される消去動作の間に消去されることを特徴とする請求項１０に記載の記憶装置のデータ書き込み方法。
【請求項１２】
前記物理ブロックは、各々のサブブロック単位によって定義される複数のサブブロックを含み、
各々のサブブロックは、１つのワードラインに共通接続されるＮＡＮＤ型フラッシュメモリセルを含むことを特徴とする請求項１０に記載の記憶装置のデータ書き込み方法。
【請求項１３】
前記サブブロックの各々は、前記不揮発性メモリ装置で実行される消去動作の間に独立的に消去されることを特徴とする請求項１２に記載の記憶装置のデータ書き込み方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体メモリ装置に関し、より具体的には、不揮発性メモリセルで構成されるメモリセルアレイを有する不揮発性メモリ装置を含む記憶装置のデータ書き込み方法に関する。
【背景技術】
【０００２】
半導体メモリ装置は、大きく揮発性半導体メモリ装置（Ｖｏｌａｔｉｌｅ  ｓｅｍｉｃｏｎｄｕｃｔｏｒ  ｍｅｍｏｒｙ  ｄｅｖｉｃｅ）と不揮発性半導体メモリ装置（Ｎｏｎ−ｖｏｌａｔｉｌｅ  ｓｅｍｉｃｏｎｄｕｃｔｏｒ  ｍｅｍｏｒｙ  ｄｅｖｉｃｅ）に区別される。
揮発性半導体メモリ装置は、読み書き速度が速いが、電源の供給が切れれば、記憶された内容が消えてしまう欠点がある。一方、不揮発性半導体メモリ装置は、電源の供給が中断されても、その内容を保存する。
したがって、不揮発性半導体メモリ装置は、電源が供給されているか否かに関係なく、保存する内容を記憶させるために使われる。
【０００３】
不揮発性半導体メモリ装置には、ＭＲＯＭ（Ｍａｓｋ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）、ＰＲＯＭ（Ｐｒｏｇｒａｍｍａｂｌｅ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  ｐｒｏｇｒａｍｍａｂｌｅ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  ｅｒａｓａｂｌｅ  ｐｒｏｇｒａｍｍａｂｌｅ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）などがある。
ＥＥＰＲＯＭの一種であるフラッシュメモリ装置は、商業面において重要度が高い。
例えば、フラッシュメモリ装置は、コンピュータ、携帯電話、デジタルカメラ、ビデオカメラ、ボイスレコーダ、ＭＰ３プレーヤ、携帯情報端末（ＰＤＡ）、ハンドヘルドコンピュータ（Ｈａｎｄｈｅｌｄ  ＰＣ）、ゲーム機、ファックス、スキャナ、プリンタなどのような情報機器の音声及び画像データの記憶媒体として広く使用されている。
【０００４】
近年では、半導体メモリ装置の集積度を向上させるために、３次元的に積層されたメモリセルを有する半導体メモリ装置が盛んに研究されている。
３次元メモリセルアレイは、メモリセルアレイの単位面積当たり高いデータ記憶容量を提供することができる。
従って、上述のような大容量化デバイスで書き込みの性能を向上することが問題となっている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】韓国公開特許第１０−２０１０−００９９８８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明は上記従来の半導体メモリ装置における問題点に鑑みてなされたものであって、本発明の目的は、不揮発性メモリ装置を含む記憶装置で書き込みの性能を向上することができる方法を提供することにある。
また、本発明の他の目的は、書き込みパターンとフリーブロックの数を参照して、物理ブロック単位又はサブブロック単位でログブロック又はデータブロックを割り当て、書き込みデータを割り当てられたログブロックに書き込む方法を提供することにある。
また、本発明の他の目的は、書き込みパターンとバッドブロックの数を参照して、物理ブロック単位又はサブブロック単位でログブロック又はデータブロックを割り当て、書き込みデータを割り当てられたログブロックに書き込む方法を提供することにある。
【課題を解決するための手段】
【０００７】
上記目的を達成するためになされた本発明による記憶装置のデータ書き込み方法は、不揮発性メモリセルで構成されるメモリセルアレイを有する不揮発性メモリ装置を含む記憶装置のデータ書き込み方法において、書き込み要請及び、前記書き込み要請に係る書き込みデータを受信する段階と、前記書き込み要請に応答して前記メモリセルアレイにて、使用可能なフリーブロックの数を検出する段階と、前記検出されたフリーブロックの数がしきい値より少ない場合には、サブブロック単位でログブロックを割り当て、前記検出されたフリーブロックの数がしきい値以上の場合には、物理ブロック単位又は前記物理ブロック単位よりサイズが小さいサブブロック単位で前記ログブロックを割り当てる段階と、前記書き込みデータを前記割り当てられたログブロックに書き込む段階とを有することを特徴とする。
【０００８】
また、上記目的を達成するためになされた本発明による記憶装置のデータ書き込み方法は、不揮発性メモリセルで構成されるメモリセルアレイを有する不揮発性メモリ装置を含む記憶装置のデータ書き込み方法において、書き込み要請及び、前記書き込み要請に係る書き込みデータを受信する段階と、前記書き込み要請に応答して前記メモリセルアレイに含まれる複数のメモリブロックの内からバッドブロックの数を検出する段階と、前記検出されたバッドブロックの数がしきい値より大きい場合には、サブブロック単位でログブロックを割り当て、前記検出されたバッドブロックの数がしきい値以下の場合には、物理ブロック単位又は前記物理ブロック単位よりサイズが小さいサブブロック単位で前記ログブロックを割り当てる段階と、前記書き込みデータを前記割り当てられたログブロックに書き込む段階とを有することを特徴とする。
【発明の効果】
【０００９】
本発明に係る記憶装置のデータ書き込み方法によれば、不揮発性メモリ装置を含む格納装置やメモリシステムにおいて、フリーブロックの数と書き込みパターンによって、ログブロックのサイズを適応的に調整することができる。
したがって、メモリブロックの大容量化にもかかわらず、十分なフリーブロックの数を保持することができ、マージ動作の発生頻度を低減することができるメモリシステムを実現することができるという効果がある。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施形態によるメモリシステムを駆動するためのソフトウェア階層構造を示すブロック図である。
【図２】本発明の実施形態によるメモリシステムを示すブロック図である。
【図３】図２の不揮発性メモリ装置を示すブロック図である。
【図４】図３のメモリセルアレイを示すブロック図である。
【図５】図４のメモリブロックのうちの１つを例示的に示す斜視図である。
【図６】図５のメモリブロックの構造を示す等価回路図である。
【図７】不揮発性メモリ装置の部分消去動作を説明するためのテーブルである。
【図８】本発明の実施形態によるブロック管理方法を説明するためのフローチャートである。
【図９】本発明の実施形態によるログブロックの割り当て方法の一例を示すブロック図である。
【図１０】本発明の実施形態によるログブロックの割り当て方法の他の例を示すブロック図である。
【図１１】本発明の実施形態によるメモリシステムのソフトウェア階層を具体的に示すブロック図である。
【図１２】本発明の他の実施形態によるメモリブロックの管理方法を説明するためのフローチャートである。
【図１３】データの書き込みパターンを判定するための方法を例示的に説明するためのフローチャートである。
【図１４】本発明の実施形態によるソリッドステートディスクを含むユーザ装置を示すブロック図である。
【図１５】本発明の実施形態によるメモリカードの例を示すブロック図である。
【図１６】本発明の実施形態によるフラッシュメモリ装置を含むコンピューティングシステムを示すブロック図である。
【発明を実施するための形態】
【００１１】
次に、本発明に係る記憶装置のデータ書き込み方法を実施するための形態の具体例を図面を参照しながら説明する。
【００１２】
以下、本発明が属する技術分野における通常の知識を有する者が本発明の技術的思想を容易に実施できる程度に詳細に説明するために、本発明の実施形態を添付の図面を参照して説明する。
同一構成要素は同一参照番号を使用して引用する。このような構成要素は、類似の参照番号を使用して引用する。以下で説明される本発明によるフラッシュメモリ装置の回路構成と、それによって実行される読み出し動作は、例をあげて説明したものに過ぎず、本発明の技術的思想を逸脱しない範囲内で様々な変化及び変更が可能である。
【００１３】
以下のフラッシュメモリ装置は、本発明の特徴及び機能を説明するために不揮発性メモリの一例として用いている。しかし、この技術分野に精通した者であれば、ここに記載した内容によって本発明の他の利点及び性能を容易に理解することができる。または記憶媒体として他の不揮発性メモリ装置で構成することも可能である。例えば、記憶媒体としてＰＲＡＭ、ＭＲＡＭ、ＲｅＲＡＭ、ＦＲＡＭ（登録商標）、ＮＯＲフラッシュメモリなどを用いることができ、異種のメモリ装置が混用するメモリシステムにも適用することができる。
【００１４】
そして、本発明では、消去後の書き込み方法でメモリ領域が管理される記憶装置において、‘フリーブロック（Ｆｒｅｅ  ｂｌｏｃｋ）’という用語を使用する。
ブロック単位で削除される不揮発性メモリ装置で‘フリーブロック’はマージ（Ｍｅｒｇｅ）動作の後に消去されたメモリブロックを指す。
または、‘フリーブロック’は、消去されたブロックに加えて、データが無効したメモリブロックを含む概念として使用する。
つまり、‘フリーブロック’は、記憶装置が必要な時点にすぐにデータを書き込むように指定されたメモリブロックを意味する。
【００１５】
図１は、本発明の実施形態によるメモリシステムを駆動するためのソフトウェア階層構造を示すブロック図である。
図１を参照すると、フラッシュ変換階層（ＦＴＬ）３０は、アプリケーションソフトウェア１０とファイルシステム２０から伝達された論理アドレス（例えば、セクタアドレスとセクタ数）を物理アドレスＰＡに変換する。
【００１６】
フラッシュ変換階層３０は、論理アドレスＬＡに対応する不揮発性メモリ装置（ＮＶＭ）４０の物理アドレスＰＡをマッピングするためにアドレスマッピングテーブル（Ａｄｄｒｅｓｓ  Ｍａｐｐｉｎｇ  Ｔａｂｌｅ）を構成する。フラッシュ変換階層３０のアドレスマッピング方法には、マッピングの単位に応じて様々な方法がある。代表的なアドレスのマッピング方法では、ページマッピング方法（Ｐａｇｅ  ｍａｐｐｉｎｇ  ｍｅｔｈｏｄ）、ブロックマッピング方法（Ｂｌｏｃｋ  ｍａｐｐｉｎｇ  ｍｅｔｈｏｄ）、及びログマッピング方法（Ｌｏｇ  ｍａｐｐｉｎｇ  ｍｅｔｈｏｄ）がある。
【００１７】
フラッシュ変換階層３０は、書き込み要請が発生すると、フリーブロック（Ｆｒｅｅ  ｂｌｏｃｋ）の数と書き込みパターン（Ｗｒｉｔｅ  ｐａｔｔｅｒｎ）とを参照して、ログブロック（Ｌｏｇ  Ｂｌｏｃｋ）を割り当てる。
特に、フラッシュ変換階層３０は、書き込み要請されるデータがランダムに提供される場合には、サブブロック（Ｓｕｂ−ｂｌｏｃｋ）単位でログブロックを提供する。
一方、フラッシュ変換階層３０は、書き込み要請されるデータが連続して提供される場合には、サブブロック単位より大きい単位の物理ブロック単位でログブロックを提供する。実質的に、物理ブロックは、複数のサブブロックを含むことになる。
【００１８】
さらに、フラッシュ変換階層３０は、フリーブロックの数が十分であるときは、データの書き込みパターンによってサブブロック単位又は物理ブロック単位でログブロックを提供する。
しかし、フラッシュ変換階層３０は、フリーブロックの数が十分でないときには、書き込みパターンに関係なく、サブブロック単位でログブロックを割り当てる。
このような工程を通じてフリーブロックを確保するためのマージ演算時間を提供することができる。
【００１９】
メモリシステムの性能は、フラッシュ変換階層３０で実行されるマージ動作の発生頻度に大きく影響を受ける。
マージ動作が発生するたびにページコピーとブロック消去動作が伴う。
したがって、マージ動作の回数を減らすことができれば、メモリシステムの性能向上が期待できることを意味する。本発明の実施形態によるフラッシュ変換階層３０は、フリーブロックの数とデータの書き込みパターンによって、ログブロック又はデータブロックに割り当てるメモリ単位のサイズを適応的に可変することができる。
【００２０】
本発明のフラッシュ変換階層３０の使用によって大容量のメモリブロック単位を支援するメモリシステムのフリーブロックの不足による性能の低下を遮断することができる。
さらに、本発明の実施形態によれば、少ない容量のデータについては相対的に少ないサイズのメモリ単位のログブロックやデータブロックに割り当てるので、メモリブロックの無駄を最小限に抑えることができる。
【００２１】
図２は、本発明の実施形態によるメモリシステムを示すブロック図である。
図２を参照すると、メモリシステム１００は、メモリコントローラ１１０と不揮発性メモリ装置１２０とを含む。
【００２２】
メモリコントローラ１１０は、ホストＨｏｓｔの要請に応答して不揮発性メモリ装置１２０を制御するように構成される。
メモリコントローラ１１０は、ホストＨｏｓｔと不揮発性メモリ装置１２０とをインタフェーシングする。メモリコントローラ１１０は、ホストＨｏｓｔの書き込み要請に応答して、データを書き込むために不揮発性メモリ装置１２０を制御する。また、メモリコントローラ１１０は、ホストＨｏｓｔからの読み出し命令に応答して不揮発性メモリ装置１２０の読み出し動作を制御する。
【００２３】
メモリコントローラ１１０は、フラッシュ変換階層（Ｆｌａｓｈ  Ｔｒａｎｓｌａｔｉｏｎ  Ｌａｙｅｒ  以下、ＦＴＬ）を含むことができる。フラッシュ変換階層ＦＴＬは、ホストＨｏｓｔのファイルシステム（Ｆｉｌｅ  Ｓｙｓｔｅｍ）と不揮発性メモリ装置１２０との間で不揮発性メモリ装置１２０の削除動作を隠すためのインタフェーシングを提供する。
フラッシュ変換階層ＦＴＬによって、書き込み前消去（Ｅｒａｓｅ−ｂｅｆｏｒｅ−Ｗｒｉｔｅ）及び消去単位と書き込み単位の不一致という不揮発性メモリ装置１２０の欠点を補完することができる。
【００２４】
また、フラッシュ変換階層ＦＴＬは、不揮発性メモリ装置１２０の書き込み動作の時に、ファイルシステムが生成した論理アドレスＬＡを不揮発性メモリ装置１２０の物理アドレスＰＮにマッピング（Ｍａｐｐｉｎｇ）させる。
本発明のメモリコントローラ１１０によって駆動されるフラッシュ変換階層ＦＴＬは、ログマッピング方法（Ｌｏｇ  ｍａｐｐｉｎｇ  ｍｅｔｈｏｄ）に基づいてアドレスをマッピングする。
しかし、本発明の利点は、ログマッピングの方法だけではなく、様々なアドレスマッピング法に適用することができる。
【００２５】
本発明のメモリコントローラ１１０は、フリーブロック（Ｆｒｅｅ  ｂｌｏｃｋ）の数と入力されるデータの属性（Ａｔｔｒｉｂｕｔｅ）とを参照して、ログブロック又はデータブロックを割り当てることができる。
例示的にデータの属性では、書き込みパターンを使用することができる。
特に、メモリコントローラ１１０は、フリーブロックの管理における１つの物理ブロック単位でログブロックを割り当てるか、又は物理ブロックより小さいサブブロック単位でログブロックを割り当てる。
以下では、フリーブロックプール（Ｆｒｅｅ  ｂｌｏｃｋ  ｐｏｏｌ）に存在するフリーブロックをログブロックに割り当てることと、データブロックに割り当てることは類似の意味として使用する。したがって、フリーブロックプールで選択されたメモリ単位をログブロックに割り当てるのは、データブロックにも割り当てることができることを意味する。
【００２６】
ここで、物理ブロック（Ｐｈｙｓｉｃａｌ  Ｂｌｏｃｋ）は、同時に消去可能な最大メモリ単位である。
ワードラインが基板に垂直方向に積層される３次元の不揮発性メモリ装置において、物理ブロックは積層されたすべてのワードラインを共有するセルストリングのグループとして定義することができる。
サブブロック（Ｓｕｂ−ｂｌｏｃｋ）は、１つの物理ブロックをワードライン単位又は選択ライン単位に区分した細部メモリ単位に該当する。
例えば、サブブロック（Ｓｕｂ−ｂｌｏｃｋ）は、物理ブロックのうちで、一部のワードラインを共有するメモリセルの単位として定義することができる。
【００２７】
サブブロック単位のログブロックの割り当てを通じて入力されるデータに対してフリーブロックの無駄を最小化することができる。
そして、本発明のメモリコントローラ１１０のブロック管理方法によれば、１つの物理ブロック単位で消去せず、サブブロック単位で消去することができるので、消去時間の短縮による性能の向上も期待できる。
【００２８】
不揮発性メモリ装置１２０は、メモリコントローラ１１０の制御によって、消去動作、読み出し動作、及び書き込み動作を実行する。
不揮発性メモリ装置１２０は、複数のメモリブロックを含み、メモリブロックの各々は、行と列に配列された複数のメモリセルを含む。
メモリセルの各々は、マルチレベル（又は、マルチビット）のデータを格納する。
メモリセルは、２次元アレイ構造を有するように、又は３次元（又は、垂直）アレイ構造を有するように配列することができる。
【００２９】
不揮発性メモリ装置１２０は、複数のメモリブロック（ＢＬＫ１〜ＢＬＫｉ）を含むことができる。
各々のメモリブロック（ＢＬＫ１〜ＢＬＫｉ）は、１つの消去単位を構成する。
各々のメモリブロック（ＢＬＫ１〜ＢＬＫｉ）は、基板と垂直となる方向に積層されてセルストリングを構成する複数のメモリセルを含む。
又は、各々のメモリブロック（ＢＬＫ１〜ＢＬＫｉ）は、基板に平行な方向に複数のセルストリングが積層される形態として提供することができる。
上述のような３次元構造で形成されるメモリブロック（ＢＬＫ１〜ＢＬＫｉ）によって１つのメモリブロックの容量は飛躍的に増加する傾向にある。
【００３０】
メモリブロックの大容量化の傾向に応じて、既存の制御技術やアルゴリズムでは、増加した容量に適した性能を提供することが容易ではない。
本発明の実施形態によるメモリシステム１００は、大容量のメモリブロックを含む不揮発性メモリ装置１２０に対して高い性能を提供することができる。
メモリシステム１００の性能は、マージ動作（Ｍｅｒｇｅ  ｏｐｅｒａｔｉｏｎ）の回数に大きく影響を受ける。しかし、本発明の実施形態によるブロック管理方法によれば、大容量のブロックに対してもマージ動作の回数を大幅に減らすことができる。
すなわち、本発明のブロック管理方法によれば、マージ動作に伴うブロック消去とページコピーの発生確率を減少させて、メモリの性能を大きく向上することができる。
【００３１】
不揮発性メモリ装置１２０の記憶媒体として、ＮＡＮＤフラッシュメモリを例として説明する。
しかし、他の不揮発性メモリ装置で構成することができる。例えば、記憶媒体として、ＰＲＡＭ、ＭＲＡＭ、ＲｅＲＡＭ、ＦＲＡＭ（登録商標）、ＮＯＲフラッシュメモリなどが使用でき、異種のメモリ装置が混在するメモリシステムを適用することができる。
特に、最近活発に研究されているソリッドステートドライブ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ以下、ＳＳＤ）のような記憶装置で、本発明の技術的特徴を採用することができる。この場合、メモリコントローラ１１０は、ＵＳＢ、ＭＭＣ、ＰＣＩ−Ｅ、ＳＡＴＡ、ＰＡＴＡ、ＩＤＥ、Ｅ−ＩＤＥ、ＳＣＳＩ、ＥＳＤＩ、及びＳＡＳなどのようなインターフェイスプロトコルのうちの１つを通じてホストＨｏｓｔと通信するように構成される。
【００３２】
図３は、図２の不揮発性メモリ装置を示すブロック図である。
図３を参照すると、不揮発性メモリ装置１２０は、メモリセルアレイ１２１と、行デコーダ１２２と、ページバッファ１２３と、制御ロジック１２４とを含む。
【００３３】
メモリセルアレイ１２１は、ワードラインＷＬｓ又は選択ラインＳＳＬ、ＧＳＬを通じて行デコーダ１２２に接続される。
メモリセルアレイ１２１は、ビットラインＢＬｓを通じてページバッファ１２３に接続される。
メモリセルアレイ１２１は、複数のＮＡＮＤ型セルストリング（ＮＡＮＤ  Ｃｅｌｌ  Ｓｔｒｉｎｇｓ）を含む。複数のセルストリングは、動作又は選択の単位によって複数のメモリブロック（ＢＬＫ１〜ＢＬＫｉ）を構成する。そして、メモリブロックの各々は、複数のサブブロックを含む。
【００３４】
ここで、セルストリングの各々のチャンネルは、垂直又は水平方向に形成することができる。
メモリセルアレイ１２１には、複数のワードラインが垂直方向に積層され、セルストリングの各々のチャネルを垂直方向に形成することができる。このようなセルストリングの構造によりメモリセルアレイ１２１が形成されるメモリ装置を垂直構造の不揮発性メモリ装置、又は３次元構造の不揮発性メモリ装置と言う。
【００３５】
行デコーダ１２２は、アドレスＡＤＤに応答してメモリセルアレイ１２１のメモリブロックのうちのいずれか１つを選択する。
行デコーダ１２２は、選択されたメモリブロックのワードラインＷＬｓのうちのいずれか１つを選択する。
行デコーダ１２２は、選択されたメモリブロックのワードラインにワードライン電圧を伝達する。
プログラム（書き込み）動作の時、行デコーダ１２２は、選択ワードライン（Ｓｅｌｅｃｔｅｄ  ＷＬ）にプログラム電圧Ｖｐｇｍと検証電圧Ｖｖｆｙを、非選択ワードライン（Ｕｎｓｅｌｅｃｔｅｄ  ＷＬ）にはパス電圧Ｖｐａｓｓを伝達する。そして、行デコーダ１２２は、選択ラインＳＳＬ、ＧＳＬとワードライン電圧を提供してサブブロック単位で選択する。
選択されたサブブロックについて、行デコーダ１２２は、プログラム（書き込み）、消去、読み出しのようなすべてのアクセス動作を実行する。
【００３６】
ページバッファ１２３は、動作モードによって書き込みドライバとして、又は感知増幅器として動作する。
プログラム（書き込み）動作の時、ページバッファ１２３は、メモリセルアレイ１２１のビットラインにプログラムされる（書き込まれる）データに対応するビットライン電圧を伝達する。
読み出し動作の時に、ページバッファ１２３は、選択されたメモリセルに格納されたデータをビットラインを通じて感知する。
ページバッファ１２３は、感知されたデータをラッチして外部に伝達する。
【００３７】
制御ロジック１２４は、外部から伝達される命令語ＣＭＤに応答して、ページバッファ１２３と行デコーダ１２２とを制御する。
制御ロジック１２４は、消去動作の時に、選択されたメモリブロック（又は、物理ブロック）を消去したり、サブブロック単位で消去するように行デコーダ１２２を制御する。
サブブロック単位の消去動作は、後述の図７でさらに具体的に説明する。
【００３８】
本発明の不揮発性メモリ装置１２０は、物理ブロック（Ｐｈｙｓｉｃａｌ  Ｂｌｏｃｋ以下、ＰＢ）又はそれより小さいサブブロック（Ｓｕｂ−ｂｌｏｃｋ  以下、ＳＢ）単位で消去動作を実行する。
したがって、本発明の不揮発性メモリ装置１２０によれば、メモリブロックの大容量化によって発生するマージ動作の非効率性を大幅に改善することができる。
【００３９】
図４は、図３のメモリセルアレイ１２１を示すブロック図である。
図４を参照すると、メモリセルアレイ１２１は、複数のメモリブロック（ＢＬＫ１〜ＢＬＫｉ）を含む。
メモリブロック（ＢＬＫ１〜ＢＬＫｉ）の各々は３次元構造（又は、垂直構造）を有する。
例えば、メモリブロック（ＢＬＫ１〜ＢＬＫｉ）の各々は３次元に対応する複数の方向（ｘ、ｙ、ｚ）に沿って延長された構造を含む。例えば、メモリブロック（ＢＬＫ１〜ＢＬＫｉ）の各々は、ｚ方向に沿って延長された複数のＮＡＮＤセルストリング（ＮＡＮＤ  Ｃｅｌｌ  Ｓｔｒｉｎｇｓ）を含むことができる。
【００４０】
各々のＮＡＮＤセルストリングは、ビットラインＢＬ、ストリング選択ラインＳＳＬ、接地選択ラインＧＳＬ、ワードラインＷＬ、及び共通ソースラインＣＳＬに接続される。
つまり、メモリブロック（ＢＬＫ１〜ＢＬＫｉ）の各々は、複数のビットラインＢＬ、複数のストリング選択ラインＳＳＬ、複数の接地選択ラインＧＳＬ、複数のワードラインＷＬ、及び共通ソースラインＣＳＬに接続される。
３次元に延長されるメモリブロック（ＢＬＫ１〜ＢＬＫｉ）の各々の構造は、図５を参照してさらに詳細に説明する。
【００４１】
ここで、メモリブロック（ＢＬＫ１〜ＢＬＫｉ）の各々が物理ブロック（Ｐｈｙｓｉｃａｌ  Ｂｌｏｃｋ）に対応する。
そして、サブブロックは、１つの物理ブロックをワードライン単位又は選択ライン単位に区分した細部メモリ単位に対応することができる。
【００４２】
図５は、図４のメモリブロック（ＢＬＫ１〜ＢＬＫｉ）のうちの１つＢＬＫｉを例示的に示す斜視図である。
図５を参照すると、メモリブロックＢＬＫｉは、複数の方向の（ｘ、ｙ、ｚ）に沿って延長された構造を含む。
【００４３】
メモリブロックＢＬＫｉを形成するためには、まず、基板１１１が提供される。
例えば、基板１１１は、ホウ素（Ｂ、Ｂｏｒｏｎ）のような５族元素が注入されて形成されたＰウェルで形成することができる。
または、基板１１１は、Ｎウェル内に提供されるポケットＰウェルで形成することができる。
以下では、基板１１１は、Ｐウェルであると仮定する。しかし、基板１１１は、Ｐウェルに限定されない。
【００４４】
基板１１１上に、ｘ方向に沿って複数のドーピング領域（３１１〜３１４）が形成される。
例えば、複数のドーピング領域（３１１〜３１４）は、基板１１１と異なるｎタイプの導電体で形成することができる。以下では、第１〜第４ドーピング領域（３１１〜３１４）は、ｎタイプを有すると仮定する。
しかし、第１〜第４ドーピング領域（３１１〜３１４）は、ｎタイプを有するものに限定されない。
【００４５】
第１及び第２ドーピング領域３１１、３１２の間の基板１１１の領域上に、ｙ方向に沿って延長される複数の絶縁物質１１２がｚ方向に沿って順次提供される。
例えば、複数の絶縁物質１１２は、ｚ方向に沿って所定の距離だけ離隔されて形成される。
例示的に、絶縁物質１１２は、シリコン酸化物（Ｓｉｌｉｃｏｎ  Ｏｘｉｄｅ）のような絶縁物質を含む。
【００４６】
第１及び第２ドーピング領域３１１、３１２の間の基板１１１の上部に、ｙ方向に沿って順次配置され、ｚ方向に沿って絶縁物質１１２を貫通するピラー１１３が形成される。
例示的に、ピラー１１３は、絶縁物質１１２を貫通して基板１１１と接続される。
ここで、ピラー１１３は、第２及び第３ドーピング領域３１２、３１３の間の基板の上部と、第３及び第４ドーピング領域３１３、３１４の間の基板の上部にも形成される。
例示的に、各ピラー１１３は、複数の物質で構成される。
【００４７】
例えば、各ピラー１１３の表面層１１４は、第１タイプを有するシリコン物質を含む。
例えば、各ピラー１１３の表面層１１４は、基板１１１と同じタイプを有するシリコン物質を含む。
以下では、各ピラー１１３の表面層１１４は、ｐタイプシリコンを含むと仮定する。
しかし、各ピラー１１３の表面層１１４は、ｐタイプシリコンを含むものに限定されない。
各ピラー１１３の内部層１１５は、絶縁物質で構成される。
例えば、各ピラー１１３の内部層１１５は、シリコン酸化物（Ｓｉｌｉｃｏｎ  Ｏｘｉｄｅ）のような絶縁物質を含む。
例えば、各ピラー１１３の内部層１１５はエアギャップ（Ａｉｒ  ｇａｐ）を含むことができる。
【００４８】
第１及び第２ドーピング領域３１１、３１２の間の領域において、絶縁物質１１２、ピラー１１３、及び基板１１１の露出された表面に沿って絶縁膜１１６が提供される。
例示的に、ｚ方向に沿って提供される最後の絶縁物質１１２のｚ方向側の露出面に提供される絶縁膜１１６は除去可能である。
【００４９】
第１及び第２ドーピング領域３１１、３１２の間の領域において、絶縁膜１１６の露出された表面上に第１導電物質（２１１〜２９１）が提供される。
例えば、基板１１１に隣接した絶縁物質１１２と基板１１１との間にｙ方向に沿って延長される第１導電物質２１１が提供される。
さらに詳細には、基板１１１に隣接した絶縁物質１１２の下部面の絶縁膜１１６と基板１１１との間に、ｙ方向に延長する第１導電物質２１１が提供される。
絶縁物質１１２のうち、特定の絶縁物質の上部面の絶縁膜１１６と、特定の絶縁物質の上部に配置された絶縁物質の下部面の絶縁膜１１６との間に、ｙ方向に沿って延長される複数の第１導電物質（２１１〜２９１）が提供される。
例示的に、第１導電物質（２１１〜２９１）は、金属物質である。例示的に、第１導電物質（２１１〜２９１）は、ポリシリコンなどのような導電物質である。
【００５０】
第２及び第３ドーピング領域３１２、３１３の間の領域において、第１及び第２ドーピング領域３１１、３１２上の構造物と同じ構造が提供される。
第３及び第４ドーピング領域３１３、３１４の間の領域で、第１及び第２ドーピング領域３１１、３１２上の構造物と同じ構造が提供される。
例示的に、第３及び第４ドーピング領域３１３、３１４の間の領域で、ｙ方向に延長される複数の絶縁物質１１２、ｙ方向に沿って順に配置され、ｚ方向に沿って複数の絶縁物質１１２を貫通する複数のピラー１１３、複数の絶縁物質１１２及び複数のピラー１１３の露出面に提供される絶縁膜１１６、そしてｙ方向に沿って延長される複数の第１導電物質（２１３〜２９３）が提供される。
【００５１】
複数のピラー１１３上にドレイン３２０が各々提供される。
例示的に、ドレイン３２０は、第２タイプでドーピングされたシリコン物質である。
例えば、ドレイン３２０は、ｎタイプでドープされたシリコン物質である。以下では、ドレイン３２０は、ｎタイプシリコンを含むと仮定する。しかし、ドレイン３２０は、ｎタイプシリコンを含むものに限定されない。
例示的に、各々のドレイン３２０の幅は、対応するピラー１１３の幅より大きいことがある。例えば、各ドレイン３２０は、対応するピラー１１３の上部面にパッドの形態に提供することができる。
【００５２】
ドレイン３２０上に、ｘ方向に延長された第２導電物質（３３１〜３３３）が提供される。
第２導電物質（３３１〜３３３）は、ｙ方向に沿って順次配置される。
第２導電物質（３３１〜３３３）の各々は、対応する領域のドレイン３２０と接続される。例示的に、ドレイン３２０と、ｘ方向に延長された第２導電物質３３３は、各々コンタクトプラグ（Ｃｏｎｔａｃｔ  ｐｌｕｇ）を通じて接続することができる。例示的に、第２導電物質（３３１〜３３３）は、金属物質である。例示的に、第２導電物質（３３１〜３３３）は、ポリシリコンなどのような導電物質である。
【００５３】
図６は、図５のメモリブロックＢＬＫｉの構造を示す等価回路図である。
図５と図６を参照すると、第１ビットラインＢＬ＜１＞と共通ソースラインＣＳＬとの間にセルストリング（ＮＳ１１、ＮＳ２１、ＮＳ３１）が形成される。
第２ビットラインＢＬ＜２＞と共通ソースラインＣＳＬとの間にセルストリング（ＮＳ１２、ＮＳ２２、ＮＳ３２）が形成される。
第３ビットラインＢＬ＜３＞と共通ソースラインＣＳＬとの間に、セルストリング（ＮＳ１３、ＮＳ２３、ＮＳ３３）が形成される。
第１〜第３ビットライン（ＢＬ＜１＞〜ＢＬ＜３＞）は、ｘ方向に延長された第２導電物質（３３１〜３３３）に各々対応する。
【００５４】
セルストリングＮＳｓのストリング選択トランジスタＳＳＴは、対応するビットラインＢＬに接続される。
セルストリングＮＳｓの接地選択トランジスタＧＳＴは、共通ソースラインＣＳＬと接続される。
セルストリングＮＳｓのストリング選択トランジスタＳＳＴと接地選択トランジスタＧＳＴとの間にメモリセル（ＭＣ１〜ＭＣ６）が提供される。
以下では、行と列単位でセルストリングＮＳが定義される。
１つのビットラインに共通に接続されたセルストリングＮＳは、１つの列を形成する。
例えば、第１ビットラインＢＬ＜１＞に接続されたセルストリング（ＮＳ１１〜ＮＳ３１）は、第１列に対応する。第２ビットラインＢＬ＜２＞に接続されたセルストリング（ＮＳ１２〜ＮＳ３２）は、第２列に対応する。第３ビットラインＢＬ＜３＞に接続されたセルストリング（ＮＳ１３〜ＮＳ３３）は、第３列に対応する。
【００５５】
１つのストリング選択ラインＳＳＬに接続されるセルストリングＮＳは、１つの行を形成する。
例えば、第１ストリング選択ラインＳＳＬ＜１＞に接続されたセルストリング（ＮＳ１１〜ＮＳ１３）は、第１行を形成する。第２ストリング選択ラインＳＳＬ＜２＞に接続されたセルストリング（ＮＳ２１〜ＮＳ２３）は、第２行を形成する。第３ストリング選択ラインＳＳＬ＜３＞に接続されたセルストリング（ＮＳ３１〜ＮＳ３３）は、第３行を形成する。
セルストリングＮＳｓの各々は、接地選択トランジスタＧＳＴを含む。
１つの接地選択ラインＧＳＬによって接地選択トランジスタＧＳＴを制御することができる。あるいは図に示していないが、互いに異なる接地選択ラインによって各行に対応するセルストリングを制御することもできる。
【００５６】
同一の半導体層に対応するメモリセルＭＣは、ワードラインＷＬを共有する。
導電ライン（２２１〜２２３）（図５参照）が共通に接続され、第１ワードラインＷＬ＜０＞を形成する。導電ライン（２３１〜２３３）が共通に接続され、第２ワードラインＷＬ＜１＞を形成する。導電ライン（２４１〜２４３）が共通に接続され、第３ワードラインＷＬ＜２＞を形成する。導電ライン（２５１〜２５３）が共通に接続され、第４ワードラインＷＬ＜３＞を形成する。導電ライン（２６１〜２６３）が共通に接続され、第５ワードラインＷＬ＜４＞を形成する。導電ライン（２７１〜２７３）が共通に接続され、第６ワードラインＷＬ＜５＞を形成する。
【００５７】
同一の行のセルストリングＮＳは、ストリング選択ラインＳＳＬを共有する。
異なる行のセルストリングＮＳは異なるストリング選択ラインＳＳＬ＜１＞、ＳＳＬ＜２＞、ＳＳＬ＜３＞に各々接続される。
共通ソースラインＣＳＬは、セルストリングＮＳｓに共通に接続される。
例えば、第１〜第４ドーピング領域（３１１〜３１４）（図５参照）が互いに接続されて、共通ソースラインＣＳＬを形成する。
【００５８】
以上で、例示的に説明した１つの物理ブロックＢＬＫｉは、それより小さい複数のサブブロック（ＳＢ０、ＳＢ１、ＳＢ２）に区分できる。各々のサブブロック（ＳＢ０、ＳＢ１、ＳＢ２）は、ワードライン方向に区分できる。
または、各々のサブブロック（ＳＢ０、ＳＢ１、ＳＢ２）は、ビットラインＢＬやストリング選択ラインＳＳＬに基づいて区分できる。
どのような基準によってサブブロックを区分しても、各々のサブブロックは、物理ブロックＢＬＫｉ内で、他のサブブロックとは独立的に消去可能でなければならない。
【００５９】
例示的に、サブブロックＳＢ０は、メモリブロックＢＬＫｉに含まれたメモリセルのうちでワードラインＷＬ＜０＞、ＷＬ＜１＞に接続されたメモリセルを含む。
サブブロックＳＢ１は、メモリブロックＢＬＫｉに含まれたメモリセルのうちでワードラインＷＬ＜２＞、ＷＬ＜３＞に接続されたメモリセルを含む。
サブブロックＳＢ２は、メモリブロックＢＬＫｉに含まれたメモリセルのうちでワードラインＷＬ＜４＞、ＷＬ＜５＞に接続されたメモリセルを含む。
そして、サブブロックＳＢ０に含まれたメモリセルは、残りのサブブロック（ＳＢ１、ＳＢ２）とは別個に選択されて消去可能である。
すなわち、サブブロック（ＳＢ０、ＳＢ１、ＳＢ２）は、１つ又は２つ以上が同時に選択されて消去することができる。このため、不揮発性メモリ装置１２０の行デコーダ１２２は、サブブロックＳＢ単位でメモリセルを消去するためのバイアスを提供すべきである。
【００６０】
以上では、１つのメモリブロックＢＬＫｉの内部で定義されるサブブロックの区分方法を例示的に説明した。
しかし、サブブロックの区分基準は、図に示した例に限定されない。
すなわち、１つの物理ブロックＢＬＫｉが３つのサブブロックに区分される例を説明したが、１つの物理ブロックＢＬＫｉは、２つ又は４つ以上のサブブロックに区分できる。
また、１つの物理ブロックでサブブロックは、ストリング選択ラインＳＳＬ単位、又はビットラインＢＬ単位として定義することもできる。
【００６１】
図７は、本発明の不揮発性メモリ装置の部分消去動作を説明するためのテーブルである。
図７を参照すると、１つの物理ブロックが３つのサブブロックに区分される場合の消去バイアス条件を示す。
１つの物理ブロックを構成するセルストリングの各々を、例示的に３つのサブブロック（ＳＢ０、ＳＢ１、ＳＢ２）に区分する。
物理ブロックＰＢに含まれる任意のセルストリングＮＳｊを参照して消去動作の時のバイアス条件を説明する。
【００６２】
サブブロックＳＢ０だけを消去する場合に、消去バイアスは次の通りである。
ビットラインＢＬ、ストリング選択ラインＳＳＬ１、接地選択ラインＧＳＬは、電気的にフローティングされる。そして、サブブロック（ＳＢ１、ＳＢ２）に対応するワードライン（ＷＬ＜２＞〜ＷＬ＜５＞）もフローティングされる。
一方、サブブロックＳＢ０に対応するワードライン（ＷＬ＜０＞、ＷＬ＜１＞）は、接地レベル又は０Ｖが提供される。
このような状態で、基板Ｓｕｂに高電圧の消去電圧Ｖｅｒｓが提供されれば、サブブロックＳＢ０に含まれるメモリセルがＦＮトンネリングによって消去される。
しかし、フローティング状態に維持されるワードライン（ＷＬ＜２＞〜ＷＬ＜５＞）の電圧は、容量性カップリングにより、高電圧レベルに上昇するようになる。したがって、ワードライン（ＷＬ＜２＞〜ＷＬ＜５＞）とチャネルとの間の電位差は、ＦＮトンネリングが発生するには不十分になる。このようなバイアスによってサブブロックＳＢ０の選択的消去動作が可能になる。
【００６３】
サブブロックＳＢ１に対する消去動作もサブブロックＳＢ０の消去動作と類似である。
ただし、サブブロックＳＢ１の消去バイアスは、ワードライン（ＷＬ＜２＞、ＷＬ＜３＞）に接地又は０Ｖの電圧が提供され、ワードライン（ＷＬ＜０＞〜ＷＬ＜１＞、ＷＬ＜４＞〜ＷＬ＜５＞）がフローティングされる条件のみが異なり、サブブロックＳＢ０の消去バイアスと類似である。
【００６４】
サブブロックＳＢ２に対する消去バイアスは、次の通りである。
ワードライン（ＷＬ＜４＞、ＷＬ＜５＞）に接地又は０Ｖの電圧が提供され、ワードライン（ＷＬ＜０＞〜ＷＬ＜３＞）がフローティングされる。
このような状態で、基板Ｓｕｂに高電圧の消去電圧Ｖｅｒｓが印加されれば、サブブロックＳＢ２のみを選択的に消去することができる。
サブブロックＳＢｎの消去動作を部分ブロック消去（Ｐａｒｔｉａｌ  Ｂｌｏｃｋ  Ｅｒａｓｅ）と言う。
【００６５】
なお、物理ブロックＰＢの消去動作は、次の通りである。
すべてのワードライン（ＷＬ＜０＞〜ＷＬ＜５＞）に接地又は０Ｖの電圧が印加され、ビットラインＢＬ、選択行ＳＳＬ１、ＧＳＬはフローティングされる。
そして、このような状態で、基板Ｓｕｂに高圧の消去電圧Ｖｅｒｓが印加すれば、物理ブロックＰＢを消去することができる。
【００６６】
ここで、サブブロック（ＳＢ０、ＳＢ１、ＳＢ２）が各々１つのみが消去される例が説明したが、２つ以上のサブブロックの消去も可能である。
例えば、同時にサブブロック（ＳＢ０、ＳＢ１）が選択されて消去されることも可能である。同時にサブブロック（ＳＢ１、ＳＢ２）の消去も可能であり、同時にサブブロック（ＳＢ０、ＳＢ２）の消去も可能である。
【００６７】
以上の消去バイアスによれば、本発明の不揮発性メモリ装置１２０は、各々下位単位（サブブロック単位）で消去可能な大容量の物理ブロックを含む。
したがって、メモリコントローラ１１０によるログブロックの割り当ての時に、サブブロック単位で、又は物理ブロック単位で割り当てることができる。
もし、フリーブロックプール（Ｆｒｅｅ  ｂｌｏｃｋ  ｐｏｏｌ）に存在するサブブロックＳＢ０がログブロックに割り当てられる場合に、物理的には、サブブロックＳＢ０に対する消去動作が先行する。
消去されたサブブロックＳＢ０が指定されたデータブロックに対するログブロックに割り当てられ、書き込み要請されたデータが書き込まれる。
【００６８】
図８は、本発明の実施形態によるブロック管理方法を説明するためのフローチャートである。
図８を参照して、サブブロック単位でログブロックの割り当てが可能な本発明のブロック管理手順を説明する。
【００６９】
Ｓ１１０段階において、メモリコントローラ１１０（図１参照）は、メモリブロックの内からフリーブロック（Ｆｒｅｅ  Ｂｌｏｃｋ）の数ＮＦＢを検出する。
フリーブロックの数ＮＦＢは、メモリシステムの外部から提供される書き込みや削除命令、又はメモリシステムの内部で発生するガベージコレクションのようなメモリ管理動作によって変動する。
メモリコントローラ１１０は、ホストＨｏｓｔからの書き込み要請に応答して、これらのフリーブロックの数ＮＦＢを検出する。書き込み要請に応答して、メモリコントローラ１１０で駆動されるフラッシュ変換階層ＦＴＬは、現在のメモリシステム１００で十分なフリーブロックが具備されているか否かを判断する。
【００７０】
Ｓ１２０段階において、メモリコントローラ１１０は、十分な数のフリーブロックが確保された状態であるか否かを判断する。
例えば、フラッシュ変換階層ＦＴＬは、フリーブロックの数ＮＦＢがしきい値ＴＨより多いか否かを判断する。
もし、フリーブロックの数ＮＦＢがしきい値ＴＨより少ないか、又は同一であれば、Ｓ１５０段階に移動する。
一方、フリーブロックの数ＮＦＢがしきい値ＴＨよりも多い場合は、Ｓ１３０段階に移動する。
【００７１】
フリーブロックの数が十分でない状況では、メモリコントローラ１１０は、書き込み要請されるデータの書き込みパターンに関係なく、サブブロックＳＢ単位でログブロックを割り当てる。
サブブロックを順次ログブロックに割り当てるためには、サブブロック単位で消去動作が先行する。
サブブロック単位でログブロックが割り当てられる間にメモリコントローラ１１０は、マージ動作を実施して、追加でフリーブロックを確保することができる。
【００７２】
Ｓ１３０段階において、メモリコントローラ１１０は、書き込み要請されたデータの書き込みパターンを検出する。
書き込み要請されたデータの書き込みパターンを検出するためには、様々な検出方法を使用することができる。
例えば、連続して入力されるデータのサイズが所定のサイズ（例えば、１６ＫＢ）未満の場合には、ランダムパターン（Ｒａｎｄｏｍ  ｐａｔｔｅｒｎ）と認識することができる。又は、書き込みパターンを分析するために、ＬＲＵ（Ｌｅａｓｔ  Ｒｅｃｅｎｔｌｙ  Ｕｓｅｄ）、ＣＦＬＲＵ（Ｃｌｅａｎ−Ｆｉｒｓｔ  ＬＲＵ）、ＣＡ（Ｃｌｏｃｋ  Ａｌｇｏｒｉｔｈｍ）、ＳＣ（Ｓｅｃｏｎｄ  Ｃｈａｎｃｅ）、ＭＤＨ（Ｍｕｌｔｉ−Ｄｉｍｅｎｓｉｏｎａｌ  Ｈａｓｈｉｎｇ）のようなアルゴリズムを使用することができる。
しかし、書き込みパターンの分析方法は、上述の方法に限定されない。
【００７３】
Ｓ１４０段階において、書き込みパターンがランダム書き込みか否かを判断し、ランダム書き込みと判断された場合、Ｓ１５０段階に移動する。
一方、書き込みパターンが順次書き込みとして判断された場合、Ｓ１６０段階に移動する。
【００７４】
Ｓ１５０段階において、ランダム書き込みパターンで定義されるサブブロックＳＢ単位でログブロックの割り当てが実行される。
例えば、書き込み要請されたデータに対応するデータブロックに該当するログブロックはサブブロックに提供する。
ここで、１つ又は２つ以上のサブブロックをログブロックに割り当てることができる。
ログブロックの割り当てが完了すれば、手順は、割り当てられたログブロックにデータを書き込むためのＳ１７０段階に移動する。
【００７５】
Ｓ１６０段階において、順次書き込みパターンで定義される物理ブロックＰＢ単位でログブロックの割り当てが行われる。
例えば、書き込み要請されたデータに対応するデータブロックに対応するログブロックは１つの物理ブロックＰＢに提供する。
ログブロックの割り当てが完了すれば、手順は、割り当てられたログブロックにデータを書き込むためのＳ１７０段階に移動する。
【００７６】
Ｓ１７０段階において、メモリコントローラ１１０は、割り当てられた物理ブロックＰＢ、又はサブブロックＳＢに書き込み要請されたデータを書き込む。
書き込みデータの動作プログラムが完了すれば、１つの書き込み要請に対応する動作プログラムのサイクルは終了する。
【００７７】
結局、１つのログブロックを割り当てるためにサブブロックＳＢや物理ブロックＰＢの選択は、現在フリーブロックプールに維持されるフリーブロックの数ＮＦＢと書き込み要請されるデータのパターンによって決められる。
フリーブロックの数ＮＦＢが不足な状態では、書き込みパターンに関係なく、サブブロック単位でログブロックの割り当てが実行される。
したがって、マージ動作を通じてフリーブロックをさらに確保することができる時間を獲得することができる。
しかし、フリーブロックの数ＮＦＢが十分な状態では、書き込みパターンによってサブブロック又は物理ブロックがログブロックに割り当てられる。これらの特性を通じて、大容量ブロックの不揮発性メモリ装置を有するメモリシステムでもフリーブロックを確保するための頻繁なマージ動作の発生を抑制することができる。
【００７８】
図９は、本発明の実施形態によるログブロックの割り当て方法の一例を示すブロック図である。
図９を参照すると、メモリコントローラ１１０（図１参照）は、書き込み動作の時に不揮発性メモリ装置１２０（図１参照）のメモリブロックをデータブロック３６０、ログブロック３７０、及びフリーブロックプール３８０に区分して管理する。
【００７９】
データブロック３６０は、予めデータが書き込まれたデータブロックが含まれる。
例えば、データブロック３６０は、物理ブロック番号（ＰＢＮ：Ｐｈｙｓｉｃａｌ  Ｂｌｏｃｋ  Ｎｕｍｂｅｒ）（１００、１０１、１０３、１０４、９００）に対応するメモリブロックを含む。
メモリコントローラ１１０によってアドレスを通じて指定される実質的なメモリブロックは、データブロックに該当する。
【００８０】
ログブロック３７０には、外部で選択されたデータブロックを更新（Ｕｐｄａｔｅ）するためのログブロック（Ｌｏｇ  Ｂｌｏｃｋ）が含まれる。
例えば、ログブロック３７０は、物理ブロックＢＬ２００及びサブブロックＳＢ０を含むことができる。
物理ブロックＢＬ２００はデータブロック１００を更新するために割り当てられる。そして、サブブロックＳＢ０は、データブロック１０２を更新するためにログブロックに割り当てることができる。
【００８１】
フリーブロックプール３８０には、マージ動作やガベージコレクションによって消去されたメモリブロック又は無効なデータを有するメモリブロックが割り当てられる。
フリーブロックプール３８０は、（ＢＬ２１０、ＢＬ２１１、・・・、ＢＬ２１８）の物理ブロックを含むことができる。
そして、各々の物理ブロックは、サブブロック単位で選択される。選択されたサブブロックは、ログブロックに割り当てられる。データの書き込み動作の時に新しいログブロックが必要になれば、フリーブロックプール３８０に位置する物理ブロックやサブブロックのうちのいずれか１つを選択して、ログブロックに指定することができる。
【００８２】
再び図９を参照すると、１つのデータブロックには、少なくとも１つのログブロック又はサブブロックＳＢを割り当てる。
もし、書き込み要請されるデータは、サイズが小さいランダムパターンとして提供されると仮定すれば、メモリコントローラ１１０は、書き込み要請されるデータのブロックアドレスをデータブロックＢＬ１０２に割り当てる。そして、書き込み要請されるデータに対するログブロックでは、サブブロックＳＢ０を割り当てる。
【００８３】
ログブロックに選択されたサブブロックＳＢ０は、まず、部分ブロック消去（Ｐａｒｔｉａｌ  Ｂｌｏｃｋ  Ｅｒａｓｅ）方式によって消去される。
物理ブロックの一部に対応するサブブロックＳＢ０に対する消去動作が完了すれば、サブブロックＳＢ０は、データブロックＢＬ１０２を更新するためのログブロックに割り当てられる。
ランダムパターンの書き込みデータは、まずログブロックに選択されたサブブロックＳＢ０にプログラムされる（書き込まれる）。以後、サブブロックＳＢ０に書き込まれたデータは、適切なタイミングでマージ動作を通じてデータブロックＢＬ１０２に存在する有効なデータ（Ｖａｌｉｄ  ｄａｔａ）と共に新しいデータブロックにコピーされる。
【００８４】
ランダムパターン（Ｒａｎｄｏｍ  ｐａｔｔｅｒｎ）に入力される書き込みデータは、ほとんどサブブロックＳＢ０に十分に受容可能なサイズである。
したがって、サブブロック単位でログブロックを割り当てれば、フリーブロックの不足によって頻繁に発生するマージ動作やガベージコレクションの発生頻度が減少する。
ここで、１つのサブブロック単位がログブロックに割り当てられると説明したが、本発明はこれに限定されない。１つのデータブロックに対応するログブロックに２つ又はそれ以上のサブブロックをログブロックに割り当てることができる。
【００８５】
図１０は、本発明の実施形態によるログブロックの割り当て方法の他の例を示すブロック図である。
図１０を参照すると、書き込み要請されるデータが順次パターン（ＳｅｑｕｅｎｔｉａｌＰａｔｔｅｒｎ）で提供される場合のログブロックの割り当て方法を示す。
メモリブロックがデータブロック３６０、ログブロック３７０、及びフリーブロックプール３８０に区分される形態は、図９で説明したので、ブロックの区分に対する詳細な説明は省略する。
【００８６】
メモリコントローラ１１０は、書き込み要請されるデータの書き込みパターンが順次パターンに対応する場合、１つの物理ブロックＢＬ２１１をログブロックに割り当てる。
もし、データブロックＢＬ１０４に対応するデータが順次書き込みパターンに入力されると仮定すれば、メモリコントローラ１１０は、書き込みパターンに応答して、データブロックＢＬ１０４に対するログブロックに物理ブロックＢＬ２１１を割り当てる。
【００８７】
ログブロックとして選択された物理ブロックＢＬ２１１はログブロックとして使用される前に消去される。
消去された物理ブロックＢＬ２１１に順次パターンに提供されたデータがプログラムされる（書き込まれる）。
以後、ログブロックとして使用される物理ブロックＢＬ２１１とデータブロックＢＬ１０４に存在する有効なデータ（Ｖａｌｉｄ  ｄａｔａ）は、フリーブロックから提供された新しい物理ブロックにコピーされる。
マージ動作は、ページのコピーを通じても実現可能であるが、ログブロックＢＬ２１１に格納されるデータが、データブロックＢＬ１０４を完全に置換することもできる。このようなマージ方式を、ページのコピーは発生せず、ブロックマッピング情報のみを変更するスワップマージ（Ｓｗａｐ  ｍｅｒｇｅ）とする。
【００８８】
以上、図９と図１０では、サブブロック単位でログブロックが割り当てられる例と、物理ブロック単位でログブロックが割り当てられる例を説明した。
ログブロックの割り当て単位を大容量の物理ブロックより小さい単位で割り当てることによって、フリーブロックプールの速い消耗を軽減して、フリーブロックを確保するためのあらゆるブロックの管理動作の発生確率を大幅に減らすことができる。
さらに、ランダムパターンに入力されるデータに対してサブブロック単位でログブロックを割り当てれば、１つのサブブロックに対する迅速な消去動作が可能になって、書き込みの性能の向上を期待することができる。
【００８９】
図１１は、本発明の実施形態によるメモリシステムのソフトウェア階層を具体的に示すブロック図である。
図１１を参照すると、ソフトウェアは、ファイルシステム４１０と、フラッシュ変換階層（ＦＴＬ）４２０と、不揮発性メモリ装置（ＮＶＭ）４３０とを含む。
【００９０】
フラッシュ変換階層４２０には、ファイルシステム４１０から書き込み命令ＣＭＤとデータＤａｔａ、そして論理アドレスＬＡが入力される。
フラッシュ変換階層４２０は、マッピングテーブル４２１を使用して、論理アドレスＬＡを物理アドレスＰＡに変換する。
フラッシュ変換階層４２０は、マッピングテーブル４２１と、書き込みパターン分析器４２２と、フリーブロックマネージャ４２３と、マージマネージャ４２４のようなモジュール（Ｍｏｄｕｌｅ）とを含むことができる。マッピングテーブル４２１を参照して、フラッシュ変換階層４２０は、論理アドレスＬＡを物理アドレスＰＡに変換する。
【００９１】
書き込みパターン分析器４２２は、ファイルシステム４１０からの書き込み命令ＣＭＤ、データ（Ｄａｔａ）、論理アドレスＬＡのうちの少なくとも１つを参照して、書き込みパターンを検出する。
検出された書き込みパターンは、マージマネージャ４２４に提供される。
書き込みパターン分析器４２２は、連続して入力されるデータのサイズが基準値（例えば、１６ＫＢ）未満の場合には、ランダムパターンに認識する。
又は、書き込みパターン分析器３２２は、ＬＲＵ（Ｌｅａｓｔ  Ｒｅｃｅｎｔｌｙ  Ｕｓｅｄ）、ＣＦＬＲＵ（Ｃｌｅａｎ−Ｆｉｒｓｔ  ＬＲＵ）、ＣＡ（Ｃｌｏｃｋ  Ａｌｇｏｒｉｔｈｍ）、ＳＣ（Ｓｅｃｏｎｄ  Ｃｈａｎｃｅ）、ＭＤＨ（Ｍｕｌｔｉ−Ｄｉｍｅｎｓｉｏｎａｌ  Ｈａｓｈｉｎｇ）のようなアルゴリズムによって書き込みパターンを検出することができる。しかし、書き込みパターンの分析方法は、上述の方法に限定されない。
【００９２】
フリーブロックマネージャ４２３は、不揮発性メモリ装置４３０で管理するフリーブロックプール（Ｆｒｅｅｂｌｏｃｋ  ｐｏｏｌ）に含まれるフリーブロックを管理する。
フリーブロックマネージャ４２３は、フリーブロックプールに含まれる物理ブロックやサブブロックの数が基準に達するか否かを監視する。
もし、フリーブロックプールに十分な数の物理ブロック又はサブブロックが確保されていないと判断されれば、フリーブロックマネージャ４２３は、マージマネージャ４２４に、これらの状態を知らせる。
【００９３】
マージマネージャ４２４は、フリーブロックプールに存在する物理ブロック又はサブブロックの数を適切なレベルに維持するためのマージ動作を実行する。
マージマネージャ４２４は、ログブロックとデータブロックの状態を参照して、最適のマージ方式を選択することができる。
フリーブロックの数が十分な場合、マージマネージャ４２４は、フリーブロックの数を確保するためのマージ動作は実行しない。しかし、フリーブロックの数が不足の場合、マージマネージャ４２４は、書き込みデータのパターンに関係なく、マージ動作を実行して、フリーブロックに提供する。
【００９４】
不揮発性メモリ装置４３０は、メタ領域４３１とデータ領域４３２に管理されるメモリ領域を含む。
メタ領域４３１は、マージ動作やガベージコレクション（Ｇａｒｂａｇｅ  ｃｏｌｌｅｃｔｉｏｎ）などによって変更されたマッピング情報を格納する。メタ領域４３１は、フラッシュ変換階層４２０で生成されたマッピング情報と多様な制御情報を格納することができる。
データ領域４３２は、複数のデータブロックで構成され、ユーザデータを格納する。
【００９５】
以上、本発明のフラッシュ変換階層４２０に含まれる動作モジュールを簡単に説明した。
特に、フラッシュ変換階層４２０によってフリーブロックの数とデータの書き込みパターンによるログブロックの割り当てサイズが決められる。
したがって、本発明の実施形態によるメモリシステムは、大容量の物理ブロックを有するメモリシステムでもマージ回数を最小化することができ、メモリブロックの利用率を最大化することができる。
【００９６】
図１２は、図１１のメモリシステムでのメモリブロックの管理方法を説明するためのフローチャートである。
図１２を参照して、ベッドブロック（Ｂａｄ  Ｂｌｏｃｋ）の発生を考慮したサブブロック単位でログブロックの割り当てが可能な本発明のブロック管理手順を説明する。
【００９７】
Ｓ２１０段階において、メモリコントローラ１１０（図１参照）は、ホストＨｏｓｔから書き込み要請（又は書き込み命令語）を受信する。
書き込み命令語の受信によって、メモリコントローラ１１０で駆動されるフラッシュ変換階層４２０（図１１参照）によって、本発明に係るログブロックの割り当てが行われる。
【００９８】
Ｓ２２０段階において、メモリコントローラ１１０は、不揮発性メモリ装置１２０に含まれるメモリブロックの内のバッドブロック（Ｂａｄ  Ｂｌｏｃｋ）の数ＮＢＢを検出する。
バッドブロック（Ｂａｄ  Ｂｌｏｃｋ）は、最初の量産時に検出されたものと不揮発性メモリ装置１２０の使用中に発生した進行性バッドブロックの全部を含む。
バッドブロックの数が増加すると、実質的に可用メモリブロック（Ｕｓａｂｌｅ  ｍｅｍｏｒｙ  ｂｌｏｃｋ）の数は減少するようになる。したがって、可用メモリブロックの減少によって、フリーブロック数の確保が難しくなる。本発明の実施形態によれば、バッドブロック数の増加によって発生する性能の低下を軽減することができる。
【００９９】
Ｓ２３０段階において、検出されたベットブロックの数ＮＢＢに従って、メモリコントローラ１１０は、ログブロックの割り当て方法を決定する。
まず、バッドブロックの数ＮＢＢが基準値Ｒｅｆの以上に増加したと判断されれば、Ｓ２４０段階に移動する。
一方、バッドブロックの数ＮＢＢが基準値Ｒｅｆの未満であると判断されれば、Ｓ２５０段階に移動する。
【０１００】
Ｓ２４０段階において、メモリコントローラ１１０は、書き込み要請されたデータのパターンに関係なく、無条件にサブブロック単位でログブロックの割り当てを実行する。
すなわち、バッドブロックの数ＮＢＢが増加して、可用メモリブロックの数が減少した状態では、フリーブロックの確保も段々難しくなる。この場合、サブブロックＳＢ単位でログブロックを割り当てれば、フリーブロックを確保するための過度なマージ動作の頻度を減らすことができる。
【０１０１】
Ｓ２５０段階において、メモリコントローラ１１０は、書き込み要請されたデータの書き込みパターンを検出、判断する。
もし、検出された書き込みパターンがランダム書き込みとして判断されれば、Ｓ２６０段階に移動する。
一方、書き込みパターンが順次パターンとして判断されれば、Ｓ２７０段階に移動する。
【０１０２】
ここで、書き込み要請されたデータの書き込みパターンを検出するために使用可能な方法としてはアドレスの検出がある。
すなわち、入力されるアドレスが連続アドレスであるか、又はランダムアドレスであるかを判断して、書き込みパターンを判断することができる。
又は、連続して入力されるデータのサイズが特定のサイズ（例えば、１６ＫＢ）未満の場合には、ランダムパターン（Ｒａｎｄｏｍ  ｐａｔｔｅｒｎ）に認識することができる。
書き込みパターンを分析するために、ＬＲＵ（Ｌｅａｓｔ  Ｒｅｃｅｎｔｌｙ  Ｕｓｅｄ）、ＣＦＬＲＵ（Ｃｌｅａｎ−Ｆｉｒｓｔ  ＬＲＵ）、ＣＡ（Ｃｌｏｃｋ  Ａｌｇｏｒｉｔｈｍ）、ＳＣ（Ｓｅｃｏｎｄ  Ｃｈａｎｃｅ）、ＭＤＨ（Ｍｕｌｔｉ−Ｄｉｍｅｎｓｉｏｎａｌ  Ｈａｓｈｉｎｇ）のようなアルゴリズムも使用可能である。しかし、書き込みパターンの分析方法は、上述の方法に限定されない。
【０１０３】
Ｓ２６０段階において、書き込みパターンがランダム書き込みと判断されれば、サブブロック単位でログブロックの割り当てが実行される。
例えば、書き込み要請されたデータに対応するデータブロックに該当するログブロックは、サブブロックに提供する。
ここで、１つ又は２つ以上のサブブロックをログブロックに割り当てることができる。ログブロックの割り当てが完了すれば、手順は、割り当てられたログブロックにデータをプログラムするためのＳ２８０段階に移動する。
【０１０４】
Ｓ２７０段階において、書き込みパターンが順次書き込みパターンと判断されれば、物理ブロック単位でログブロックの割り当てが実行される。
例えば、書き込み要請されたデータに対応するデータブロックに該当するログブロックを、１つの物理ブロックＰＢに提供する。
ログブロックの割り当てが完了すれば、手順は、割り当てられたログブロックにデータをプログラムするためのＳ２８０段階に移動する。
【０１０５】
Ｓ２８０段階において、メモリコントローラ１１０は、割り当てられた物理ブロックＰＢ、又はサブブロックＳＢに書き込み要請されたデータをプログラムする（書き込む）。
書き込みデータのプログラムが完了すれば、１つの書き込み要請に対応するプログラムのサイクルは終了する。
【０１０６】
結局、１つのログブロックを割り当てるためにサブブロックや物理ブロックの選択は、現在のメモリシステム１００で検出されるバッドブロック（Ｂａｄ  ｂｌｏｃｋ）の数ＮＢＢと書き込み要請されるデータの書き込みパターンによって決められる。
バッドブロックの数が基準値の以上に増加すれば、書き込みパターンに関係なく、サブブロック単位でログブロックの割り当てが実行される。
したがって、可用メモリブロックが相対的に減少する状況でもフリーブロックを確保するためのコストが最小化できる。
【０１０７】
図１３は、書き込み要請されるデータの書き込みパターンを判定するための方法を例示的に説明するためのフローチャートである。
図１３を参照すると、図１２のＳ２５０段階の、より詳細な手順を示す。
【０１０８】
Ｓ２５１段階において、メモリコントローラ１１０（図１）は、書き込み要請されるデータのページアドレスが順次位置方式（Ｉｎ−ｐｌａｃｅ−ｏｒｄｅｒ）であるか否かを検出する。
メモリコントローラ１１０は、書き込み要請されたデータのページアドレスが連続的な値に提供されるかを検出する。
もし、書き込み要請されたページのアドレスがメモリブロック内での位置とは無関係にランダムに提供されれば、順次位置方式（Ｉｎ−ｐｌａｃｅ−ｏｒｄｅｒ）、又は順次書き込みパターンと見なすことができない。
【０１０９】
Ｓ２５２段階において、メモリコントローラ１１０は、ページアドレスが順次位置方式（Ｉｎ−ｐｌａｃｅ−ｏｒｄｅｒ）であるか否かを判断する。
メモリコントローラ１１０は、書き込みデータのページアドレスが順次位置方式（Ｉｎ−ｐｌａｃｅ−ｏｒｄｅｒ）ではないと判断した場合、書き込みパターンをランダム書き込みパターンと決定する（Ｓ２５３段階）。
一方、メモリコントローラ１１０は、ページアドレスが順次位置方式（Ｉｎ−ｐｌａｃｅ−ｏｒｄｅｒ）であると判断した場合には、ログブロックの書き込みパターンを順次書き込みパターンと決定する（Ｓ２５４段階）。
【０１１０】
図１４は、本発明の実施形態によるソリッドステートディスク（以下、ＳＳＤ）を含むユーザ装置を示すブロック図である。
図１４を参照すると、ユーザ装置１０００は、ホスト１１００とＳＳＤ１２００とを含む。
ＳＳＤ１２００は、ＳＳＤコントローラ１２１０と、バッファメモリ１２２０と、不揮発性メモリ装置（ＮＶＭ）１２３０とを含む。
【０１１１】
ＳＳＤコントローラ１２１０は、ホスト１１００とＳＳＤ１２００との物理的な接続を提供する。
すなわち、ＳＳＤコントローラ１２１０は、ホスト１１００のバスフォーマット（Ｂｕｓ  ｆｏｒｍａｔ）に対応してＳＳＤ１２００とのインタフェーシングを提供する。
特に、ＳＳＤコントローラ１２１０は、ホスト１１００から提供される命令語をデコーディングする。デコーディングされた結果に基づいて、ＳＳＤコントローラ１２１０は、不揮発性メモリ装置１２３０にアクセスする。
【０１１２】
ホスト１１００のバスフォーマット（Ｂｕｓ  ｆｏｒｍａｔ）としては、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）、ＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）、ＰＣＩ  ｅｘｐｒｅｓｓ、ＡＴＡ、ＰＡＴＡ（Ｐａｒａｌｌｅｌ  ＡＴＡ）、ＳＡＴＡ（Ｓｅｒｉａｌ  ＡＴＡ）、ＳＡＳ（Ｓｅｒｉａｌ  Ａｔｔａｃｈｅｄ  ＳＣＳＩ）などを含むことができる。
【０１１３】
バッファメモリ１２２０には、ホスト１１００から提供される書き込みデータ又は不揮発性メモリ装置１２３０から読み出されたデータが一時格納される。
ホスト１１００の読み出し要請の時に不揮発性メモリ装置１２３０に存在するデータがキャッシュされている場合には、バッファメモリ１２２０は、キャッシュされたデータを直接ホスト１１００に提供するキャッシュ機能を支援する。
一般的に、ホスト１１００のバスフォーマット（例えば、ＳＡＴＡまたはＳＡＳ）によるデータ伝送速度は、ＳＳＤ１２００のメモリチャネルの伝送速度より顕著に速い。つまり、ホスト１１００のインターフェイス速度が顕著に速い場合、大容量のバッファメモリ１２２０を提供することによって、速度差によって発生するパフォーマンスの低下を最小化することができる。
【０１１４】
バッファメモリ１２２０は、大容量の補助記憶装置として使用されるＳＳＤ１２００で十分なバッファリングを提供するために、同期式ＤＲＡＭ（Ｓｙｎｃｈｒｏｎｏｕｓ  ＤＲＡＭ）が提供され得る。しかし、バッファメモリ１２２０はこれに限定されないことは、この分野の通常の知識を習得した者には自明である。
【０１１５】
不揮発性メモリ装置１２３０は、ＳＳＤ１２００の記憶媒体として提供される。
例えば、不揮発性メモリ装置１２３０は、大容量の記憶能力を有する垂直構造ＮＡＮＤフラッシュメモリ（ＮＡＮＤ−ｔｙｐｅ  Ｆｌａｓｈｍｅｍｏｒｙ）で提供することができる。
不揮発性メモリ装置１２３０は、複数のメモリ装置で構成することができる。この場合、各々のメモリ装置は、チャネル単位でＳＳＤコントローラ１２１０と接続される。
【０１１６】
記憶媒体として不揮発性メモリ装置１２３０がＮＡＮＤフラッシュメモリを例としてあげて説明したが、他の不揮発性メモリ装置で構成されてもよい。
例えば、記憶媒体としてＰＲＡＭ、ＭＲＡＭ、ＲｅＲＡＭ、ＦＲＡＭ（登録商標）、ＮＯＲフラッシュメモリなどを使用することができ、異種のメモリ装置が混用されるメモリシステムも適用可能である。
不揮発性メモリ装置は実質的に図３での説明と同一に構成することができる。
【０１１７】
上述のＳＳＤ１２００において、ＳＳＤコントローラ１２１０は、フリーのブロックの数と入力されるデータの書き込みパターンによって適応的にデータブロックやログブロックのサイズを決める。
すなわち、ＳＳＤコントローラ１２１０は、フリーブロックの数がしきい値より少ない場合には、データの書き込みパターンに関係なく、サブブロックＳＢの単位でログブロックを割り当てる。
一方、フリーブロックの数がしきい値以上の場合には、ＳＳＤコントローラ１２１０は、書き込みパターンを考慮して、サブブロックＳＢ、又は物理ブロックＰＢの単位でログブロックやデータブロックを割り当てる。
さらに、ＳＳＤコントローラ１２１０は、バッドブロックの数と入力されるデータの書き込みパターンによって適応的にデータブロック又はログブロックのサイズを決めることができる。
【０１１８】
不揮発性メモリ装置１２３０は、図３の不揮発性メモリ装置と実質的に同様に動作することができる。
すなわち、不揮発性メモリ装置１２３０は、大容量のメモリブロックを含み、各々のメモリブロックは、サブブロック単位で選択及び消去可能である。
【０１１９】
図１５は、本発明の実施形態によるメモリカードの例を示すブロック図である。
メモリカードシステム２０００は、ホスト２１００と、メモリカード２２００とを含む。
ホスト２１００は、ホストコントローラ２１１０と、ホスト接続ユニット２１２０とを含む。
メモリカード２２００は、カード接続ユニット２２１０と、カードコントローラ２２２０と、フラッシュメモリ２２３０とを含む。
【０１２０】
ホスト接続ユニット２１２０及びカード接続ユニット２２１０は、複数のピンを有して構成される。これらのピンには、コマンドピン、データピン、クロックピン、電源ピンなどが含まれる。
ピンの数は、メモリカード２２００の種類によって変わる。例として、ＳＤカードは、９つのピンを有することができる。
【０１２１】
ホスト２１００は、メモリカード２２００にデータを書き込むか、又は、メモリカード２２００に格納されたデータを読み出す。
ホストコントローラ２１１０は、コマンド（例えば、書き込みコマンド）、ホスト２１００内のクロック発生器（図示しない）で発生したクロック信号ＣＬＫ、そして、データＤＡＴをホスト接続ユニット２１２０を通じてメモリカード２２００に伝送する。
【０１２２】
カードコントローラ２２２０は、カード接続ユニット２２１０を通じて受信された書き込みコマンドに応答して、カードコントローラ２２２０内にあるクロック発生器（図示しない）で発生したクロック信号に同期して、データをメモリ２２３０に格納する。
メモリ２２３０は、ホスト２１００から伝送されたデータを格納する。
例えば、ホスト２１００がデジタルカメラの場合には、画像データを格納する。
【０１２３】
カードコントローラ２２２０は、フリーブロックの数と入力されるデータの書き込みパターンに基づいて適応的にデータブロックやログブロックのサイズを決める。
すなわち、カードコントローラ２２２０は、フリーブロックの数がしきい値より少ない場合には、データの書き込みパターンに関係なく、サブブロックＳＢの単位でログブロックを割り当てる。
一方、フリーブロックの数がしきい値以上の場合には、カードコントローラ２２２０は、書き込みパターンを考慮して、サブブロックＳＢ、又は物理ブロックＰＢの単位でログブロックやデータブロックを割り当てる。
さらに、カードコントローラ２２２０は、バッドブロックの数と入力されるデータの書き込みパターンに基づいて適応的にデータブロックやログブロックのサイズを決めることができる。
【０１２４】
カード接続ユニット２２１０は、ＵＳＢ、ＭＭＣ、ＰＣＩ−Ｅ、ＳＡＳ、ＳＡＴＡ、ＰＡＴＡ、ＳＣＳＩ、ＥＳＤＩ、及びＩＤＥなどのような様々なインターフェイスプロトコルのうちの１つを通じて外部（例えば、ホスト）と通信するように構成される。
【０１２５】
図１６は、フラッシュメモリ装置３１２０を含むコンピューティングシステム３０００を簡略に示すブロック図である。
本発明によるコンピューティングシステム３０００は、システムバス３６００に電気的に接続された中央処理装置（ＣＰＵ）３２００と、ＲＡＭ３３００と、ユーザインターフェース３４００と、ベースバンドチップセット（Ｂａｓｅｂａｎｄ  ｃｈｉｐｓｅｔ）のようなモデム３５００と、メモリシステム３１００とを含む。
【０１２６】
メモリシステム３１００は、図１４のＳＳＤ１２００又は図１５に示したメモリシステム２０００と実質的に同様に構成される。
本発明によるコンピューティングシステム３０００がモバイル装置の場合は、コンピューティングシステム３０００の動作電圧を供給するためのバッテリ（図示しない）が追加で提供される。
図に示していないが、本発明によるコンピューティングシステム３０００には、アプリケーションチップセット（Ａｐｐｌｉｃａｔｉｏｎ  ｃｈｉｐｓｅｔ）、カメライメージプロセッサ（Ｃａｍｅｒａ  Ｉｍａｇｅ  Ｐｒｏｃｅｓｓｏｒ；ＣＩＳ）、モバイルＤＲＡＭなどがさらに提供できることは、この分野の通常の知識を習得した者に自明である。
【０１２７】
メモリシステム３１００は、例えば、データを格納するために不揮発性メモリを使用するＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ／Ｄｉｓｋ）で構成することができる。
又は、メモリシステム３１００は、フュージョンフラッシュメモリ（例えば、ＯｎｅＮＡＮＤフラッシュメモリ）で提供することができる。
【０１２８】
メモリコントローラ３１１０は、フリーブロックの数と入力されるデータの書き込みパターンによって適応的にデータブロックやログブロックのサイズを決める。
すなわち、メモリコントローラ３１１０はフリーブロックの数ががしきい値より少ない場合には、データの書き込みパターンに関係なく、サブブロックＳＢの単位でログブロックを割り当てる。
一方、フリーブロックの数がしきい値以上の場合には、メモリコントローラ３１１０は、書き込みパターンを考慮して、サブブロックＳＢ、又は物理ブロックＰＢの単位でログブロックやデータブロックを割り当てる。
さらに、メモリコントローラ３１１０は、バッドブロックの数と入力されるデータの書き込みパターンに基づいて適応的にデータブロックやログブロックのサイズを決めることができる。
【０１２９】
本発明による不揮発性メモリ装置及び／又はメモリコントローラは、多様な形態のパッケージを利用して実装することができる。
例えば、本発明によるラッシュメモリ装置及び／又はメモリコントローラは、ＰｏＰ（Ｐａｃｋａｇｅ  ｏｎ  Ｐａｃｋａｇｅ）、Ｂａｌｌ  ｇｒｉｄ  ａｒｒａｙｓ（ＢＧＡｓ）、Ｃｈｉｐ  ｓｃａｌｅ  ｐａｃｋａｇｅｓ（ＣＳＰｓ）、Ｐｌａｓｔｉｃ  Ｌｅａｄｅｄ  Ｃｈｉｐ  Ｃａｒｒｉｅｒ（ＰＬＣＣ）、Ｐｌａｓｔｉｃ  Ｄｕａｌ  Ｉｎ−Ｌｉｎｅ  Ｐａｃｋａｇｅ（ＰＤＩＰ）、Ｄｉｅ  ｉｎ  Ｗａｆｆｌｅ  Ｐａｃｋ、Ｄｉｅ  ｉｎ  Ｗａｆｅｒ  Ｆｏｒｍ、Ｃｈｉｐ  Ｏｎ  Ｂｏａｒｄ（ＣＯＢ）、Ｃｅｒａｍｉｃ  Ｄｕａｌ  Ｉｎ−Ｌｉｎｅ  Ｐａｃｋａｇｅ（ＣＥＲＤＩＰ）、Ｐｌａｓｔｉｃ  Ｍｅｔｒｉｃ  Ｑｕａｄ  Ｆｌａｔ  Ｐａｃｋ（ＭＱＦＰ）、Ｔｈｉｎ  Ｑｕａｄ  Ｆｌａｔｐａｃｋ（ＴＱＦＰ）、Ｓｍａｌｌ  Ｏｕｔｌｉｎｅ（ＳＯＩＣ）、Ｓｈｒｉｎｋ  Ｓｍａｌｌ  Ｏｕｔｌｉｎｅ  Ｐａｃｋａｇｅ（ＳＳＯＰ）、Ｔｈｉｎ  Ｓｍａｌｌ  Ｏｕｔｌｉｎｅ（ＴＳＯＰ）、Ｔｈｉｎ  Ｑｕａｄ  Ｆｌａｔｐａｃｋ（ＴＱＦＰ）、Ｓｙｓｔｅｍ  Ｉｎ  Ｐａｃｋａｇｅ（ＳＩＰ）、Ｍｕｌｔｉ  Ｃｈｉｐ  Ｐａｃｋａｇｅ（ＭＣＰ）、Ｗａｆｅｒ−ｌｅｖｅｌ  Ｆａｂｒｉｃａｔｅｄ  Ｐａｃｋａｇｅ（ＷＦＰ）、Ｗａｆｅｒ−Ｌｅｖｅｌ  Ｐｒｏｃｅｓｓｅｄ  Ｓｔａｃｋ  Ｐａｃｋａｇｅ（ＷＳＰ）などのようなパッケージを利用して実装することができる。
【０１３０】
尚、本発明は、上述の実施例に限られるものではない。本発明の技術的範囲から逸脱しない範囲内で多様に変更実施することが可能である。
【符号の説明】
【０１３１】
１０    アプリケーションソフトウェア
２０    ファイルシステム
３０、４２０    フラッシュ変換階層（ＦＴＬ）
４０、１２０、４３０、１２３０    不揮発性メモリ装置（ＮＶＭ）
１１０    メモリコントローラ
１１１    基板
１１２    絶縁物質
１１３    ピラー
１１４    表面層
１１５    内部層
１１６    絶縁膜
１２１    メモリセルアレイ
１２２    行デコーダ
１２３    ページバッファ
１２４    制御ロジック
２１１〜２９１、２１３〜２９３    第１導電物質
３１１、３１２、３１３、３１４    （第１〜第４）ドーピング領域
３２０    ドレイン
３３１、３３２、３３３    第２導電物質
３６０    データブロック
３７０    ログブロック
３８０    フリーブロックプール
４１０    ファイルシステム
４２１    マッピングテーブル
４２２    書き込みパターン分析器
４２３    フリーブロックマネージャ
４２４    マージマネージャ
４３１    メタ領域
４３２    データ領域
１０００    ユーザ装置
１１００、２１００    ホスト
１２００    ＳＳＤ
１２１０    ＳＳＤコントローラ
１２２０    バッファメモリ
２０００    メモリカードシステム
２１１０    ホストコントローラ
２１２０    ホスト接続ユニット
２２００    メモリカード
２２３０    フラッシュメモリ
２２１０    カード接続ユニット
２２２０    カードコントローラ
２２３０    フラッシュメモリ
３０００    コンピューティングシステム
３１００    メモリシステム
３１１０    メモリコントローラ
３１２０    フラッシュメモリ装置
３２００    中央処理装置
３３００    ＲＡＭ
３４００    ユーザインターフェース
３５００    モデム
３６００    システムバス
【図１】
2013250982.tif 000003
【図２】
2013250982.tif 000004
【図３】
2013250982.tif 000005
【図４】
2013250982.tif 000006
【図５】
2013250982.tif 000007
【図６】
2013250982.tif 000008
【図７】
2013250982.tif 000009
【図８】
2013250982.tif 000010
【図９】
2013250982.tif 000011
【図１０】
2013250982.tif 000012
【図１１】
2013250982.tif 000013
【図１２】
2013250982.tif 000014
【図１３】
2013250982.tif 000015
【図１４】
2013250982.tif 000016
【図１５】
2013250982.tif 000017
【図１６】
2013250982.tif 000018