(57)【要約】【課題】マージ動作の効率を高くして高速のデータ書込み動作を可能とし、長い寿命を有するデータ格納装置、使用者装置及びその住所マッピング方法が提供される。【解決手段】本発明による混合マッピング方式を使用する格納装置の住所マッピング方法は、バッファーメモリーに格納された書込みデータが少なくとも１つのスーパー連続ブロックを構成するか否かを判断する段階、及び前記判断結果にしたがって前記書込みデータに対する住所マッピングモードを決定する段階を含み、前記書込みデータの中で前記スーパー連続ブロックを構成する部分はブロックマッピングモードにしたがって論理住所を物理住所にマッピングする。【選択図】図１
2012108912.tif 000002
【特許請求の範囲】
【請求項１】
混合マッピング方式を使用するデータ格納装置の住所マッピング方法において、
書込みデータに少なくとも１つのスーパー連続ブロックＳＳＢを含むか否かを判断する段階と、
もし、前記書込みデータが少なくとも１つのスーパー連続ブロックＳＳＢを含む場合、前記書込みデータの中で前記スーパー連続ブロックを構成する部分をブロックマッピングモードにしたがって論理住所を物理住所にマッピングし、前記スーパー連続ブロックを構成しない部分はページマッピングモードにしたがって論理住所を物理住所にマッピングする段階と、
を含む住所マッピング方法。
【請求項２】
前記書込みデータは連続書込みパターンに入力される請求項１に記載の住所マッピング方法。
【請求項３】
前記少なくとも１つのスーパー連続ブロックＳＳＢに含まれる書込みデータは前記スーパー連続ブロックＳＳＢを定義する基準サイズと同一であるか、或いはその大きいサイズを有する請求項２に記載の住所マッピング方法。
【請求項４】
前記少なくとも１つのスーパー連続ブロックＳＳＢを複数のメモリー装置に含まれる複数のメモリーブロックに分散して記入する段階をさらに含む請求項１に記載の住所マッピング方法。
【請求項５】
前記少なくとも１つのスーパー連続ブロックＳＳＢを記入する段階はインタリービング動作によって遂行される請求項４に記載の住所マッピング方法。
【請求項６】
前記書込みデータが非連続データを含むか否かを検出する段階をさらに含み、前記書込みデータが非連続データを含む場合には前記非連続データをページマッピングモードにしたがって論理住所を物理住所にマッピングする請求項１に記載の住所マッピング方法。
【請求項７】
前記書込みデータが前記少なくとも１つのスーパー連続ブロックＳＳＢを含むか否かを検出する前に、前記書込みデータをバッファーメモリーに格納する段階をさらに含む請求項１に記載の住所マッピング方法。
【請求項８】
ホストと混合マッピング方式を使用するデータ格納装置とを含むシステムの住所マッピング方法において、
前記ホストから前記データ格納装置に書込みデータと論理住所を含む書込み命令とを伝達する段階と、
前記書込みデータが少なくとも１つのスーパー連続ブロックＳＳＢを含むか否かを検出する段階と、
前記書込みデータの中で前記スーパー連続ブロックＳＳＢを構成する第１部分の論理住所を物理住所にマッピングするためにブロックマッピングモードを選択する段階と、
前記書込みデータの中で前記スーパー連続ブロックＳＳＢから排除された第２部分の論理住所を物理住所にマッピングするためにページマッピングモードを選択する段階と、
を含む住所マッピング方法。
【請求項９】
前記書込みデータが少なくとも１つのスーパー連続ブロックＳＳＢを含むか否かを検出する段階、前記ブロックマッピングモードを選択する段階、及び前記ページマッピングモードを選択する段階は前記ホストで遂行される請求項８に記載の住所マッピング方法。
【請求項１０】
前記書込み命令は前記混合マッピング方式を使用するデータ格納装置の制御動作を指示する住所マッピングモードをさらに含む請求項８に記載の住所マッピング方法。
【請求項１１】
外部から論理住所と共に提供される書込みデータを一時的に格納するバッファーメモリーと、
前記書込みデータがプログラムされる不揮発性メモリー装置と、
前記書込みデータに対応する論理アドレスを前記不揮発性メモリー装置の物理アドレスにマッピングするメモリーコントローラーと、を含み、
前記メモリーコントローラーは前記書込みデータの中でスーパー連続ブロックＳＳＢを構成する第１部分の論理住所を物理住所にマッピングするためにブロックマッピングモードを選択するように、及び前記書込みデータの中で前記スーパー連続ブロックＳＳＢから排除された第２部分の論理住所を物理住所にマッピングするためのページマッピングモードを選択するように設定されるデータ格納装置。
【請求項１２】
前記メモリーコントローラーは前記書込みデータを不揮発性メモリー装置に含まれる複数のメモリーブロックに分散してプログラムする請求項１１に記載のデータ格納装置。
【請求項１３】
外部とのインターフェイシングを提供し、前記バッファーメモリーの入出力を制御するホストインターフェイス階層と、
前記バッファーメモリーに格納された書込みデータの論理住所を前記不揮発性メモリー装置の物理住所にマッピングするフラッシュ変換階層と、
前記マッピングされた物理住所に前記書込みデータを分散してプログラムするフラッシュインターフェイス階層と、
を含むソフトウェア構造を有する請求項１１に記載のデータ格納装置。
【請求項１４】
前記ホストインターフェイス階層は、前記バッファーメモリーに格納される書込みデータが少なくとも１つのスーパー連続ブロックＳＳＢを構成するか否かにしたがって住所マッピング方式を決定するバッファー管理モジュールを含む請求項１３に記載のデータ格納装置。
【請求項１５】
前記ホストインターフェイス階層は、外部から提供される前記論理アドレスを参照して前記書込みデータが少なくとも１つのスーパー連続ブロックを構成するか否かを検出するスーパー連続ブロックＳＳＢ決定モジュールを含む請求項１３に記載のデータ格納装置。
【請求項１６】
前記スーパー連続ブロックＳＳＢ決定モジュールは前記書込みデータが少なくとも１つのスーパー連続ブロックＳＳＢを構成すれば、前記少なくとも１つのスーパー連続ブロックＳＳＢに対応するデータをブロックマッピング方式にしたがって住所マッピングが行われるように前記フラッシュ変換階層を制御する請求項１２に記載のデータ格納装置。
【請求項１７】
前記記フラッシュ変換階層は前記少なくとも１つのスーパー連続ブロックＳＳＢに対応するデータを前記不揮発性メモリー装置に記入する時、交換マージ方式に管理する請求項１６に記載のデータ格納装置。
【請求項１８】
使用者装置において、
書込みデータを前記不揮発性メモリーにプログラムするための論理アドレスと住所マッピングモードを生成するホストと、
前記住所マッピングモードを参照して複数のマッピング方式の中でいずれか１つを選択し、選択された住所マッピング方式にしたがって前記論理アドレスを前記不揮発性メモリー装置の物理アドレスにマッピングするデータ格納装置と、
を含む使用者装置。
【請求項１９】
前記複数のマッピング方式にはブロックマッピング方式とページマッピング方式とが含まれる請求項１８に記載の使用者装置。
【請求項２０】
前記ホストは前記書込みデータが少なくとも１つのスーパー連続ブロックＳＳＢを構成する場合には前記ブロックマッピング方式にしたがって前記論理アドレスを前記物理アドレスにマッピングする請求項１９に記載の使用者装置。
【請求項２１】
前記スーパー連続ブロックＳＳＢは前記不揮発性メモリー装置に含まれる複数のメモリーブロックに対応する請求項２０に記載の使用者装置。
【請求項２２】
前記複数のメモリーブロック各々に前記書込みデータが分散されてプログラムされるように前記論理アドレスが前記物理アドレスにマッピングされる請求項２１に記載の使用者装置。
【請求項２３】
前記ホストは、
生成された前記書込みデータを一時的に格納するためのワーキングメモリーと、
前記書込みデータのサイズ又は前記論理アドレスを参照して前記書込みデータの住所マッピングモードを決定する装置ドライバーと、
を含む請求項１８に記載の使用者装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は半導体メモリー装置に関し、より詳細にはマージ動作の効率を高くすることができる住所マッピングを遂行するデータ格納装置、使用者装置及びそれの住所マッピング方法に関する。
【背景技術】
【０００２】
半導体メモリー装置（Ｓｅｍｉｃｏｎｄｕｃｔｏｒ  Ｍｅｍｏｒｙ  Ｄｅｖｉｃｅ）は大きく揮発性メモリー装置（Ｖｏｌａｔｉｌｅ  Ｍｅｍｏｒｙ  Ｄｅｖｉｃｅ）と不揮発性メモリー装置（Ｎｏｎ−ｖｏｌａｔｉｌｅ  Ｍｅｍｏｒｙ  Ｄｅｖｉｃｅ）とに区分される。揮発性メモリー装置は読出しや書込み速度が速いが、外部電源供給が切れれば、格納された内容が消えてしまう短所がある。反面に不揮発性メモリー装置は外部電源供給が切れてもその内容を保持する。したがって、不揮発性メモリー装置は電源が供給されたか否かに関係なく保持されなければならない内容を保持させるのに使われる。特に、不揮発性メモリーの中でフラッシュメモリー（Ｆｌａｓｈ  ｍｅｍｏｒｙ）は既存のＥＥＰＲＯＭに比べて集積度が高いので、大容量補助記憶装置としての応用に非常に有利である。
【０００３】
フラッシュメモリーは消去と書込み動作の単位が一致しない。そのため、フラッシュ変換階層（ＦＴＬ：Ｆｌａｓｈ  Ｔｒａｎｓｌａｔｉｏｎ  Ｌａｙｅｒ）というソフトウェアがこのような短所を克服するために使用される。フラッシュ変換階層（ＦＴＬ）の主な機能の中で住所マッピング（Ａｄｄｒｅｓｓ  Ｍａｐｐｉｎｇ）機能がある。フラッシュ変換階層（ＦＴＬ）はホストから論理住所（ＬＡ：Ｌｏｇｉｃａｌ  Ａｄｄｒｅｓｓ）を受信し、これを物理住所（ＰＡ：Ｐｈｙｓｉｃａｌ  Ａｄｄｒｅｓｓ）に変換する。ここで、物理住所ＰＡは実際フラッシュメモリーで使用する住所である。
【０００４】
典型的な住所マッピング方法としては、ページマッピング（Ｐａｇｅ  Ｍａｐｐｉｎｇ）、ブロックマッピング方法（Ｂｌｏｃｋ  Ｍａｐｐｉｎｇ）、及び混合マッピング（Ｈｙｂｒｉｄ  Ｍａｐｐｉｎｇ）等がある。ページマッピングテーブルは、ページマッピングのために使用される。ページマッピングテーブルはページ単位にマッピング動作を遂行するためのものであり、論理ページアドレス及びこれに対応する物理ページアドレスを格納する。ブロックマッピングテーブルは、ブロックマッピングのために使用される。ブロックマッピングテーブルはブロック単位にマッピング動作を遂行するためのものであり、論理ブロックアドレス及びこれに対応する物理ブロックアドレスを格納する。混合マッピング方法はページマッピングとブロックマッピングを併用する住所マッピング方法である。
【０００５】
一般的に１つのメモリーブロックは数十又は数百個のページで構成される。したがって、ページマッピング方法を使用する場合には、マッピングテーブルの大きさはブロックマッピング方法を使用する時より数十倍又は数百倍増加される。即ち、ページマッピング方法はマッピングテーブルを使用するのに多量のメモリー空間を必要とする短所を有する。
【０００６】
反面、ブロックマッピング方法はブロック単位にマッピング動作を遂行するので、ページマッピング方法に比べてマッピングテーブルの大きさを減らすことができる長所を有する。しかし、ブロックマッピング方法によれば、ブロック内でページの位置が固定されているので、多くのマージ演算を遂行しなければならない短所を有する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】米国特許第７，１８８，２２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本発明の目的は混合マッピング方式を適用する時、マージ動作の効率を高めることができる住所マッピングを遂行するデータ格納装置、使用者装置及びその住所マッピング方法を提供することにある。
【課題を解決するための手段】
【０００９】
本発明の実施形態による混合マッピング方式を使用する格納装置の住所マッピング方法は、バッファーメモリーに格納された書込みデータが少なくとも１つのスーパー連続ブロックを構成するか否かを判断する段階、及び前記判断結果にしたがって前記書込みデータに対する住所マッピングモードを決定する段階を含み、前記書込みデータの中で前記スーパー連続ブロックを構成する部分はブロックマッピングモードにしたがって論理住所を物理住所にマッピングする。
【００１０】
本発明の実施形態によるデータ格納装置は、外部から提供される書込みデータを一時的に格納するバッファーメモリー、前記書込みデータがプログラムされる不揮発性メモリー装置、及び前記書込みデータに対応する論理アドレスを前記不揮発性メモリー装置の物理アドレスにマッピングするメモリーコントローラーを含み、前記メモリーコントローラーは前記バッファーメモリーに格納されるデータが少なくとも１つのスーパー連続ブロックを構成するか否かにしたがってブロックマッピングモード又はページマッピングモードの中でいずれか１つを住所マッピング方式に適用する。
【００１１】
本発明の他の実施形態による格納媒体として不揮発性メモリー装置を含む使用者装置は、書込みデータを前記不揮発性メモリーにプログラムするための論理アドレスと住所マッピングモードとを生成するホスト、及び前記住所マッピングモードを参照して複数のマッピング方式の中でいずれか１つを選択し、選択された住所マッピング方式にしたがって前記論理アドレスを前記不揮発性メモリー装置の物理アドレスにマッピングするデータ格納装置を含む。
【発明の効果】
【００１２】
本発明によれば、マージ動作の効率を高くして高速のデータ書込み動作が可能となり、長い寿命を有するデータ格納装置及び使用者装置を具現することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施形態によるソフトウェア階層を示す図面である。
【図２】本発明の第１実施形態によるデータ格納装置を示すブロック図である。
【図３】図２のメモリーコントローラーのソフトウェア階層構造を示すブロック図である。
【図４】図２のメモリーコントローラーと不揮発性メモリー装置の連結関係を例示的に示すブロック図である。
【図５】本発明のデータインタリービングを例示的に示す図面である。
【図６】本発明の論理アドレスとスーパー連続ブロックの関係を示す図面である。
【図７】バッファー階層の住所マッピングモード（ＡＭ＿ｍｏｄｅ）決定の過程を簡略に示すブロック図である。
【図８】連続データの論理アドレスとスーパー連続ブロックとの構成関係を例示的に示す表である。
【図９】本発明の実施形態による住所マッピングを簡略に示すタイミング図である。
【図１０】本発明の実施形態による住所マッピングを簡略に示すタイミング図である。
【図１１】本発明の第１実施形態による住所マッピング方法を示す順序図である。
【図１２】本発明の第２実施形態による使用者装置を簡略に示すブロック図である。
【図１３】図１２のホストで格納装置へ伝達される書込み要請の構成を簡略に示す図面である。
【図１４】図１２の使用者装置のソフトウェア階層構造を示すブロック図である。
【図１５】本発明の第２実施形態による住所マッピング方法を示す順序図である。
【図１６】本発明の実施形態によるソリッドステートディスクＳＳＤシステムを示すブロック図である。
【図１７】本発明によるメモリーシステムを示すブロック図である。
【図１８】本発明の実施形態によるコンピューティングシステムを示すブロック図である。
【発明を実施するための形態】
【００１４】
先の一般的な説明及び次の詳細な説明は全て例示的に開示されていることが理解されなければならず、請求された発明の付加的な説明が提供されることとして思慮されなければならない。参照符号が本発明の望ましい実施形態に詳細に表示され、その例が参照図面に示されている。同一の参照番号が同一又は類似部分を参照するために説明及び図面に使用される。
【００１５】
以下では、本発明の特徴及び機能を説明するための不揮発性格納媒体としてフラッシュメモリー装置を一例として使用する。しかし、この技術分野に熟練した者はここに記載された内容によって本発明の他の長所及び性能を容易に理解できる。また、格納媒体としてその他の不揮発性メモリー装置で構成され得る。例えば、格納媒体としてＰＲＡＭ、ＭＲＡＭ、ＲｅＲＡＭ、ＦＲＡＭ（登録商標）、ＮＯＲフラッシュメモリー等が使用でき、異種のメモリー装置が混用されるメモリーシステムにも適用され得る。
【００１６】
本発明は他の実施形態を通じて具現されるか、或いは適用され得ることである。その上に、詳細な説明は本発明の範囲、技術的思想、及び他の目的からかなり逸脱することなく観点及び応用にしたがって修正されるか、或いは変更できる。以下、本発明による実施形態を、添付された図面を参照して詳細に説明する。
【００１７】
ＮＡＮＤフラッシュメモリーのような不揮発性メモリー装置を使用する格納装置では大容量データ（例えば、メディアデータ）の書込み性能が重要である。しかし、メタデータ（Ｍｅｔａ  ｄａｔａ）のように頻繁にアップデートされるデータの書込み性能も重要である。頻繁にアップデートされるデータはランダム書込みパターンに該当する。したがって、データの属性にしたがってブロックマッピング方式、又はページマッピング方式を選択的に使用する混合マッピング方式の住所マッピングが使用される。
【００１８】
混合マッピング方式を使用する格納装置で、書込み性能の核心はマッピングモードの決定方法にある。入力されるデータのパターンにしたがってページマッピングモードやブロックマッピングモードを適切に決定すれば、書込み性能を最大化できる。なぜならば、書込み性能はマージ方法とマージ回数にしたがって決定されるためである。書込みデータに対する適切な住所マッピングモードの選択はマージ回数の減少や実質的なページ複写回数の減少を可能にする。
【００１９】
図１は本発明の実施形態による使用者装置のソフトウェアの階層構造を示す図面である。図１を参照すれば、本発明による使用者装置のソフトウェアはアプリケーション１０、ファイルシステム２０、バッファー階層３０、フラッシュ変換階層４０及び不揮発性メモリー５０で表現できる。
【００２０】
オペレーティングシステム（ＯＳ）階層は最上位のアプリケーション１０とファイルシステム２０とに分けられる。ファイルシステム２０は資料を階層的に格納、探索、接近、操作するための抽象的資料構造の集合で定義される。
【００２１】
バッファー階層３０はファイルシステム２０からの要請によってバッファーメモリーに格納されたデータを管理する。例えば、バッファー階層３０は使用者装置のホスト側に具備されるＲＡＭのようなワーキングメモリー（Ｗｏｒｋｉｎｇ  ｍｅｍｏｒｙ）に格納されるデータを管理する。又は、バッファー階層３０はデータ格納装置に具備されるバッファーメモリーに格納されるデータを管理する。特に、本発明のバッファー階層３０はワーキングメモリー又はバッファーメモリーに格納されるデータのサイズ及び連続性を参照して住所マッピングモード（ＡＭ＿ｍｏｄｅ）を決定することができる。即ち、混合マッピング方式の住所マッピングを遂行するデータ格納装置のマッピングモードをバッファー階層３０が制御できる。バッファー階層３０で決定されたマッピングモードによって、ページの複写が頻繁に発生するコピーマージの回数を減らし得る。
【００２２】
フラッシュ変換階層（ＦＴＬ）４０はファイルシステム２０及びバッファー階層３０と不揮発性メモリー装置５０との間で不揮発性メモリー装置５０の削除演算を隠すためのインターフェイシングを提供する。フラッシュ変換階層４０によって書込みー前ー消去（Ｅｒａｓｅ−ｂｅｆｏｒｅ−Ｗｒｉｔｅ）及び消去単位と書込み単位との不一致という不揮発性メモリー装置５０の短所が補完され得る。また、フラッシュ変換階層４０は不揮発性メモリー装置５０の記入動作のとき、ファイルシステムが生成する論理住所ＬＡを不揮発性メモリー装置５０の物理住所ＰＡにマッピング（Ｍａｐｐｉｎｇ）させる。特に、フラッシュ変換階層４０はバッファー階層３０から提供される住所マッピングモード（ＡＭ＿ｍｏｄｅ）を参照して対応するデータに対する住所マッピングを実施する。
【００２３】
以上で説明された使用者装置のソフトウェアの階層構造によれば、バッファー階層３０はバッファーリングデータのパターンを検出する。そして、検出されたバッファーリングデータのパターンによって、フラッシュ変換階層４０が遂行する住所マッピングモードを決定する。混合マッピング方式でこのようなマッピングモードの選択によってデータのマージに所要される費用を最小化できる。ここで、バッファー階層３０は使用者装置のホスト側で駆動されるか、又は、格納装置のインターフェイスで駆動され得る。
【００２４】
図２は本発明の実施形態による使用者装置を示すブロック図である。図２を参照すれば、本発明による使用者装置１００はホスト１１０と格納装置１２０とを含む。格納装置１２０はメモリーコントローラー１２２、不揮発性メモリー装置１２４及びバッファーメモリー１２６を含む。
【００２５】
ホスト１１０は書込み要請が発生すれば、書込みデータ（Ｄａｔａ）と論理アドレス（Ｌｏｇｉｃａｌ  Ａｄｄｒｅｓｓ：ＬＡ）とを格納装置１２０へ伝達する。個人用コンピューターや、ノートブック型コンピューターのような使用者装置１００で論理アドレスＬＡはセクター（Ｓｅｃｔｏｒ）単位に提供される。即ち、書込み要請のとき、ホスト１１０はデータの記入のための開始アドレスＬＢＡとセクターの数ｎＳＣとを格納装置１２０へ提供する。
【００２６】
格納装置１２０はホスト１１０からの書込みデータをバッファーメモリー１２６へバッファリングする。そして、格納装置１２０はバッファリングされた書込みデータを不揮発性メモリー装置１２４にプログラムする。
【００２７】
メモリーコントローラー１２２はホスト１１０と不揮発性メモリー装置１２４とをインターフェイシングする。メモリーコントローラー１２２はホスト１１０の書込み命令に応答してホスト１１０から提供されるデータを不揮発性メモリー装置１２４に記入するために不揮発性メモリー装置１２４を制御する。また、メモリーコントローラー１２２はホスト１１０からの読出し命令に応答して不揮発性メモリー装置１２４の読出し動作を制御する。
【００２８】
特に、メモリーコントローラー１２２はホスト１１０から提供される書込みデータをバッファーメモリー１２６に格納する。メモリーコントローラー１２２はバッファーメモリー１２６に格納されるデータのパターンにしたがって書込みデータのマッピングモードを決定する。メモリーコントローラー１２２は特定単位と同一であるか、或いは大きい書込みデータが連続的にバッファーメモリー１２６に格納されれば、バッファリングされたデータに対する住所マッピング方式にブロックマッピングモードを選択する。反面、メモリーコントローラー１２２は特定単位より小さい書込みデータがバッファーメモリー１２６に格納されれば、バッファリングされたデータに対する住所マッピング方式にページマッピングモードを選択する。
【００２９】
不揮発性メモリー装置１２４はメモリーコントローラー１００の制御にしたがって、消去動作、読出し動作又は書込み動作を遂行する。不揮発性メモリー装置１２４は複数のメモリーブロックで構成される。各々のメモリーブロックは複数のページ（ｐａｇｅ）で構成される。複数の不揮発性メモリーが少なくとも２つのチャンネルを通じて連結される場合、パフォーマンスを向上させるために不揮発性メモリー装置１２４はメモリーインタリービング方式にしたがって制御される。
【００３０】
１つのチャンネルには複数のメモリー装置が連結され、これらメモリー装置は各々同一のデータバスに連結される。格納媒体としてメモリー装置がＮＡＮＤフラッシュメモリーを例として説明されたが、その他の不揮発性メモリー装置で構成され得る。例えば、格納媒体としてＰＲＡＭ、ＭＲＡＭ、ＲｅＲＡＭ、ＦＲＡＭ（登録商標）、ＮＯＲフラッシュメモリー等が使用でき、異種のメモリー装置が併用されるメモリーシステムも適用され得る。そして、格納媒体として揮発性メモリー装置（例えば、ＤＲＡＭ）が包含され得る。
【００３１】
バッファーメモリー１２６にはホスト１１０から提供される書込みデータ又は不揮発性メモリーから読み出されたデータが一時的に格納される。ホスト１１０の読出し要請の時に不揮発性メモリー装置１２４に存在するデータがキャッシュされている場合には、バッファーメモリー１２６はキャッシュされたデータを直接ホスト１１０へ提供するキャッシュ機能を支援できる。この時、不揮発性メモリー装置１２４へのアクセスは発生しない。一般的に、ホスト１１０のバスフォーマット、例えば、ＳＡＴＡ又はＳＡＳによるデータ伝送速度は格納装置１２０のメモリーチャンネルの伝送速度より著しく速い。即ち、ホスト１１０のインターフェイス速度が著しく高い場合、大容量のバッファーメモリー１２６を提供することによって、速度差異により発生するパフォーマンスの低下を最小化できる。
【００３２】
バッファーメモリー１２６は大容量の補助記憶装置として使用されるＳＳＤのような格納装置１２０で充分なバッファーリングを提供するために同期式ＤＲＡＭ（Ｓｙｎｃｈｒｏｎｏｕｓ  ＤＲＡＭ）で提供され得る。しかし、バッファーメモリー１２６がこの開示に制限されないことはこの分野の通常の知識を有する者に明確である。
【００３３】
以上の説明によれば、本発明の格納装置１２０はバッファーメモリー１２６に格納されるデータのバッファーリングパターンや大きさにしたがって住所マッピングモードを決定する。連続的に入力されるデータが基準容量単位を充足すれば、基準容量に該当されるデータは全てブロックマッピングテーブルで管理される。もし、連続的であっても基準容量を超えないデータはページマッピングテーブルで管理される。勿論、ランダムに入力されるデータはページマッピングテーブルで管理される。
【００３４】
このような住所マッピング方式を使用すれば、ページ複写が頻繁なマージ動作の回数を減らし得る。したがって、マージ動作の性能にメモリーシステムが大きく影響を受ける場合には、高速のデータ書込みが可能である。そして、本発明の実施形態による使用者装置によれば、格納装置１２０の寿命短縮及び性能低下を防止することができる。
【００３５】
特に、最近活発に開発されるソリッドステートディスク（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｉｓｋ：以下、ＳＳＤ）のようなメモリーシステムで本発明の技術的特徴が採用できる。この場合、メモリーコントローラー１２２はＵＳＢ、ＭＭＣ、ＰＣＩ−Ｅ、ＳＡＴＡ、ＰＡＴＡ、ＳＣＳＩ、ＥＳＤＩ、及びＩＤＥ等のような多様なインターフェイスプロトコルの中で１つを通じて外部（例えば、ホスト）と通信するように構成される。
【００３６】
図３は図２の格納装置を駆動するためのソフトウェアの階層構造をより具体的に示す図面である。図３を参照すれば、本発明のメモリーコントローラー１２２（図２参照）で駆動されるソフトウェア階層２００はホストインターフェイス階層２１１、フラッシュ変換階層２１３及びフラッシュインターフェイス階層２１４を含む。
【００３７】
ホストインターフェイス階層（ＨＩＬ）２１１はホスト１１０と格納装置１２０との間のインターフェイシングを提供する。ホストインターフェイス階層（ＨＩＬ）２１１はホスト１１０（図２参照）とのインターフェイシングと格納装置１２０（図２参照）の内部キャッシュ機能を担当する。ホストインターフェイス階層２１１はホスト１１０から提供される読出し又は書込みのような要請（Ｒｅｑｕｅｓｔ）をデコーディングする。
【００３８】
そして、ホストインターフェイス階層２１１はホスト１１０へ伝送されるデータに対するキャッシュ機能を提供する。即ち、バッファーメモリー１２６（図２参照）に現在存在するデータと読出し要請されたデータがマッチングされる場合、ホストインターフェイス階層２１１は不揮発性メモリー装置１２４へのアクセス無しでバッファーメモリー１２６に格納されたデータをホスト１１０へ伝達する。このような機能は、ホストインターフェイス階層２１１に含まれるバッファー管理モジュール２１２で遂行する。
【００３９】
バッファー管理モジュール２１２はまた、バッファーメモリー１２６に格納されるデータのパターンをモニターリングする。モニターリングの結果にしたがって、バッファー管理モジュール２１２は該当データの住所マッピングモードを決定できる。バッファー管理モジュール２１２は連続的に入力されるデータが特定データ単位を構成すれば、特定データ単位に該当されるデータに対してはブロックマッピングテーブルで管理するようにフラッシュ変換階層２１３に住所マッピングモード（ＡＭ＿ｍｏｄｅ）を伝達する。そして、バッファー管理モジュール２１２は特定データ単位を構成しない連続データや、ランダム書込みパターンでバッファーメモリー１２６に格納されるデータに対してはページマッピングテーブルで管理するようにフラッシュ変換階層２１３へマッピングモード（ＡＭ＿ｍｏｄｅ）を伝達する。
【００４０】
フラッシュ変換階層（ＦＴＬ）２１３は住所マッピングモード（ＡＭ＿ｍｏｄｅ）に対応する住所マッピング方式にしたがって論理アドレスＬＡを不揮発性メモリー装置１２４の物理アドレスにマッピングする。もし、住所マッピングモード（ＡＭ＿ｍｏｄｅ）がブロックマッピングモードを指示すれば、フラッシュ変換階層２１３は書込み要請されたデータの論理住所ＬＡをブロックマッピング方式にしたがって物理住所ＰＡに変換する。もし、住所マッピングモード（ＡＭ＿ｍｏｄｅ）がページマッピングモードを指示すれば、フラッシュ変換階層２１３は書込み要請されたデータの論理住所ＬＡをページマッピング方式にしたがって物理住所ＰＡに変換する。
【００４１】
その他に、フラッシュ変換階層２１３はホスト１１０のファイルシステム（Ｆｉｌｅ  ｓｙｓｔｅｍ）の読出し／書込み要請に応答してウェアレベリング（ｗｅａｒ−ｌｅｖｅｌｉｎｇ）、及びガーベッジコレクション（ｇａｒｂａｇｅ  ｃｏｌｌｅｃｔｉｏｎ）を遂行できる。ウェアレベルリング動作は不揮発性メモリー装置１２４のメモリーブロックの消去カウント（Ｅｒａｓｅ  ｃｏｕｎｔ）を参照して使用回数を平均化する動作である。ガーベッジコレクション動作は不揮発性メモリー装置１２４の各ブロックに散在している有効データを集めて１つのブロックに満たす動作である。
【００４２】
フラッシュインターフェイス階層（ＦＩＬ）２１４はメモリーコントローラー１２２と不揮発性メモリー装置１２４とのインターフェイシング動作のためのローレベル（Ｌｏｗ  ｌｅｖｅｌ）動作を実行する。例えば、不揮発性メモリー装置１２４のハードウェアを制御するためのローレベルドライバーＬＬＤ、不揮発性メモリー装置１２４から読出されたデータのエラーを訂正するためのエラー訂正コード（Ｅｒｒｏｒ  ｃｏｒｒｅｃｔｉｏｎ  ｃｏｄｅ：ＥＣＣ）及び不正ブロック管理モジュール（Ｂａｄ  Ｂｌｏｃｋ  Ｍａｎａｇｅｍｅｎｔ：ＢＢＭ）等がフラッシュインターフェイス階層２１４に包含される。即ち、フラッシュ変換階層２１３の制御にしたがってフラッシュインターフェイス階層２１４はメモリーコントローラー１２２と不揮発性メモリー装置１２４との間のデータ交換を担当する。特に、複数のチャンネル又はウェイを通じてメモリーインタリービングを使用する場合、フラッシュインターフェイス階層２１４はインタリービングのためのチャンネル及びウェイの制御動作を実行する。
【００４３】
上述したバッファー管理モジュール２１２の機能にしたがって、格納装置１２０はバッファーメモリー１２６に格納されるデータの連続性及び大きさを参照してマッピングモードを決定できる。連続的なデータが特定データ単位を構成する場合、特定データ単位はブロックマッピング方式に管理される。連続的であっても、特定データ単位を構成しない場合、ランダムパターンにバッファーリングされるデータはページマッピング方式に管理される。したがって、ブロックマッピング方式に管理されるデータは以後交換マージ（Ｓｗａｐ  ｍｅｒｇｅ）方式によって管理される。したがって、マージ動作のとき、ページ複写の回数が減り、マージ速度を高くすることができ、不揮発性メモリー装置１２４の寿命延長を期待できる。
【００４４】
図４は上述した図２のメモリーコントローラー１２２と不揮発性メモリー装置との連結関係を例示的に示すブロック図である。図４を参照すれば、メモリーコントローラー１２２は複数のチャンネルＣＨ０、ＣＨ１を通じて不揮発性メモリー装置ＮＶＭ＿００、ＮＶＭ＿０１、ＮＶＭ＿１０、ＮＶＭ＿１１と連結される。ここで、チャンネルの数又は各チャンネルに連結される不揮発性メモリー装置の数は多様に変更され得ることはよく理解できる。但し、説明を簡単にするために２個チャンネルと、チャンネル当り２つの不揮発性メモリー装置が連結されることと仮定する。
【００４５】
チャンネルＣＨ０には不揮発性メモリー装置ＮＶＭ＿００、ＮＶＭ＿０１各々の入出力ポート（例えば、８ビットＩ／Ｏポート）が連結される。チャンネルＣＨ１には不揮発性メモリー装置ＮＶＭ＿１０、ＮＶＭ＿１１各々の入出力ポート（例えば、８ビットＩ／Ｏポート）が連結される。メモリーコントローラー１２２はバッファーメモリー１２６（図２参照）に格納された書込みデータを不揮発性メモリー装置ＮＶＭ＿００、ＮＶＭ＿０１、ＮＶＭ＿１０、ＮＶＭ＿１１に格納する。この時、書込みデータは不揮発性メモリー装置ＮＶＭ＿００、ＮＶＭ＿０１、ＮＶＭ＿１０、ＮＶＭ＿１１各々に分散されて格納される。このようなデータ管理方式をデータインタリービング（Ｄａｔａ  ｉｎｔｅｒｌｅａｖｉｎｇ）と称する。書込みデータに対するデータインタリービング動作はフラッシュインターフェイス階層２１４（図３参照）で担う。
【００４６】
データインタリービングのために、不揮発性メモリー装置はチャンネルとウェイ（Ｗａｙ、又はバンク）単位に管理される。各チャンネルに連結される不揮発性メモリー装置の並列化を最大化するために、メモリーコントローラー１２２は連続的な論理的メモリー領域をチャンネルとウェイとに分散して割当する。連続的に書込みデータが入力されればウェイ０  １２４ａのチャンネルＣＨ０、ＣＨ１を通じてページデータは不揮発性メモリー装置ＮＶＭ＿００、ＮＶＭ＿１０に順次的に記入される。そして、ウェイ０  １２４ａに対する１回の書込み動作が完了されれば、ウェイ１  １２４ｂのチャンネルＣＨ０、ＣＨ１を通じてページデータは不揮発性メモリー装置ＮＶＭ＿０１、ＮＶＭ＿１１に順次的に記入される。
【００４７】
例えば、４個ページ大きさのデータが連続的に入力されれば、第１番目ページはウェイ０  １２４ａのチャンネル０  ＣＨ０に連結された不揮発性メモリー装置ＮＶＭ＿００に記入される。そして、第１番目ページに対するプログラムが終了される以前に、第２番目ページはウェイ０  １２４ａのチャンネル１  ＣＨ１に連結された不揮発性メモリー装置ＮＶＭ＿１０にプログラムされる。第３番目ページはウェイ１  １２４ｂのチャンネル０  ＣＨ０に連結された不揮発性メモリー装置ＮＶＭ＿０１に記入される。そして、第３番目ページに対するプログラムが終了される以前に、４番目ページはウェイ１  １２４ｂのチャンネル１  ＣＨ１に連結された不揮発性メモリー装置ＮＶＭ＿１１にプログラムされる。
【００４８】
ここで、２チャンネル／２ウェイ構造でのデータインタリービングを説明したが、インタリービングの効率はチャンネル数が多いほど、そしてウェイ（Ｗａｙ）の数が多いほど、効率的である。
【００４９】
図５は本発明の実施形態によるデータインタリービングの例を簡略に示す図面である。図５を参照すれば、データインタリービングのために１つのデータ単位が定義される。連続的に入力されるデータが１つのインタリービング単位を構成する場合、これをスーパー連続ブロック（Ｓｕｐｅｒ  Ｓｅｑｕｅｎｔｉａｌ  Ｂｌｏｃｋ：以下、ＳＳＢ）と定義する。ここで、１つのインタリービング単位はデータインタリービングを通じて不揮発性メモリー装置の各々に対応するメモリーブロックに満たされ得るデータ量を意味する。インタリービング単位の例として４つのメモリーブロックを含む場合を例としてあげる。
【００５０】
先ず、スーパー連続ブロック０３１０、ＳＳＢ＿０は不揮発性メモリー装置ＮＶＭ＿００、ＮＶＭ＿０１、ＮＶＭ＿１０、ＮＶＭ＿１１各々に対応するメモリーブロック３１１、３１２、３１３、３１４で構成される。バッファーメモリー１２６（図２参照）に連続的なデータが入力されれば、プログラム動作のときにはメモリーブロック各々に順次にページ単位のデータが記入される。論理ページＬＰＮ０はメモリーブロック３１１に、論理ページＬＰＮ１はメモリーブロック３１２に、論理ページＬＰＮ２はメモリーブロック３１３に、及び論理ページＬＰＮ３はメモリーブロック３１４に割当される。続く論理ページＬＰＮ４は再びメモリーブロック３１１に割当され、このような方式で書込み動作の時のデータインタリービングがなされる。連続される書込みデータのインタリービング方式による記入順序は矢印に図示された順序（１→２→３→４→・・・）の通りである。
【００５１】
４つのメモリーブロックに満たされる連続データが１つのスーパー連続ブロックＳＳＢ＿０を構成する。同等に、連続されるデータのサイズが大きくなれば、複数のスーパー連続ブロックＳＳＢ＿１、ＳＳＢ＿２、ＳＳＢ＿３が構成できる。本発明の実施形態によれば、連続的に入力されるデータの中でスーパー連続ブロックＳＳＢを構成するデータはブロックマッピングモードに住所マッピングされる。反面、ランダム書込みパターンに入力されるデータや、又は、連続書込みパターンに入力されでもスーパー連続ブロックを構成しないデータはページマッピングモードに住所マッピングされる。
【００５２】
図６は本発明による論理アドレスＬＢＡとスーパー連続ブロックＳＳＢとのマッピング関係を簡略に示す図面である。図６を参照すれば、ホスト１１０（図２参照）から提供される論理アドレスとスーパー連続ブロックＳＳＢとの範囲が簡略に図示されている。
【００５３】
ホスト１１０からの論理アドレスはセクター単位（例えば、５１２−Ｂｙｔｅ）に提供される。１つのページが３２個セクターに構成され、１つのブロックが１２８個のページに構成される場合、１つのスーパー連続ブロックＳＳＢは１６３８４セクターで構成され得る。したがって、連続的に提供される書込みデータの論理アドレスＬＢＡ、ｎＳＣ範囲がスーパー連続ブロックＳＳＢ＿０、ＳＳＢ＿１、ＳＳＢ＿２、ＳＳＢ＿３、・・・の中で少なくとも１つ以上に重畳される場合、重畳されるスーパー連続ブロックに対応するデータはブロックマッピングモードで住所マッピングされる。反面、ランダム書込みパターンに入力させるか、或いは、連続的な書込みデータであっても論理アドレスの範囲がスーパー連続ブロックの中で少なくとも１つを完全にカバーしないデータはページマッピングモードで住所マッピングされる。
【００５４】
混合マッピング方式では入力される論理アドレスに対するブロックの物理アドレスはほとんど固定的に与えられる。したがって、スーパー連続ブロックのアドレス範囲は固定的に与えられる。
【００５５】
図７はマッピングモードを決定するバッファー階層の構成を示すブロック図である。図７を参照すれば、ホスト１００（図２参照）からの要請にしたがってホストインターフェイス階層４１０のマッピングモード決定手続が簡略に図示される。
【００５６】
ホスト１１０は書込み要請発生の時、格納装置１２０に書込み命令語と共に論理アドレスＬＢＡ、ｎＳＣを伝達する。ここで、ＬＢＡ（Ｌｏｇｉｃａｌ  Ｂｌｏｃｋ  Ａｄｄｒｅｓｓ）はハードディスク基盤の論理アドレスに、書込みデータが記入されるメモリー領域の開始アドレスである。ｎＳＣは書込みデータが記入されるセクター（Ｓｅｃｔｏｒ）の数を意味する。即ち、ＬＢＡとｎＳＣとによって書込みデータが格納される領域が決定され得る。
【００５７】
ホストインターフェイス階層４１０はホスト１１０（図２参照）から提供される論理アドレスＬＢＡ、ｎＳＣを受信する。そして、ホストインターフェイス階層４１０は論理アドレスＬＢＡ、ｎＳＣに対応する書込みデータをバッファーメモリー１２６（図２参照）に格納する。ホストインターフェイス階層４１０は論理アドレスＬＢＡ、ｎＳＣを参照して書込みデータがスーパー連続ブロックＳＳＢを構成するか否かを判断する。
【００５８】
ホストインターフェイス階層４１０は連続される書込みデータの一部又は全てがスーパー連続ブロックを構成する場合、スーパー連続ブロックに割当てるデータのマッピング方式をブロックマッピングに決定する。反面、ホストインターフェイス階層４１０は書込みデータのアドレスが固定されたスーパー連続ブロックＳＳＢのアドレス範囲をカバーしなければ、該当データをページマッピング方式に住所マッピングする。ホストインターフェイス階層４１０は書込みデータのサイズがスーパー連続ブロックのサイズより大きいときでも、スーパー連続ブロックを構成しなければ、ページマッピングモードで住所マッピングする。言い換えると、論理アドレスの開始点ＬＢＡがスーパー連続ブロックとマッチングされず、１つの完全なスーパー連続ブロックを満たさなければ、対応するデータをページマッピングに決定する。勿論、連続書込みデータでないランダム書込みパターンに入力されるデータは全てページマッピングモードに住所マッピングされる。
【００５９】
このような住所マッピングモードの決定のために、ホストインターフェイス階層４１０はスーパー連続ブロック検出モジュール４１５（ＳＳＢ  Ｄｅｔｅｃｔｉｏｎ  Ｍｏｄｕｌｅ）を包含できる。入力される論理アドレスＬＢＡ、ｎＳＣやバッファーリングされる書込みデータのパターンを参照して、スーパー連続ブロック検出モジュール４１５は書込みデータのスーパー連続ブロック構成の可否を判断できる。
【００６０】
ホストインターフェイス階層４１０によって決定された住所マッピングモード（ＡＭ＿ｍｏｄｅ）にしたがってフラッシュ変換階層４２０（ＦＴＬ）は書込みデータに対する住所マッピング動作を遂行する。もし、書込み要請されるデータの住所マッピングモードにブロックマッピングモードが選択されれば、フラッシュ変換階層４２０は該当データの論理住所をブロックマッピングテーブル４２２で管理する。反面、書込み要請されるデータの住所マッピングモードにページマッピングモードが選択されれば、フラッシュ変換階層４２０は該当データの論理住所をページマッピングテーブル４２４で管理する。
【００６１】
図８は図７のバッファー階層のマッピングモード決定方法を例示的に示すテーブルである。図８を参照すれば、４つの連続データＤａｔａ１、Ｄａｔａ２、Ｄａｔａ３、Ｄａｔａ４に対するバッファーリング及びそれに対するマッピングモード決定方法が図示されている。
【００６２】
先ず、連続データＤａｔａ１が論理アドレスＬＢＡ＝０、ｎＳＣ＝１６３８４によって書込み要請される例を説明する。連続データＤａｔａ１はバッファーメモリー１２６に格納された後に、論理アドレスＬＢＡ＝０、ｎＳＣ＝１６３８４に対応する物理アドレス（Ｐｈｙｓｉｃａｌ  ａｄｄｒｅｓｓ）にマッピングされる。この場合、連続的に書込み要請されたデータＤａｔａ１はスーパー連続ブロックＳＳＢ＿０に満たされ得る。連続データＤａｔａ１は１つのスーパー連続ブロックを構成することができる。したがって、書込み要請されたデータＤａｔａ１に対する住所マッピングモードはブロックマッピングに決定され得る。
【００６３】
論理アドレスＬＢＡ＝８１９２、ｎＳＣ＝１１８０９によって書込み要請される連続データＤａｔａ２に対する例を説明する。連続データＤａｔａ２はバッファーメモリー１２６に格納された後に、論理アドレスＬＢＡ＝８１９２、ｎＳＣ＝１１８０９に対応する物理アドレス（Ｐｈｙｓｉｃａｌ  ａｄｄｒｅｓｓ）にマッピングされる。この場合、連続的に書込み要請されたデータＤａｔａ２はスーパー連続ブロックＳＳＢ＿０とスーパー連続ブロックＳＳＢ＿１とに各々分けて割当される。連続データＤａｔａ２は１つの完全なスーパー連続ブロックを構成しない。したがって、書込み要請されたデータＤａｔａ２はページマッピング方式に住所マッピングされる。
【００６４】
論理アドレスＬＢＡ＝８１９２、ｎＳＣ＝４１８０９によって書込み要請される連続データＤａｔａ３に対する例を説明する。連続データＤａｔａ３はバッファーメモリー１２６に格納された後に、論理アドレスＬＢＡ＝８１９２、ｎＳＣ＝４１８０９に対応する物理アドレス（Ｐｈｙｓｉｃａｌ  ａｄｄｒｅｓｓ）にマッピングされる。この場合、連続的に書込み要請されたデータＤａｔａ３はスーパー連続ブロックＳＳＢ＿１、ＳＳＢ＿２に満たされる。そして、連続データＤａｔａ３はスーパー連続ブロックＳＳＢ＿０及びスーパー連続ブロックＳＳＢ＿３の一部にも各々割当される。しかし、１つの完全なスーパー連続ブロックを構成するスーパー連続ブロックＳＳＢ＿１、ＳＳＢ＿２に対応するデータのみがブロックマッピング方式にしたがってアドレスがマッピングされる。そしてデータＤａｔａ３の中で、スーパー連続ブロックＳＳＢ＿０及びスーパー連続ブロックＳＳＢ＿３の一部に割当されたデータは各々ページマッピング方式にしたがって住所がマッピングされる。
【００６５】
論理アドレスＬＢＡ＝１００００、ｎＳＣ＝６００１によって書込み要請される連続データＤａｔａ４に対する例を説明する。連続データＤａｔａ４はたとえば連続書込みパターンに該当するが、データのサイズが小さくて１つのスーパー連続ブロックを満たさない。連続データＤａｔａ４はスーパー連続ブロックＳＳＢ＿０の一部のみを満たすことができる。したがって、連続データＤａｔａ４はページマッピング方式にしたがって住所マッピングを成さなければならない。
【００６６】
ここで、４つの連続データＤａｔａ１、Ｄａｔａ２、Ｄａｔａ３、Ｄａｔａ４を例にあげて本発明の住所マッピング方法が説明された。勿論、ランダム書込みパターンに記入されるデータはスーパー連続ブロックの構成の可否に関係なくページマッピングモードに住所マッピングされる。
【００６７】
図９は本発明の実施形態による住所マッピングを簡略に示すタイミング図である。図９を参照すれば、連続的に入力される書込みデータの中でスーパー連続ブロックを構成するデータはブロックマッピング方式にしたがって住所をマッピングする。反面、連続的に入力される書込みデータの中で完全なスーパー連続ブロックを構成しないデータはページマッピング方式にしたがって住所をマッピングする。
【００６８】
バッファーメモリー１２６（図２参照）に格納される連続データの一部はスーパー連続ブロックＳＳＢ＿ｎ、ＳＳＢ＿ｎ＋１を構成する。反面、連続データの残り一部はスーパー連続ブロックＳＳＢ＿ｎ−１の一部と、スーパー連続ブロックＳＳＢ＿ｎ＋２の一部のみに満たされる。したがって、スーパー連続ブロックＳＳＢ＿ｎ、ＳＳＢ＿ｎ＋１に対応するデータは全てブロックマッピングモードにマッピングされる。反面、スーパー連続ブロックＳＳＢ＿ｎ−１、ＳＳＢ＿ｎ＋２の一部のみを満たすデータはページマッピングモードに処理される。
【００６９】
図１０は本発明の実施形態による住所マッピングの例を示すタイミング図である。図１０を参照すれば、連続的に入力される書込みデータのサイズがたとえ１つのスーパー連続ブロックのサイズより大きいとしても、ページマッピングに処理される例が図示されている。
【００７０】
連続的に入力される書込みデータのサイズがたとえば１つのスーパー連続ブロックのサイズ（例えば、８ＭＢｙｔｅ）より大きいと仮定する。しかし、連続書込みデータが割当てる論理アドレスされるスーパー連続ブロックＳＳＢ＿ｍとスーパー連続ブロックＳＳＢ＿ｍ＋１とに掛けている場合には１つの完全なスーパー連続ブロックを構成しない。この場合、データはページマッピング方式に処理される。
【００７１】
図１１は本発明の実施形態による住所マッピング方法を示す順序図である。図１１を参照すれば、バッファー階層（Ｂｕｆｆｅｒ  Ｌａｙｅｒ）とフラッシュ変換階層（ＦＴＬ）とは書込み要請されるデータの論理アドレスを参照して住所マッピングモードを決定する。ホスト１１０（図２参照）から書込みデータ及び論理アドレスが提供されれば、メモリーコントローラー１２０（図２参照）による住所マッピング動作が開始される。
【００７２】
段階Ｓ１１０で、メモリーコントローラー１２２はホスト１１０から書込み要請を受信する。メモリーコントローラー１２２はホスト１１０から提供される書込みデータをバッファーメモリー１２６に一時的に格納する。
【００７３】
段階Ｓ１２０で、メモリーコントローラー１２２は書込み要請されるデータの書込みパターンを検出する。例えば、メモリーコントローラー１２２は書込み要請されるデータのアドレスを参照して連続書込みパターンに該当するか否か、又はランダム書込みパターンに該当するか否かを判断する。
【００７４】
段階Ｓ１３０で、書込みパターンの検出結果にしたがって動作手続が分岐される。もし、書込み要請されたデータの書込みパターンがランダム書込みパターンに検出されれば（いいえ）、手続は該当データをページマッピングモードにしたがって、管理するための段階Ｓ１７０へ移動する。反面、書込み要請されたデータの書込みパターンが連続書込みパターンに検出されれば（はい）、手続は該当データがスーパー連続ブロックＳＳＢを構成するか否かを判断するための段階Ｓ１４０へ移動する。
【００７５】
段階Ｓ１４０で、メモリーコントローラー１２２は書込み要請の時、ホスト１１０から提供された論理アドレスＬＢＡ、ｎＳＣをスーパー連続ブロックＳＳＢの組合にしたがって分類する。スーパー連続ブロックＳＳＢに対応する論理アドレスは固定された値である。したがって、メモリーコントローラー１２２はホスト１１０から提供される連続書込みデータの論理アドレスを参照してスーパー連続ブロックＳＳＢの構成の可否を判断することができる。
【００７６】
段階Ｓ１５０で、メモリーコントローラー１２２は書込みデータの論理アドレスを分析してスーパー連続ブロックＳＳＢを構成するか否かを判断する。もし、書込み要請されてバッファーメモリーに格納されるデータがスーパー連続ブロックＳＳＢを構成する場合、手続は段階Ｓ１６０へ移動する。
【００７７】
段階Ｓ１６０では、スーパー連続ブロックＳＳＢを構成するデータ部分に対してはブロックマッピングモードの住所マッピングを適用する。そして、スーパー連続ブロックＳＳＢを構成しない余りのデータ部分に対してはページマッピングモードの住所マッピングを適用する。
【００７８】
反面、メモリーコントローラー１２２は書込みデータの論理アドレスの分析結果、スーパー連続ブロックＳＳＢを構成しない場合、手続は段階Ｓ１７０へ移動する。段階Ｓ１７０で、書込み要請されたデータはページマッピングテーブルに登録される。そして、不揮発性メモリー装置１２４に記入される時、ページマッピング方式にしたがって、論理ページと物理ページとがマッピングされる。
【００７９】
以上の住所マッピング方法によれば、バッファーメモリーに格納されるデータのパターンや、大きさにしたがってスーパー連続ブロックの構成の可否が決定される。スーパー連続ブロックの構成ができないデータはページマッピングテーブルに、スーパー連続ブロックを構成するデータはブロックマッピングテーブルに登録する。ブロックマッピングによって連続データが記入されたメモリーブロックは全て交換マージ（Ｓｗａｐ  ｍｅｒｇｅ）によって管理され得る。したがって、マージ動作の時、実質的なページ複写回数が画期的に減る。
【００８０】
図１２は本発明の第２実施形態による使用者装置を示すブロック図である。図１２を参照すれば、本発明による使用者装置５００はホスト５１０と格納装置５２０とを含む。格納装置５２０はメモリーコントローラー５２２、不揮発性メモリー装置５２４、及びバッファーメモリー５２６を含む。
【００８１】
ホスト５１０は書込み要請が発生すれば、書込みデータＤａｔａと論理アドレス（Ｌｏｇｉｃａｌ  Ａｄｄｒｅｓｓ：ＬＡ）とを格納装置５２０へ伝達する。しかし、ホスト５１０は格納装置に書込み要請を伝達する前にファイルシステム（Ｆｉｌｅ  ｓｙｓｔｅｍ）の上で書込み要請が発生する。そして、ホスト５１０には格納装置５２０へ伝達する以前に書込み要請するデータがワーキングメモリー５１２に格納される。ホスト５１０はワーキングメモリー５１２に格納されるデータを参照して格納装置５２０の住所マッピングモードを判断することができる。即ち、書込み要請されるデータがホスト５１０のワーキングメモリー５１２に格納される時の情報を参照して該当データ又は該当データの一部に対する住所マッピングモードを決定できる。
【００８２】
例えば、ホスト５１０の装置ドライバー５１４がスーパー連続ブロックＳＳＢに対応する論理アドレステーブルを参照してホスト５１０でスーパー連続ブロックの構成の可否を判断することができる。ワーキングメモリー５１２に格納されるデータや、装置ドライバー５１４へ伝達される論理アドレスを参照して、装置ドライバー５１４は書込み要請される連続データのスーパー連続ブロックＳＳＢの構成の可否を判断することができる。このような動作のためには、ホスト５１０にはスーパー連続ブロックに対応する論理住所の範囲を定義するスーパー連続ブロック住所テーブル５１６（ＳＳＢ  Ａｄｄｒｅｓｓ  ｔａｂｌｅ）を包含しなければならない。
【００８３】
スーパー連続ブロック住所テーブル５１６との比較を通じて、装置ドライバー５１４は書込み要請データに対するマッピングモードを決定する。そして、装置ドライバー５１４は決定された住所マッピングモード（ＡＭ＿ｍｏｄｅ）情報を書込み要請の時、格納装置５２０へ伝達することができる。
【００８４】
格納装置５２０のメモリーコントローラー５２２はホスト５１０と不揮発性メモリー装置５２４とをインターフェイシングする。メモリーコントローラー５２２はホスト５１０の書込み要請に含まれる論理アドレスＬＢＡ、ｎＳＣ、及び論理アドレス領域の各々に対するマッピングモード（Ｍａｐ＿ｍｏｄｅ）を参照して、論理アドレスと物理アドレスとの間の住所マッピングを実施する。
【００８５】
不揮発性メモリー装置５２４はメモリーコントローラー５２２の制御にしたがって、消去動作、読出し動作又は書込み動作を遂行する。不揮発性メモリー装置５２４は複数のメモリーブロックで構成される。各々のメモリーブロックは複数のページ（ｐａｇｅ）で構成される。複数の不揮発性メモリーが少なくとも２つのチャンネルを通じて連結される場合、パフォーマンスを向上させるために不揮発性メモリー装置５２４はメモリーインタリービング方式にしたがって制御される。
【００８６】
格納装置５２０にはバッファーメモリー５２６が包含され得る。また、資源が限定された格納装置５２０の内部でマッピングモードを決定するためには格納装置の負担が大きくなり得る。しかし、資源の制限が少ないホスト５１０でマッピングモードを決定すれば、パフォーマンス面や資源の活用面でより有利である。
【００８７】
図１３はホスト５１０で格納装置５２０に書込み要請の時に、提供されるデータの構成を簡略に示す図面である。図１３を参照すれば、書込み要請が発生すればホスト５１０は書込み命令ＣＭＤ−５３１と論理アドレスＬＢＡ−５３３、ｎＳＣ−５３５、及び書込みデータＤａｔａ−５３９を伝達する。特に、本発明による実施形態による書込み要請にはデータに対する住所マッピングモード（ＡＭ＿ｍｏｄｅ）５３７が追加される。
【００８８】
住所マッピングモード（ＡＭ＿ｍｏｄｅ）５３７には各論理アドレス領域に対する住所マッピング方式が包含される。即ち、論理アドレスＬＢＡ、ｎＳＣに対応する複数のデータ領域に対する住所マッピングモード（ＡＭ＿ｍｏｄｅ）５３７が各々包含され得る。即ち、スーパー連続ブロックＳＳＢを構成するデータ単位はブロックマッピングモードに住所マッピングモード（ＡＭ＿ｍｏｄｅ）が定義される。スーパー連続ブロックＳＳＢを構成しないデータ単位やランダム書込みパターンに入力されるデータの場合にはページマッピングモードに住所マッピングモード（ＡＭ＿ｍｏｄｅ）が定義される。
【００８９】
図１４は図１２の使用者装置を駆動するためのソフトウェアの階層構造を示す図面である。図１４を参照すれば、ホスト階層６１０にはファイルシステム６１２及び装置ドライバー６１４が包含される。そして、格納装置階層６２０にはホストインターフェイス階層６２２、フラッシュ変換階層６２４、及びフラッシュインターフェイス階層６２６のソフトウェア階層が包含され得る。
【００９０】
ホスト階層６１０のファイルシステム６１２は、ファイルの生成及び削除にしたがう格納装置５２０へのアクセス要請を生成する。ホスト５１０のバッファーメモリーに生成されたファイルに対する書込み要請が発生すれば、ファイルシステム６１２は該当ファイルに対する書込み要請を装置ドライバー６１４へ伝達する。装置ドライバー６１４はスーパー連続ブロックＳＳＢのアドレス情報を参照して、書込み要請されたデータがスーパー連続ブロックＳＳＢを構成するか否かを判断する。判断の可否にしたがって装置ドライバー６１４は書込み要請されたデータの各ユニット別に住所マッピングモードを決定する。そして、決定された住所マッピングモードは書込み要請命令が提供される始点に格納装置階層６２０へ伝達される。
【００９１】
格納装置階層６２０はホスト５１０から伝達された書込み要請に応答してデータの論理アドレスを不揮発性メモリー装置の物理アドレスにマッピングする。そして、マッピングされた物理アドレスにしたがってインタリービング方式に書込み要請されたデータが不揮発性メモリー装置にプログラムされる。このような動作のために格納装置階層６２０にはホストインターフェイス階層６２２、フラッシュ変換階層６２４、及びフラッシュインターフェイス階層６２６が包含される。
【００９２】
ホストインターフェイス階層（ＨＩＬ）６２２はホスト５１０と格納装置５２０との間のインターフェイシングを提供する。そして、ホストインターフェイス階層６２２は格納装置５２０の内部キャッシュ機能を担当できる。ホストインターフェイス階層６２２はホスト５１０から提供される読出し又は書込みのような要請（Ｒｅｑｕｅｓｔ）をデコーディングする。
【００９３】
フラッシュ変換階層（ＦＴＬ）６２４はホスト５１０から提供される論理住所（Ｌｏｇｉｃａｌ  ａｄｄｒｅｓｓ）を不揮発性メモリーの物理住所（Ｐｈｙｓｉｃａｌ  ａｄｄｒｅｓｓ）に変換する役割を遂行する。その他にフラッシュ変換階層６２４はウェアレベリング（Ｗｅａｒ  ｌｅｖｅｌｉｎｇ）動作を遂行するための消去カウント（Ｅｒａｓｅ  ｃｏｕｎｔ）を遂行する。また、フラッシュ変換階層６２４は不揮発性メモリーの各ブロックに散らかっている有効データを集めて１つのブロックに満たすガーベッジコレクション（Ｇａｒｂａｇｅ  Ｃｏｌｌｅｃｔｉｏｎ）動作を支援する。
【００９４】
フラッシュインターフェイス階層６２６はメモリーコントローラー５２２と不揮発性メモリー装置５２４とのインターフェイシング動作のためのローレベル（Ｌｏｗ  ｌｅｖｅｌ）動作を遂行する。例えば、不揮発性メモリー装置５２４のハードウェアを制御するためのローレベルドライバーＬＬＤ、不揮発性メモリー装置５２４から読出されたデータのエラーを訂正するためのエラー訂正コード（Ｅｒｒｏｒ  ｃｏｒｒｅｃｔｉｏｎ  ｃｏｄｅ：ＥＣＣ）及び不正ブロック管理モジュール（Ｂａｄ  Ｂｌｏｃｋ  Ｍａｎａｇｅｍｅｎｔ：ＢＢＭ）等がフラッシュインターフェイス階層６２６に包含される。即ち、フラッシュ変換階層６２４の制御にしたがって、フラッシュインターフェイス階層６２６はメモリーコントローラー５２２と不揮発性メモリー装置５２４との間のデータ交換を担当する。
【００９５】
本発明の第２実施形態によれば、ホスト５１０での書込み要請の発生の時に該当データに対する住所マッピングモードはホスト５１０で決定され得る。したがって、限定的資源を有する格納装置５２０の負担を減らしても格納装置５２０のマージ動作効率を最大化できる。
【００９６】
図１５は本発明の第２実施形態による住所マッピング方法を示す順序図である。図１５を参照すれば、書込み要請の発生の時にホスト５１０（図１２参照）でスーパー連続ブロックＳＳＢの構成の可否を判断する。判断結果にしたがってホスト５１０は該当データの住所マッピングモードを決定する。そして、ホスト５１０が格納装置５２０（図１２参照）に書込み要請を伝達する時、住所マッピングモード（ＡＭ＿ｍｏｄｅ）を共に伝達する。
【００９７】
段階Ｓ２１０で、ホスト５１０の装置ドライバー５１４（図１２参照）は書込み要請に対応する論理アドレスＬＢＡ、ｎＳＣを受信する。
【００９８】
段階Ｓ２２０で、装置ドライバー５１４は書込み要請されるデータの書込みパターンを検出する。例えば、装置ドライバー５１４は書込み要請されるデータのアドレスを参照して連続書込みパターンに該当するか否か、又はランダム書込みパターンに該当するか否かを判断する。
【００９９】
段階Ｓ２３０で、書込みパターンの検出結果にしたがって動作手続が分岐される。もし、書込み要請されたデータの書込みパターンがランダム書込みパターンに検出されれば（いいえ）、手続は該当データをページマッピングモードにしたがって管理するように格納装置に指示するための段階Ｓ２７０へ移動する。反面、書込み要請されたデータの書込みパターンが連続書込みパターンに検出されれば（はい）、手続は該当データがスーパー連続ブロックＳＳＢを構成するか否かを判断するための段階Ｓ２４０へ移動する。
【０１００】
段階Ｓ２４０で、ホスト５１０の内部動作によって書込み要請が発生すれば、装置ドライバー５１４は書込み要請されるデータに対する住所マッピング方式を決定する。即ち、装置ドライバー５１４はＳＳＢ範囲情報５１６を参照して書込み要請されたデータがスーパー連続ブロックＳＳＢを構成するか否かを判断する。
【０１０１】
段階Ｓ２５０で、スーパー連続ブロックＳＳＢを構成するデータに対する処理を行うための手続段階Ｓ２６０へ移動する。そして、スーパー連続ブロックＳＳＢを構成しないか、或いはランダムパターンに書込み要請されるデータを処理するための手続は段階Ｓ２７０へ移動する。
【０１０２】
段階Ｓ２６０で、装置ドライバー５１４はスーパー連続ブロックを構成するデータに対する書込み要請の時、ブロックマッピング方式に住所マッピングを行うように格納装置５２０に指示する。
【０１０３】
段階Ｓ２７０で、装置ドライバー５１４はスーパー連続ブロックＳＳＢを構成していないか、或いはランダムパターンに書込み要請されるデータに対してページマッピング方式に住所マッピングするように格納装置５２０に指示する。
【０１０４】
以上の住所マッピング方法によれば、ホスト５１０で書込み要請されるデータに対する住所マッピング方式が決定される。ホスト５１０の指示にしたがって格納装置５２０はスーパー連続ブロックＳＳＢの構成ができないデータをページマッピングテーブルに、スーパー連続ブロックを構成するデータをブロックマッピングテーブルに登録する。ブロックマッピングによって連続データが記入されたメモリーブロックは全て交換マージ（Ｓｗａｐ  ｍｅｒｇｅ）によって管理され得る。したがって、マージ動作のとき実質的なページ複写回数が画期的に減少される。
【０１０５】
図１６は本発明の実施形態によるソリッドステートディスクＳＳＤシステムを示すブロック図である。図１６を参照すれば、ＳＳＤシステム１０００はホスト１１００とＳＳＤ１２００とを含む。ＳＳＤ１２００はＳＳＤコントローラー１２１０、バッファーメモリー１２２０、及び不揮発性メモリー装置１２３０を含む。
【０１０６】
ＳＳＤコントローラー１２１０はホスト１１００とＳＳＤ１２００との物理的連結を提供する。即ち、ＳＳＤコントローラー１２１０はホスト１１００のバスフォーマット（Ｂｕｓ  ｆｏｒｍａｔ）に対応してＳＳＤ１２００とのインターフェイシングを提供する。特に、ＳＳＤコントローラー１２１０はホスト１１００から提供される命令語をデコーディングする。デコーディングされた結果にしたがって、ＳＳＤコントローラー１２１０は不揮発性メモリー装置１２３０をアクセスする。ホスト１１００のバスフォーマット（Ｂｕｓ  ｆｏｒｍａｔ）にＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）、ＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）、ＰＣＩ  ｅｘｐｒｅｓｓ、ＡＴＡ、ＰＡＴＡ（Ｐａｒａｌｌｅｌ  ＡＴＡ）、ＳＡＴＡ（Ｓｅｒｉａｌ  ＡＴＡ）、ＳＡＳ（Ｓｅｒｉａｌ  Ａｔｔａｃｈｅｄ  ＳＣＳＩ）等が包含され得る。
【０１０７】
ここで、ＳＳＤコントローラー１２１０は住所マッピングの時、ブロックマッピング方式とページマッピング方式とを全て使用する混合マッピング方式を適用する。本発明の実施形態によるスーパー連続ブロックに対する検出及び住所マッピングモードの決定はホスト１１００で遂行されることもできる。又は、書込み要請のとき伝達される論理アドレスＬＢＡ、ｎＳＣを参照してＳＳＤコントローラー１２１０でマッピングモードを決定できる。
【０１０８】
バッファーメモリー１２２０にはホスト１１００から提供される書込みデータ又は不揮発性メモリー装置１２３０から読み出されたデータが一時的に格納される。ホスト１１００の読出し要請のときに不揮発性メモリー装置１２３０に存在するデータがキャッシュされている場合には、バッファーメモリー１２２０はキャッシュされたデータを直接ホスト１１００に提供するキャッシュ機能を支援する。一般的に、ホスト１１００のバスフォーマット（例えば、ＳＡＴＡ又はＳＡＳ）によるデータ伝送速度はＳＳＤ１２００のメモリーチャンネルの伝送速度より一般的に、ホスト１１００のバスフォーマット（例えば、ＳＡＴＡ又はＳＡＳ）によるデータ伝送速度はＳＳＤ１２００のメモリーチャンネルの伝送速度より著しく速い。即ち、ホスト１１００のインターフェイス速度が著しく速い場合、大容量のバッファーメモリー１２２０を提供することによって、速度差異により発生するパフォーマンスの低下を最小化できる。
【０１０９】
バッファーメモリー１２２０は大容量の補助記憶装置に使用されるＳＳＤ１２００で充分なバッファーリングを提供するために同期式ＤＲＡＭ（Ｓｙｎｃｈｒｏｎｏｕｓ  ＤＲＡＭ）で提供され得る。しかし、バッファーメモリー１２２０がここの開示に制限されないことはこの分野の通常の知識を有する者に明確である。
【０１１０】
不揮発性メモリー装置１２３０はＳＳＤ１２００の格納媒体として提供される。例えば、不揮発性メモリー装置１２３０は大容量の格納能力を有するＮＡＮＤフラッシュメモリー（ＮＡＮＤ−ｔｙｐｅ  Ｆｌａｓｈ  ｍｅｍｏｒｙ）で提供され得る。不揮発性メモリー装置１２３０は複数のメモリー装置で構成され得る。この場合、各々のメモリー装置はチャンネル単位にＳＳＤコントローラー１２１０に連結される。格納媒体として不揮発性メモリー装置１２３０がＮＡＮＤフラッシュメモリーを例として説明されたが、その他の不揮発性メモリー装置で構成され得る。例えば、格納媒体としてＰＲＡＭ、ＭＲＡＭ、ＲｅＲＡＭ、ＦＲＡＭ（登録商標）、ＮＯＲフラッシュメモリー等が使用でき、異種のメモリー装置が併用されるメモリーシステムも適用され得る。そして、格納媒体として揮発性メモリー装置装置（例えば、ＤＲＡＭ）が包含され得る。
【０１１１】
図１７は本発明によるメモリーシステム２０００を簡略に示すブロック図である。図１７を参照すれば、本発明によるメモリーシステム２０００は不揮発性メモリー装置２２００とメモリーコントローラー２１００とを含む。
【０１１２】
メモリーコントローラー２１００は不揮発性メモリー装置２２００を制御するように構成される。不揮発性メモリー装置２２００とメモリーコントローラー２１００との結合によってメモリーカードで提供され得る。ＳＲＡＭ２１１０はプロセシングユニット２１２０の動作メモリーとして使用される。ホストインターフェイス２１３０はメモリーシステム２０００と接続されるホストのデータ交換プロトコルを具備する。エラー訂正ブロック２１４０は不揮発性メモリー装置２２００から読出されたデータに含まれるエラーを検出及び訂正する。メモリーインターフェイス２１５０は本発明の不揮発性メモリー装置２２００とインターフェイシングする。プロセシングユニット２１２０はメモリーコントローラー２１００のデータを交換するための諸般制御動作を遂行する。また、図面には図示しないが、本発明によるメモリーシステム２０００はホスト（Ｈｏｓｔ）とのインターフェイシングのためのコードデータを格納するＲＯＭ（図示せず）等がさらに提供され得ることはこの分野の通常の知識を有する者に明確である。
【０１１３】
ここで、メモリーコントローラー２１００は混合マッピング方式にしたがってホストからの論理住所を不揮発性メモリー装置２２００の物理住所にマッピングする。本発明の実施形態によるスーパー連続ブロックに対する検出及び住所マッピングモードの決定はホスト（図示せず）で遂行されることもできる。又は、書込み要請のとき伝達される論理アドレスＬＢＡ、ｎＳＣを参照してメモリーコントローラー２１００でマッピングモードを決定され得る。メモリーコントローラー２１００はホストの書込み要請にしたがってＳＲＡＭ２１１０に格納される書込みデータを参照してブロックマッピング方式又はページマッピング方式の中でいずれか１つの住所マッピングモードを決定することができる。
【０１１４】
不揮発性メモリー装置２２００は複数のフラッシュメモリーチップで構成されるマルチ−チップパッケージにも提供され得る。以上の本発明のメモリーシステム２０００はエラーの発生確率が低い高信頼性の格納媒体として提供され得る。この場合、メモリーコントローラー２１００はＵＳＢ、ＭＭＣ、ＰＣＩ−Ｅ、ＳＡＳ、ＳＡＴＡ、ＰＡＴＡ、ＳＣＳＩ、ＥＳＤＩ、及びＩＤＥ等のような多様なインターフェイスプロトコルの中で１つを通じて外部（例えば、ホスト）と通信するように構成される。
【０１１５】
図１８にはフラッシュメモリー装置３１２０を含むコンピューティングシステム３０００が概略的に図示されている。本発明によるコンピューティングシステム３０００はシステムバス３６００に電気的に連結されたマイクロプロセッサー３２００、ＲＡＭ３３００、使用者インターフェイス３４００、ベースバンドチップセット（Ｂａｓｅｂａｎｄ  ｃｈｉｐｓｅｔ）のようなモデム３５００及びメモリーシステム３１００を含む。
【０１１６】
本発明によるコンピューティングシステム３０００がモバイル装置である場合、コンピューティングシステム３０００の動作電圧を供給するためのバッテリー（図示せず）が追加的に提供される。また、図面には図示しないが、本発明によるコンピューティングシステム３０００には応用チップセット（Ａｐｐｌｉｃａｔｉｏｎ  ｃｈｉｐｓｅｔ）、カメライメージプロセッサー（Ｃａｍｅｒａ  Ｉｍａｇｅ  Ｐｒｏｃｅｓｓｏｒ：ＣＩＳ）、モバイルＤＲＡＭ等がさらに提供され得ることはこの分野の通常の知識を有する者に明確である。メモリーシステム３１００は、例えば、データを格納するのに不揮発性メモリーを使用するＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ／Ｄｉｓｋ）を構成することができる。又は、メモリーシステム３１００は、フュージョンフラッシュメモリー（例えば、ｏｎｅ  ＮＡＮＤフラッシュメモリー）で提供され得る。
【０１１７】
ここで、メモリーシステム３１００はメモリーコントローラー３１１０とフラッシュメモリー３１２０とを含む。メモリーコントローラー３１１０は混合マッピング方式にしたがってホストからの論理住所をフラッシュメモリー３１２０の物理住所にマッピングする。本発明の実施形態によるスーパー連続ブロックに対する検出及び住所マッピングモードの決定はホスト（例えば、ＣＰＵ）で遂行されることもできる。又は、書込み要請のとき、伝達される論理アドレスＬＢＡ、ｎＳＣを参照してメモリーコントローラー３１１０でマッピングモードを決定され得る。
【０１１８】
本発明による不揮発性メモリー装置そして／又はメモリーコントローラーは多様な形態のパッケージを利用して実装され得る。例えば、本発明によるフラッシュメモリー装置そして／又はメモリーコントローラーはＰｏＰ（Ｐａｃｋａｇｅ  ｏｎ  Ｐａｃｋａｇｅ）、ＢＧＡｓ（Ｂａｌｌ  ｇｒｉｄ  ａｒｒａｙｓ）、ＣＳＰｓ（Ｃｈｉｐ  ｓｃａｌｅ  ｐａｃｋａｇｅｓ）、ＰＬＣＣ（Ｐｌａｓｔｉｃ  Ｌｅａｄｅｄ  Ｃｈｉｐ  Ｃａｒｒｉｅｒ）、ＰＤＩＰ（Ｐｌａｓｔｉｃ  Ｄｕａｌ  Ｉｎ−Ｌｉｎｅ  Ｐａｃｋａｇｅ）、  Ｄｉｅ  ｉｎ  Ｗａｆｆｌｅ  Ｐａｃｋ、Ｄｉｅ  ｉｎ  Ｗａｆｅｒ  Ｆｏｒｍ、ＣＯＢ（Ｃｈｉｐ  Ｏｎ  Ｂｏａｒｄ）、ＣＥＲＤＩＰ（Ｃｅｒａｍｉｃ  Ｄｕａｌ  Ｉｎ−Ｌｉｎｅ  Ｐａｃｋａｇｅ）、ＭＱＦＰ（Ｐｌａｓｔｉｃ  Ｍｅｔｒｉｃ  Ｑｕａｄ  Ｆｌａｔ  Ｐａｃｋ）、ＴＱＦＰ（Ｔｈｉｎ  Ｑｕａｄ  Ｆｌａｔｐａｃｋ）、ＳＯＩＣ（Ｓｍａｌｌ  Ｏｕｔｌｉｎｅ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＳＳＯＰ（Ｓｈｒｉｎｋ  Ｓｍａｌｌ  Ｏｕｔｌｉｎｅ  Ｐａｃｋａｇｅ）、ＴＳＯＰ（Ｔｈｉｎ  Ｓｍａｌｌ  Ｏｕｔｌｉｎｅ）、ＴＱＦＰ（Ｔｈｉｎ  Ｑｕａｄ  Ｆｌａｔｐａｃｋ）、ＳＩＰ（Ｓｙｓｔｅｍ  Ｉｎ  Ｐａｃｋａｇｅ）、ＭＣＰ（Ｍｕｌｔｉ  Ｃｈｉｐ  Ｐａｃｋａｇｅ）、ＷＦＰ（Ｗａｆｅｒ−ｌｅｖｅｌ  Ｆａｂｒｉｃａｔｅｄ  Ｐａｃｋａｇｅ）、ＷＳＰ（Ｗａｆｅｒ−Ｌｅｖｅｌ  Ｐｒｏｃｅｓｓｅｄ  Ｓｔａｃｋ  Ｐａｃｋａｇｅ）等のようなパッケージを利用して実装され得る。
【０１１９】
以上のように図面と明細書とで最適の実施形態が開示された。ここで、特定の用語が使用されたが、これは単なる本発明を説明するための目的で使用されるが、意味限定や特許請求の範囲に記載された本発明の範囲を制限するために使用されない。したがって、本技術分野の通常の知識を有する者であれば、これから多様な変形及び均等な他の実施形態が可能である点を理解できる。したがって、本発明の真の技術的保護範囲は添付された特許請求の範囲の技術的思想によって定まる。
【符号の説明】
【０１２０】
１０  アプリケーション
２０  ファイルシステム
３０  バッファー階層
４０  フラッシュ変換階層
５０  不揮発性メモリー装置
１１０、５１０    ホスト
１２０、５２０    格納装置
１２２、５２２    メモリーコントローラー
１２４、５２４    不揮発性メモリー装置
１２６、５２６    バッファーメモリー
２１１      ホストインターフェイス階層
２１２      バッファー管理モジュール
２１３      フラッシュ変換階層
２１４      フラッシュインターフェイス階層
３１０、３２０、３３０、３４０      メモリーブロック
４１０      バッファー階層
４１５      ＳＳＢ決定モジュール
４２０      フラッシュ変換階層
４２２      ブロックマッピングテーブル
４２４      ページマッピングテーブル
５１２      ワーキングメモリー
５１４      装置ドライバー
５１６      ＳＳＢ範囲情報
１１００    ホスト
１２００    ＳＳＤ
１２１０    ＳＳＤコントローラー
１２２０    バッファーメモリー
１２３０    不揮発性メモリー装置
２１００    メモリーコントローラー
２１１０    ＳＲＡＭ
２１２０    プロセシングユニット
２１３０    ホストインターフェイス
２１４０    エラー訂正ブロック
２１４０    メモリーインターフェイス
２２００    不揮発性メモリー装置
３０００    コンピューティングシステム
３１００    メモリーシステム
３１１０    メモリーコントローラー
３１２０    フラッシュメモリー装置
３２００    中央処理装置
３３００    ＲＡＭ
３４００    ユーザーインターフェイス
３５００    モデム
３６００    システムバス
【図１】
2012108912.tif 000003
【図２】
2012108912.tif 000004
【図３】
2012108912.tif 000005
【図４】
2012108912.tif 000006
【図６】
2012108912.tif 000007
【図７】
2012108912.tif 000008
【図８】
2012108912.tif 000009
【図９】
2012108912.tif 000010
【図１０】
2012108912.tif 000011
【図１１】
2012108912.tif 000012
【図１２】
2012108912.tif 000013
【図１３】
2012108912.tif 000014
【図１４】
2012108912.tif 000015
【図１５】
2012108912.tif 000016
【図１６】
2012108912.tif 000017
【図１７】
2012108912.tif 000018
【図１８】
2012108912.tif 000019
【図５】
2012108912.tif 000020