(57)【要約】【課題】コンピュータシステム及びそのデータ管理方法を提供する。【解決手段】コンピュータシステムのデータ管理方法は、ストレージ装置を第１領域と第２領域とに分け、第２領域に多数のデータと、多数のデータと関連する多数のノードとを格納し、第１領域にノードアドレステーブルを格納し、ノードアドレステーブルは多数のノード各々に対応する多数のノード識別子と、多数のノード識別子各々に対応する多数の物理アドレスとを含む。【選択図】      図５
2014071906.tif 000002
【特許請求の範囲】
【請求項１】
ストレージ装置を第１領域と第２領域とに分けて、
前記第２領域に多数のデータと、前記多数のデータと関連する多数のノードとを格納し、前記第１領域にノードアドレステーブルを格納し、前記ノードアドレステーブルは、前記多数のノード各々に対応する多数のノード識別子と、前記多数のノード識別子各々に対応する多数の物理アドレスとを含むコンピュータシステムのデータ管理方法。
【請求項２】
前記第２領域での書き込み動作は順次アクセス方式を利用して行い、
前記第１領域での書き込み動作はランダムアクセス（ｒａｎｄｏｍ  ａｃｃｅｓｓ）方式を利用して行う請求項１に記載のコンピュータシステムのデータ管理方法。
【請求項３】
前記第１領域は前記ストレージ装置の前部に格納され、
前記第２領域は前記ストレージ装置の後部に格納される請求項１に記載のコンピュータシステムのデータ管理方法。
【請求項４】
前記ストレージ装置はＳＳＤ（Ｓｔａｔｉｃ  Ｓｏｌｉｄ  Ｄｉｓｋ）を含む請求項３に記載のコンピュータシステムのデータ管理方法。
【請求項５】
前記第２領域は互いに分離されたデータセグメントとノードセグメントとを含み、
前記多数のデータは前記データセグメントに格納され、
前記多数のノードは前記ノードセグメントに格納される請求項１に記載のコンピュータシステムのデータ管理方法。
【請求項６】
前記第２領域は多数のセグメントを含み、各セグメントには多数のページが格納され、
前記方法は前記第１領域にセグメント情報テーブルを格納することをさらに含み、前記セグメント情報テーブルは、前記各セグメントの有効なページの数と、前記多数のページのビットマップとを含む請求項１に記載のコンピュータシステムのデータ管理方法。
【請求項７】
前記第２領域は多数のセグメントを含み、前記各セグメントは多数のブロックに区分され、
前記方法は前記第１領域にセグメント要約領域を格納することをさらに含み、前記セグメント要約領域は前記各セグメントの前記多数のブロックが属するノードに関する情報を含む請求項１に記載のコンピュータシステムのデータ管理方法。
【請求項８】
前記第２領域は多数のセグメントを含み、前記各セグメントは多数のブロックに区分され、
前記各セグメントの少なくとも一つのブロックにセグメント要約情報を格納し、前記セグメント要約情報は前記各セグメントの前記多数のブロックが属するノードに関する情報を含む請求項１に記載のコンピュータシステムのデータ管理方法。
【請求項９】
前記第２領域は多数のセグメントを含み、前記各セグメントは多数のブロックに区分され、前記各ブロックはＯＯＢ（Ｏｕｔ  Ｏｆ  Ｂａｎｄ）領域を含み、
前記各ブロックの前記ＯＯＢ領域にセグメント要約情報を格納し、前記セグメント要約情報は前記各ブロックが属するノードに関する情報を含む請求項１に記載のコンピュータシステムのデータ管理方法。
【請求項１０】
前記多数のデータは一つのファイルに対応し、
前記多数のノードはｉノード（ｉｎｏｄｅ）、ダイレクトノード（ｄｉｒｅｃｔ  ｎｏｄｅ）、インダイレクトノード（ｉｎｄｉｒｅｃｔ  ｎｏｄｅ）を含む請求項１に記載のコンピュータシステムのデータ管理方法。
【請求項１１】
前記ノードアドレステーブルは、前記ｉノードのノード識別子、前記ダイレクトノードのノード識別子及び前記インダイレクトノードのノード識別子を格納する請求項１０に記載のコンピュータシステムのデータ管理方法。
【請求項１２】
前記多数のデータのうち第１データは第１物理アドレスに対応する第１ブロック内に格納され、
前記第１データを指示する前記第１ダイレクトノードは第２物理アドレスに対応する第２ブロック内に格納され、
前記ノードアドレステーブル内で、前記第１ダイレクトノードは前記第２物理アドレスに対応する請求項１１に記載のコンピュータシステムのデータ管理方法。
【請求項１３】
前記第１データを修正して第２データを生成し、
前記第２データを前記第１物理アドレスと異なる第３物理アドレスに対応する第３ブロック内に格納し、
前記第１ダイレクトノードが前記第２データを指示するように修正し、前記第２物理アドレスと異なる第４物理アドレスに対応する第４ブロック内に格納することをさらに含み、
前記ノードアドレステーブル内で、前記第１ダイレクトノードは、前記第２物理アドレスを上書きする、前記第４物理アドレスに対応する請求項１２に記載のコンピュータシステムのデータ管理方法。
【請求項１４】
ノードアドレステーブルを格納する第１領域と、多数のデータと、前記多数のデータと関連する多数のノードとを格納する第２領域を含むストレージ装置を含み、
前記ノードアドレステーブルは、前記ノード各々に対応する多数のノード識別子と、前記多数のノード識別子各々に対応する多数の物理アドレスとを含むホスト装置を含むコンピュータシステム。
【請求項１５】
前記第１領域は前記ストレージ装置の前部に位置し、
前記第２領域は前記ストレージ装置の後部に位置する請求項１４に記載のコンピュータシステム。
【請求項１６】
前記第２領域での書き込み動作は順次アクセス方式を利用して行い、
前記第１領域での書き込み動作はランダムアクセス方式を利用して行う請求項１４に記載のコンピュータシステム。
【請求項１７】
前記第２領域は多数のセグメントを含み、各セグメントには多数のページが格納され、
前記第１領域はセグメント情報テーブルを格納し、前記セグメント情報テーブルは前記各セグメントの有効なページの数と、前記多数のページのビットマップとを含む請求項１４に記載のコンピュータシステム。
【請求項１８】
ストレージ領域を含むストレージ装置と、
前記ストレージ装置にデータを書き込みすることをコントロールするホストとを含み、
前記ホストは前記ストレージ領域を第１領域と第２領域とに区分するファイルシステムを含み、
前記第２領域は多数のデータと、前記多数のデータと関連する多数のノードとを順次アクセス方式を利用して格納し、
前記第１領域はノードアドレステーブルを格納し、前記ノードアドレステーブルは前記ノード各々に対応する多数のノード識別子と、前記多数のノード識別子各々に対応する多数の物理アドレスとを含み、
ノード識別子に対応する物理アドレスは前記ノード識別子に対応するノードの新しい位置を指示するように更新されるコンピュータシステム。
【請求項１９】
前記多数のデータのうち第１データは、第１物理アドレスに対応する前記第２領域の第１ブロック内に格納され、
前記第１データを指示する第１ダイレクトノードは、第２物理アドレスに対応する前記第２領域の第２ブロック内に格納され、
前記ノードアドレステーブルは、前記第１ダイレクトノードに対応するノード識別子及び前記ノード識別子に対応する前記第２物理アドレスを含む請求項１８に記載のコンピュータシステム。
【請求項２０】
前記第１データを修正して第２データを生成し、
前記第２データを前記第１物理アドレスと異なる第３物理アドレスに対応する第３ブロック内に格納し、
前記第１ダイレクトノードが前記第２データを指示するように修正し、前記第２物理アドレスと異なる第４物理アドレスに対応する第４ブロック内に格納することをさらに含み、
前記ノードアドレステーブルは、前記第２物理アドレスを上書きする、前記ノード識別子に対応する前記第４物理アドレスを含むように更新される請求項１９に記載のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、２０１２年９月２８日に韓国特許庁に出願した韓国特許出願第１０−２０１２−０１０９１７７号に対し、優先権を主張し、その内容のすべては参照によって本明細書に含まれる。
【０００２】
本発明は、コンピュータシステム及びそのデータ管理方法に係り、より詳細にはログ構造化ファイルシステム（ｌｏｇ  ｓｔｒｕｃｔｕｒｅｄ  ｆｉｌｅｓｙｓｔｅｍ）を利用したコンピュータシステム及びそのデータ管理方法に関する。
【背景技術】
【０００３】
ログ構造化ファイルシステムは、ハードディスクドライブ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）を使用するサーバストレージシステムから提案された。ハードディスクドライブは回転モータを使用するため、ハードディスクドライブの動作はシークレイテンシ（ｓｅｅｋ  ｌａｔｅｎｃｙ）とローテーションレイテンシ（ｒｏｔａｔｉｏｎａｌ  ｌａｔｅｎｃｙ）を有する。したがって、ログ構造化ファイルシステムはディスク全体を一つのログとして構成し、シーケンシャル書込み（ｓｅｑｕｅｎｔｉａｌ  ｗｒｉｔｅ）動作のみを行う。すなわち、ログ構造化ファイルシステムは、ファイルを修正する際、本来の位置のデータを修正せず、ログの最後の部分に修正したデータを付加する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】韓国特許出願公開２００７−００９６４２９号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
一方、ログ構造化ファイルシステムは修正したデータと関連する多くのメタデータも修正しなければならない。すなわち、付加的な書き込み動作が必要である。これを「ｗａｎｄｅｒｉｎｇ  ｔｒｅｅ」問題という。
【０００６】
本発明が解決しようとする課題は、ワンダリングツリー（ｗａｎｄｅｒｉｎｇ  ｔｒｅｅ）問題を最小化したコンピュータシステムのデータ管理方法を提供することにある。
【０００７】
本発明が解決しようとする他の課題は、ワンダリングツリー問題を最小化したコンピュータシステムを提供することにある。
本発明が解決しようとする他の課題は、ワンダリングツリー問題を最小化したストレージ装置を提供することにある。
【０００８】
本発明が解決しようとする課題は、上述の課題に制限されず、上述されていないまた他の課題は次の記載から当業者が明確に理解できるであろう。
【課題を解決するための手段】
【０００９】
前記課題を解決するための本発明のコンピュータシステムのデータ管理方法の一実施形態は、ストレージ装置を第１領域と第２領域とに分けて、前記第２領域に多数のデータと、前記多数のデータと関連する多数のノード（ｎｏｄｅ）とを格納し、前記第１領域にノードアドレステーブル（ｎｏｄｅ  ａｄｄｒｅｓｓ  ｔａｂｌｅ）を格納し、前記ノードアドレステーブルは前記多数のノード各々に対応する多数のノード識別子と、前記多数のノード識別子各々に対応する多数の物理アドレスとを含む。
【００１０】
前記第２領域での書き込み動作は順次アクセス（ｓｅｑｕｅｎｔｉａｌ  ａｃｃｅｓｓ）方式を利用して行い、前記第１領域での書き込み動作はランダムアクセス（ｒａｎｄｏｍ  ａｃｃｅｓｓ）方式を利用して行ってもよい。
【００１１】
前記第１領域は前記ストレージ装置の前部に格納され、前記第２領域は前記ストレージ装置の後部に格納され得る。
【００１２】
前記ストレージ装置はＳＳＤ（Ｓｔａｔｉｃ  Ｓｏｌｉｄ  Ｄｉｓｋ）を含み得る。
【００１３】
前記第２領域は互いに分離されたデータセグメント（ｄａｔａ  ｓｅｇｍｅｎｔ）とノードセグメント（ｎｏｄｅ  ｓｅｇｍｅｎｔ）とを含み、前記多数のデータは前記データセグメントに格納され、前記多数のノードは前記ノードセグメントに格納され得る。
【００１４】
前記第２領域は多数のセグメントを含み、各セグメントには多数のページが格納され、前記方法は前記第１領域にセグメント情報テーブル（ｓｅｇｍｅｎｔ  ｉｎｆｏｒｍａｔｉｏｎ  ｔａｂｌｅ）を格納することをさらに含み、前記セグメント情報テーブルは前記各セグメントの有効なページの数と、前記多数のページのビットマップとを含み得る。
【００１５】
前記第２領域は多数のセグメントを含み、前記各セグメントは多数のブロックに区分され、前記方法は前記第１領域にセグメント要約領域（ｓｅｇｍｅｎｔ  ｓｕｍｍａｒｙ  ａｒｅａ）を格納することをさらに含み、前記セグメント要約領域は前記各セグメントの前記多数のブロックが属するノードに関する情報を含み得る。
【００１６】
前記第２領域は多数のセグメントを含み、前記各セグメントは多数のブロックに区分され、前記各セグメントの少なくとも一つのブロックにセグメント要約情報を格納し、前記セグメント要約情報は前記各セグメントの前記多数のブロックが属するノードに関する情報を含み得る。
【００１７】
前記第２領域は多数のセグメントを含み、前記各セグメントは多数のブロックに区分され、前記各ブロックはＯＯＢ（Ｏｕｔ  Ｏｆ  Ｂａｎｄ）領域を含み、前記各ブロックの前記ＯＯＢ領域にセグメント要約情報を格納し、前記セグメント要約情報は前記各ブロックが属するノードに関する情報を含み得る。
【００１８】
前記多数のデータは一つのファイルに対応し、前記多数のノードはｉノード（ｉｎｏｄｅ）、ダイレクトノード（ｄｉｒｅｃｔ  ｎｏｄｅ）、インダイレクトノード（ｉｎｄｉｒｅｃｔ  ｎｏｄｅ）を含み得る。
【００１９】
前記ノードアドレステーブルは前記ｉノードのノード識別子、前記ダイレクトノードのノード識別子及び前記インダイレクトノードのノード識別子を格納し得る。
【００２０】
前記多数のデータのうち第１データは、第１物理アドレスに対応する第１ブロック内に格納され、前記第１データを指示する前記第１ダイレクトノードは、第２物理アドレスに対応する第２ブロック内に格納され、前記ノードアドレステーブル内で、前記第１ダイレクトノードは前記第２物理アドレスに対応し得る。
【００２１】
前記第１データを修正して第２データを生成し、前記第２データを前記第１物理アドレスと異なる第３物理アドレスに対応する第３ブロック内に格納し、前記第１ダイレクトノードが前記第２データを指示するように修正し、前記第２物理アドレスと異なる第４物理アドレスに対応する第４ブロック内に格納することをさらに含み、前記ノードアドレステーブル内で、前記第１ダイレクトノードは、前記第２物理アドレスを上書きする（ｏｖｅｒｗｒｉｔｅ）、前記第４物理アドレスに対応し得る。
【００２２】
前記課題を解決するための本発明のコンピュータシステムの一実施形態は、ノードアドレステーブルを格納する第１領域と、多数のデータと、前記多数のデータと関連する多数のノードとを格納する第２領域を含むストレージ装置を含み、前記ノードアドレステーブルは前記ノード各々に対応する多数のノード識別子と、前記多数のノード識別子各々に対応する多数の物理アドレスとを含むホスト装置を含む。
【００２３】
前記第１領域は前記ストレージ装置の前部に位置し、前記第２領域は前記ストレージ装置の後部に位置し得る。
【００２４】
前記第２領域での書き込み動作は順次アクセス方式を利用して行い、前記第１領域での書き込み動作はランダムアクセス方式を利用して行ってもよい。
【００２５】
前記第２領域は多数のセグメントを含み、各セグメントには多数のページが格納され、前記第１領域はセグメント情報テーブルを格納し、前記セグメント情報テーブルは前記各セグメントの有効なページの数と、前記多数のページのビットマップとを含み得る。
【００２６】
前記課題を解決するための本発明のコンピュータシステムの他の実施形態は、ストレージ領域を含むストレージ装置と、前記ストレージ装置にデータを書き込みすることをコントロールするホストとを含み、前記ホストは前記ストレージ領域を第１領域と第２領域とに区分するファイルシステムを含み、前記第２領域は多数のデータと、前記多数のデータと関連する多数のノードとを順次アクセス方式を利用して格納し、前記第１領域はノードアドレステーブルを格納し、前記ノードアドレステーブルは前記ノード各々に対応する多数のノード識別子と、前記多数のノード識別子各々に対応する多数の物理アドレスとを含み、ノード識別子に対応する物理アドレスは前記ノード識別子に対応するノードの新しい位置を指示するように更新され得る。
【００２７】
前記多数のデータのうち第１データは第１物理アドレスに対応する前記第２領域の第１ブロック内に格納され、前記第１データを指示する第１ダイレクトノードは第２物理アドレスに対応する前記第２領域の第２ブロック内に格納され、前記ノードアドレステーブルは前記第１ダイレクトノードに対応するノード識別子及び前記ノード識別子に対応する前記第２物理アドレスを含み得る。
【００２８】
前記第１データを修正して第２データを生成し、前記第２データを前記第１物理アドレスと異なる第３物理アドレスに対応する第３ブロック内に格納し、前記第１ダイレクトノードが前記第２データを指示するように修正し、前記第２物理アドレスと異なる第４物理アドレスに対応する第４ブロック内に格納することをさらに含み、前記ノードアドレステーブルは、前記第２物理アドレスを上書きする、前記ノード識別子に対応する前記第４物理アドレスを含むように更新され得る。
【００２９】
本発明のその他具体的な内容は詳細な説明及び図面に含まれている。
【図面の簡単な説明】
【００３０】
【図１】本発明の一実施形態によるコンピュータシステムを説明するためのブロック図。
【図２】図１のホストを説明するためのブロック図。
【図３】図１のストレージ装置を説明するためのブロック図。
【図４】図１のストレージ装置に格納されるファイルの構造を説明するための図。
【図５】図１のストレージ装置を説明するためのブロック図。
【図６】ノードアドレステーブルを説明するための図。
【図７】本発明の一実施形態によるコンピュータシステムのデータ管理方法を説明するための概念図。
【図８】本発明の一実施形態によるコンピュータシステムのデータ管理方法を説明するための概念図。
【図９】本発明の他の実施形態によるコンピュータシステムのストレージ装置に格納されるファイルの構造を説明するためのブロック図。
【図１０】本発明のまた他の実施形態によるコンピュータシステムのストレージ装置に格納されるファイルの構造を説明するためのブロック図。
【図１１】本発明のまた他の実施形態によるコンピュータシステムのストレージ装置に格納されるファイルの構造を説明するためのブロック図。
【図１２】本発明のいくつかの実施形態によるコンピュータシステムの具体的な一例を説明するためのブロック図。
【図１３】本発明のいくつかの実施形態によるコンピュータシステムの具体的な他の例を説明するためのブロック図。
【図１４】本発明のいくつかの実施形態によるコンピュータシステムの具体的な他の例を説明するためのブロック図。
【図１５】本発明のいくつかの実施形態によるコンピュータシステムの具体的な他の例を説明するためのブロック図。
【発明を実施するための形態】
【００３１】
本発明の利点及び特徴、これらを達成する方法は添付する図面と共に詳細に後述する実施形態において明確になるであろう。しかし、本発明は、以下で開示する実施形態に限定されるものではなく、互いに異なる多様な形態で実現されるものであり、本実施形態は、単に本発明の開示を完全にし、本発明が属する技術分野で通常の知識を有する者に発明の範疇を完全に知らせるために提供されるものであり、本発明は、請求項の範囲によってのみ定義される。図面に表示する構成要素のサイズおよび相対的なサイズは説明を明瞭するため、誇張したものであり得る。明細書全体にかけて同一参照符号は同一構成要素を指称する。
【００３２】
一つの素子（ｅｌｅｍｅｎｔｓ）が他の素子と「接続された（ｃｏｎｎｅｃｔｅｄ  ｔｏ）」または「カップリングされた（ｃｏｕｐｌｅｄ  ｔｏ）」と指称されるものは、他の素子と直接連結またはカップリングされた場合または中間に他の素子を介在する場合をすべて含む。反面、一つの素子が他の素子と「直接接続された（ｄｉｒｅｃｔｌｙ  ｃｏｎｎｅｃｔｅｄ  ｔｏ）」または「直接カップリングされた（ｄｉｒｅｃｔｌｙ  ｃｏｕｐｌｅｄ  ｔｏ）」と指称されるものは中間に他の素子を介在しないことを示す。
【００３３】
例えば、何れか一つの構成要素が他の構成要素にデータまたは信号を「伝送または出力」する場合、前記構成要素は前記他の構成要素に直接前記データまたは信号を「伝送または出力」することができ、少なくとも一つまた他の構成要素を介して前記データまたは信号を前記他の構成要素に「伝送または出力」できることを意味する。
【００３４】
「および／または」は、言及されたアイテムの各々および一つ以上のすべての組合せを含む。
【００３５】
第１、第２などが多様な素子、構成要素を叙述するために使用されるが、これら素子、構成要素はこれらの用語によって制限されないことはいうまでもない。これらの用語は、単に一つ構成要素を他の構成要素と区別するために使用するものである。したがって、以下で言及される第１素子、第１構成要素または第１セクションは本発明の技術的思想内で第２素子、第２構成要または第２セクションであり得ることは勿論である。
【００３６】
本明細書で使用された用語は実施形態を説明するためであり、本発明を制限しようとするものではない。本明細書で、単数型は文句で特に言及しない限り複数型も含む。明細書で使用される「含む（ｃｏｍｐｒｉｓｅｓ）」および／または「含む（ｃｏｍｐｒｉｓｉｎｇ）」は言及された構成要素、段階、動作および／または素子は一つ以上の他の構成要素、段階、動作および／または素子の存在または追加を排除しない。
【００３７】
他に定義されなければ、本明細書で使用されるすべての用語（技術及び科学的用語を含む）は、本発明が属する技術分野で通常の知識を有する者に共通に理解できる意味で使用される。また一般的に使用される辞書に定義されている用語は特別に定義して明らかにしない限り理想的にまたは過度に解釈されない。
【００３８】
図１は、本発明の一実施形態によるコンピュータシステムを説明するためのブロック図である。図２は、図１のホストを説明するためのブロック図である。図３及び図５は、図１のストレージ装置を説明するためのブロック図である。図４は、図１のストレージ装置に格納されるファイルの構造を説明するための図である。図６は、ノードアドレステーブルを説明するための図である。
【００３９】
まず、図１を参照すると、本発明の一実施形態によるコンピュータシステム１はホスト１０とストレージ装置２０とを含む。
【００４０】
ホスト１０とストレージ装置２０とは特定のプロトコルを利用して通信する。例えば、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）プロトコル、ＭＭＣ（ｍｕｌｔｉｍｅｄｉａ  ｃａｒｄ）プロトコル、ＰＣＩ（ｐｅｒｉｐｈｅｒａｌ  ｃｏｍｐｏｎｅｎｔ  ｉｎｔｅｒｃｏｎｎｅｃｔｉｏｎ）プロトコル、ＰＣＩ−Ｅ（ＰＣＩ−ｅｘｐｒｅｓｓ）プロトコル、ＡＴＡ（Ａｄｖａｎｃｅｄ  Ｔｅｃｈｎｏｌｏｇｙ  Ａｔｔａｃｈｍｅｎｔ）プロトコル、Ｓｅｒｉａｌ−ＡＴＡプロトコル、Ｐａｒａｌｌｅｌ−ＡＴＡプロトコル、ＳＣＳＩ  （ｓｍａｌｌ  ｃｏｍｐｕｔｅｒ  ｓｍａｌｌ  ｉｎｔｅｒｆａｃｅ）プロトコル、ＥＳＤＩ（ｅｎｈａｎｃｅｄ  ｓｍａｌｌ  ｄｉｓｋ  ｉｎｔｅｒｆａｃｅ）プロトコル、及びＩＤＥ（Ｉｎｔｅｇｒａｔｅｄ  Ｄｒｉｖｅ  Ｅｌｅｃｔｒｏｎｉｃｓ）プロトコルなどのような多様なインターフェースプロトコルのうち少なくとも一つにより通信できるが、これに限定されるものではない。
【００４１】
ホスト１０はストレージ装置２０をコントロールする。例えば、ホスト１０はストレージ装置２０にデータを書き込んだり、ストレージ装置２０からデータを読み込んだりすることができる。
【００４２】
図２を参照すると、このようなホスト１０はユーザスペース（ｕｓｅｒ  ｓｐａｃｅ）１１とカーネル空間（ｋｅｒｎｅｌ  ｓｐａｃｅ）１３とを含む。
【００４３】
ユーザスペース１１はユーザアプリケーション（ｕｓｅｒ  ａｐｐｌｉｃａｔｉｏｎ）１２が実行される領域であり、カーネル空間１３はカーネル実行のための制限的な保障（ｒｅｓｔｒｉｃｔｉｖｅｌｙ  ｒｅｓｅｒｖｅｄ）領域である。ユーザスペース１１からカーネル空間１３にアクセスするため、システムコール（ｓｙｓｔｅｍ  ｃａｌｌ）を利用する。
【００４４】
カーネル空間１３は仮想ファイルシステム１４、ファイルシステム１６、装置ドライバ１８などを含み得る。ファイルシステム１６は一つ以上のファイルシステム１６を使用して具現される。例えば、ファイルシステム１６はｅｘｔ２、ｎｔｆｓ、ｓｍｂｆｓ、ｐｒｏｃなどである。また、本発明の一実施形態によるコンピュータシステム１はＦ２ＦＳファイルシステムを含み得る。Ｆ２ＦＳファイルシステムについては図３ないし図１１を参照して後述する。
【００４５】
仮想ファイルシステム１４は一つ以上のファイルシステム１６が相互動作できるようにする。互いに異なるメディアの互いに異なるファイルシステム１６に対し、読み込み／書き込み作業をするため、標準化システムコールを使用できるようにする。例えば、ｏｐｅｎ（）、ｒｅａｄ（）、ｗｒｉｔｅ（）のようなシステムコールは、ファイルシステム１６の種類に関係なく使用できる。すなわち、仮想ファイルシステム１４はユーザスペース１１とファイルシステム１６との間に存在する抽象化層である。
【００４６】
装置ドライバ１８は、ハードウェアとユーザアプリケーション（またはオペレーティングシステム）との間のインターフェースを制御する。装置ドライバ１８はハードウェアが特定のオペレーティングシステム下で正常に動作するために必要なプログラムである。
【００４７】
以下では、Ｆ２ＦＳファイルシステムがストレージ装置２０をどのように制御するかについて説明する。
【００４８】
ストレージ装置２０は、ＳＳＤ（Ｓｔａｔｉｃ  Ｓｏｌｉｄ  Ｄｉｓｋ）、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、ｅＭＭＣのような各種カードストレージ、データサーバなどであるが、これに限定されない。
【００４９】
ストレージ装置２０は、例えば、図３に図示するように構成される。セグメント（ＳＥＧＭＥＮＴ）５３は多数のブロック（ＢＬＫ）５１を含み、セクション（ＳＥＣＴＩＯＮ）５５は多数のセグメント５３を含み、ゾーン（ＺＯＮＥ）５７は多数のセクション５５を含む。例えば、ブロック５１は４Ｋｂｙｔｅであり、セグメント５３は５１２個のブロック５１を含み、２Ｍ  ｂｙｔｅであり得る。このような構成は、ストレージ装置２０のフォーマット（ｆｏｒｍａｔ）時点で決定されるが、これに限定されない。セクション５５とゾーン５７のサイズはフォーマット時点で修正され得る。Ｆ２ＦＳファイルシステムはすべてのデータを４Ｋｂｙｔｅのページ単位で読み込み／書き込みすることができる。すなわち、ブロック５１に一つのページが格納され、セグメント５３に多数のページが格納され得る。
【００５０】
一方、ストレージ装置２０に格納されるファイルは図４に図示するように、インデックス構造（ｉｎｄｅｘｉｎｇ  ｓｔｒｕｃｔｕｒｅ）を有する。一つのファイルは多数のデータと、多数のデータに関連する多数のノードを含む。データブロック７０はデータを格納する部分であり、ノードブロック８０，８１〜８８，９１〜９５はノードを格納する部分である。
【００５１】
ノードブロック８０，８１〜８８，９１〜９５はダイレクトノードブロック（ｄｉｒｅｃｔ  ｎｏｄｅ  ｂｌｏｃｋ）８１〜８８、インダイレクトノードブロック（ｉｎｄｉｒｅｃｔ  ｎｏｄｅ  ｂｌｏｃｋ）９１〜９５、ｉノードブロック（ｉｎｏｄｅ  ｂｌｏｃｋ）８０を含む。
【００５２】
ダイレクトノードブロック８１〜８８はデータブロック７０を直接指すデータポインタ（ｄａｔａ  ｐｏｉｎｔｅｒ）を含む。
【００５３】
インダイレクトノードブロック９１〜９５はデータブロック７０ではない、他のノードブロック８３〜８８（すなわち、下位のノードブロック）を指すポインタを含む。インダイレクトノードブロック９１〜９５は、例えば、第１インダイレクトノードブロック９１〜９４、第２インダイレクトノードブロック９５などを含む。第１インダイレクトノードブロック９１〜９４はダイレクトノードブロック８３〜８８を指す第１ノードポインタを含む。第２インダイレクトノードブロック９５は第１インダイレクトノードブロック９３，９４を指す第２ノードポインタを含む。
【００５４】
ｉノードブロック８０はデータポインタ、ダイレクトノードブロック８１，８２を指す第１ノードポインタ、第１インダイレクトノードブロック９１，９２を指す第２ノードポインタ、第２インダイレクトノードブロック９５を指す第３ノードポインタのうち少なくとも一つを含む。一つのファイルは、例えば、最大３Ｔｂｙｔｅであり得、このような大容量のファイルは次のようなインデックス構造を有し得る。例えば、ｉノードブロック８０内のデータポインタは９９４個であり、９９４個のデータポインタ各々は９９４個のデータブロック７０各々を指す。第１ノードポインタは２個であり、２個の第１ノードポインタ各々は２個のダイレクトノードブロック８１，８２を指す。第２ノードポインタは２個であり、２個の第２ノードポインタ各々は２個の第１インダイレクトノードブロック９１，９２を指す。第３ノードポインタは１個であり、第２インダイレクトノードブロック９５を指す。
【００５５】
また、ファイルごとにｉノードメタデータを含むｉノードページが存在する。
【００５６】
一方、図５のように、本発明の一実施形態によるコンピュータシステム１において、ストレージ装置２０は第１領域Ｉと第２領域ＩＩとに分けられる。ファイルシステム１６はフォーマットする際、ストレージ装置２０を第１領域Ｉと第２領域ＩＩとに分けるが、これに限定されない。第１領域Ｉはシステム全体によって管理される各種情報が格納される空間であり、例えば、現在割当てられたファイル数、有効なページ数、位置などの情報を含む。第２領域ＩＩは実際ユーザが使用している各種ディレクトリ情報、データ、ファイル情報などを格納する空間である。
【００５７】
また、第１領域Ｉはストレージ装置２０の前部に格納され、第２領域ＩＩはストレージ装置２０の後部に格納される。ここで、前部とは後部より物理アドレス（ｐｈｙｓｉｃａｌ  ａｄｄｒｅｓｓ）を基準に前にあることを意味する。
【００５８】
具体的には、第１領域Ｉはスーパーブロック（ｓｕｐｅｒ  ｂｌｏｃｋ）６１，６２、チェックポイント領域（ＣｈｅｃｋＰｏｉｎｔ  ａｒｅａ、ＣＰ）６３、セグメント情報テーブル（Ｓｅｇｍｅｎｔ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｔａｂｌｅ、ＳＩＴ）６４、ノードアドレステーブル（Ｎｏｄｅ  Ａｄｄｒｅｓｓ  Ｔａｂｌｅ、ＮＡＴ）６５、セグメント要約領域（Ｓｅｇｍｅｎｔ  Ｓｕｍｍａｒｙ  Ａｒｅａ、ＳＳＡ）６６などを含む。
【００５９】
先ず、スーパーブロック６１，６２には、ファイルシステム１６のデフォルト情報が格納される。例えば、ブロック５１のサイズ、ブロック５１の数、ファイルシステム１６の状態フラグ（ｃｌｅａｎ、ｓｔａｂｌｅ、ａｃｔｉｖｅ、ｌｏｇｇｉｎｇ、ｕｎｋｎｏｗｎ）などのような情報が格納される。図示するように、スーパーブロック６１，６２は２個であり得、各々には同一の内容が格納される。したがって、二つのスーパーブロック６１，６２のうち何れか一つに問題が発生しても、他の一つを利用することができる。
【００６０】
チェックポイント領域６３はチェックポイントを格納する。チェックポイントは論理的なブレークポイントであって、このようなブレークポイントまでの状態が完全に保存される。コンピュータシステムの動作中にトラブル（例えば、シャットダウン（ｓｈｕｔｄｏｗｎ））が発生すると、ファイルシステム１６は保存されているチェックポイントを利用してデータを復旧することができる。このようなチェックポイントは、例えば、マウント時（ｍｏｕｎｔ）、またはシステムシャットダウン時に生成するが、これに限定されない。
【００６１】
ノードアドレステーブル（ＮＡＴ）６５は図６に図示するように、ノード各々に対応する多数のノード識別子（ＮＯＤＥ  ＩＤ）と、多数のノード識別子各々に対応する多数の物理アドレスを含む。例えば、ノード識別子Ｎ０に対応するノードブロックは物理アドレスａに対応し、ノード識別子Ｎ１に対応するノードブロックは物理アドレスｂに対応し、ノード識別子Ｎ２に対応するノードブロックは物理アドレスｃに対応する。すべてのノード（ｉノード、ダイレクトノード、インダイレクトノードなど）は各々固有のノード識別子を有する。言い換えると、すべてのノード（ｉノード、ダイレクトノード、インダイレクトノードなど）はノードアドレステーブル６５から固有のノード識別子を割り当てられる。ノードアドレステーブル６５はｉノードのノード識別子、ダイレクトノードのノード識別子及びインダイレクトノードのノード識別子などを格納する。各ノード識別子に対応する各物理アドレスはアップデートされる。
【００６２】
セグメント情報テーブル（ＳＩＴ）６４は、各セグメントの有効なページの数と、多数のページのビットマップを含む。ビットマップは各ページが有効であるかどうかを０または１と示すものを意味する。セグメント情報テーブル６４はクリーニング（ｃｌｅａｎｉｎｇ）作業（またはガーベジコレクション（ｇａｒｂａｇｅ  ｃｏｌｌｅｃｔｉｏｎ））で使用され得る。特にビットマップはクリーニング作業を行う際、不要の読み込み要請を減らすことができ、アダプティブデータロギング（ａｄａｐｔｉｖｅ  ｄａｔａ  ｌｏｇｇｉｎｇ）際、ブロック割り当てるときに利用される。
【００６３】
セグメント要約領域（ＳＳＡ）６６は第２領域ＩＩの各セグメントの要約情報を集めておいた領域である。具体的には、セグメント要約領域６６は第２領域ＩＩの各セグメントの多数のブロックが属するノードの情報を記述する。セグメント要約領域６６はクリーニング作業（またはガーベジコレクション）で使用され得る。具体的に説明すると、ノードブロック（８０，８１〜８８，９１〜９５）はデータブロック７０または下位のノードブロック（例えば、ダイレクトノードブロックなど）の位置を確認するため、ノード識別子リストまたはアドレスを有している。これに対し、セグメント要約領域６６はデータブロック７０または下位のノードブロック（８０，８１〜８８，９１〜９５）が上位のノードブロック（８０，８１〜８８，９１〜９５）の位置を確認できるインデックスを提供する。セグメント要約領域６６は多数のセグメント要約ブロックを含む。一つのセグメント要約ブロックは、第２領域ＩＩに位置する一つのセグメントに対する情報を有している。また、セグメント要約ブロックは多数の要約情報で構成されており、一つの要約情報は一つのデータブロックまたは一つのノードブロックに対応する。
【００６４】
また、第２領域ＩＩは互いに分離されたデータセグメント（ＤＳ０，ＤＳ１）とノードセグメント（ＮＳ０，ＮＳ１）を含む。多数のデータはデータセグメント（ＤＳ０，ＤＳ１）に格納され、多数のノードはノードセグメント（ＮＳ０，ＮＳ１）に格納される。データとノードが分離する領域が互いに異なると、効率的にセグメントを管理することができ、データを読み込みするとき、より効果的に短時間内に読み込みすることができる。
【００６５】
一方、第２領域ＩＩでの書き込み動作は順次アクセス方式を利用して行い、第１領域Ｉでの書き込み動作はランダムアクセス方式を利用して行う。物理アドレスの観点から、第２領域ＩＩはストレージ装置２０の後部に格納され、第１領域Ｉはストレージ装置２０の前部に格納される。
【００６６】
ストレージ装置２０は、例えば、ＳＳＤ（Ｓｔａｔｉｃ  Ｓｏｌｉｄ  Ｄｉｓｋ）である場合、ＳＳＤ内部にバッファがある場合もある。バッファは例えば、読み込み／書き込み動作の速度が速いＳＬＣ（Ｓｉｎｇｌｅ  Ｌａｙｅｒ  Ｃｅｌｌ）メモリである。したがって、このようなバッファは限定された空間のランダムアクセス方式の書き込み速度を速くすることができる。
【００６７】
図面では、第１領域Ｉはスーパーブロック６１，６２、チェックポイント領域６３、セグメント情報テーブル６４、ノードアドレステーブル６５、セグメント要約領域６６の順序で図示しているが、これに限定されない。例えば、セグメント情報テーブル６４とノードアドレステーブル６５の位置が変わってもよく、ノードアドレステーブル６５とセグメント要約領域６６の位置が変わってもよい。
【００６８】
以下では、図７と図８を参照して本発明の一実施形態によるコンピュータシステムのデータ管理方法について説明する。図７と図８は、本発明の一実施形態によるコンピュータシステムのデータ管理方法を説明するための概念図である。
【００６９】
図７を参照すると、ファイルシステム１６はストレージ装置を第１領域Ｉと第２領域ＩＩとに分ける。前述したように、フォーマット時点で第１領域Ｉと第２領域ＩＩとに分けられる。
【００７０】
ファイルシステム１６は、図４を参照して説明したように、一つのファイルを多数のデータと、多数のデータと関連する多数のノード（例えば、ｉノード、ダイレクトノード、インダイレクトノードなど）で構成し、ストレージ装置２０内に格納する。この際、すべてのノードは、ノードアドレステーブル６５からノード識別子（ＮＯＤＥ  ＩＤ）を割り当てられる。例えば、第１ノードないし第５ノードが各々ノード識別子Ｎ０〜Ｎ５を割り当てられたと仮定する。Ｎ０〜Ｎ５に対応するノードブロックは各々物理アドレスａ、ｂ、ｃ  …  ｄに対応する。図７に図示するハッチング部分は、第２領域ＩＩ内で多数のデータ、多数のノードが書き込まれた部分を意味する。
【００７１】
例えば、ノード識別子Ｎ５によって指示される第５ノードであるダイレクトノードＮ５はＤＡＴＡ１０を指す。ダイレクトノードＮ５は物理アドレスｄに該当するノードブロックに格納されている。すなわち、ノードアドレステーブル６５内で、物理アドレスｄはノード識別子Ｎ５に対応し、ダイレクトノードＮ５は物理アドレスｄに対応するノードブロックに格納されていることを示す。
【００７２】
図８は、ファイル内で一部データＤＡＴＡ１０（第１データ）をＤＡＴＡ１０ａ（第２データ）に修正する場合を示す。
【００７３】
前述したように、情報は第２領域ＩＩで順次アクセス方式を利用して書き込む。したがって、修正されたデータＤＡＴＡ１０ａは新しい位置に空いているデータブロック内に格納される。また、ダイレクトノードＮ５は、修正されたデータＤＡＴＡ１０ａが格納されたデータブロックを指すように修正され、物理アドレスｆに対応する空いているノードブロック内に新しく格納される。
【００７４】
情報は第１領域Ｉでランダムアクセス方式を利用して書き込む。したがって、ノードアドレステーブル６５は物理アドレスｆがノード識別子Ｎ５に対応するように更新され、以前の物理アドレスｄを上書きし、ダイレクトノードＮ５は物理アドレスｆに対応するノードブロックに格納されていることを示す。
【００７５】
ファイル内の一部データの修正を整理すると、多数のデータのうち第１データは第１物理アドレスに対応する第１ブロック内に格納され、第１ダイレクトノードは第１データを指示し、第１ダイレクトノードは第２物理アドレスに対応する第２ブロック内に格納される。ノードアドレステーブル内で、第１ダイレクトノードの第１ノード識別子は格納される第２物理アドレスに対応する。ここで、第１データを修正して第２データを生成する。第２データを第１物理アドレスと異なる第３物理アドレスに対応する第３ブロック内に書き込む。第１ダイレクトノードが第２データを指示するように修正し、第２物理アドレスと異なる第４物理アドレスに対応する第４ブロック内に書き込む。また、ノードアドレステーブル内で、第１ダイレクトノードの第１ノード識別子に対応する第２物理アドレスは上書きされ、第１ノード識別子は第４物理アドレスに対応する。
【００７６】
ログ構造化ファイルシステムで、ノードアドレステーブル６５を利用すると、ファイルの一部データを修正する際、修正するデータ及びノードの量を最小化することができる。すなわち、修正されたデータと、修正されたデータを直接指すダイレクトノードのみを順次アクセス方式を利用して書き込みし、ダイレクトノードを指すインダイレクトノードまたはｉノードなどは修正する必要がない。ノードアドレステーブル６５内で、ダイレクトノードに対応する物理アドレスを修正したからである。
【００７７】
図９は、本発明の他の実施形態によるコンピュータシステムのストレージ装置に格納されるファイルの構造を説明するためのブロック図である。以下では説明の便宜上、図１ないし図８を参照して説明した内容と異なる点を中心に説明する。
【００７８】
図９を参照すると、本発明の他の実施形態によるコンピュータシステムのストレージ装置において、第２領域ＩＩは互いに分離された多数のセグメント（Ｓ１〜Ｓｎ、ただし、ｎは自然数）を含む。各セグメント（Ｓ１〜Ｓｎ）には、データとノードに関係なく格納される。
【００７９】
反面、図５に図示する本発明の一実施形態によるコンピュータシステムにおいて、ストレージ装置は互いに分離されたデータセグメントＤＳ０，ＤＳ１、ノードセグメントＮＳ０，ＮＳ１を含む。多数のデータはデータセグメントＤＳ０，ＤＳ１に格納され、多数のノードはノードセグメントＮＳ０，ＮＳ１に格納される。
【００８０】
図１０は、本発明のまた他の実施形態によるコンピュータシステムのストレージ装置に格納されるファイルの構造を説明するためのブロック図である。以下では説明の便宜上、図１ないし図８を参照して説明した内容と異なる点を中心に説明する。
【００８１】
図１０を参照すると、本発明のまた他の実施形態によるコンピュータシステムのストレージ装置で、第１領域Ｉはセグメント要約領域（図５のＳＳＡ６６を参照）を含まない。すなわち、第１領域Ｉはスーパーブロック６１，６２、チェックポイント領域６３、セグメント情報テーブル６４、ノードアドレステーブル６５を含む。
【００８２】
セグメント要約情報は第２領域ＩＩ内に格納される。具体的には、第２領域ＩＩは多数のセグメントＳ０〜Ｓｎを含み、各セグメントＳ０〜Ｓｎは多数のブロックに区分される。各セグメントＳ０〜Ｓｎのうち少なくとも一つのブロックＳＳ０〜ＳＳｎにセグメント要約情報を格納できる。
【００８３】
図１１は、本発明のまた他の実施形態によるコンピュータシステムのストレージ装置に格納されるファイルの構造を説明するためのブロック図である。以下では説明の便宜上、図１ないし図８を参照して説明した内容と異なる点を中心に説明する。
【００８４】
図１１を参照すると、本発明のまた他の実施形態によるコンピュータシステムのストレージ装置で、第１領域Ｉはセグメント要約領域（図５のＳＳＡ６６を参照）を含まない。すなわち、第１領域Ｉはスーパーブロック６１，６２、チェックポイント領域６３、セグメント情報テーブル６４、ノードアドレステーブル６５を含む。
【００８５】
セグメント要約情報は第２領域ＩＩ内に格納される。第２領域ＩＩは多数のセグメント５３を含み、各セグメント５３は多数のブロックＢＬＫ０〜ＢＬＫｍに区分され、各ブロックＢＬＫ０〜ＢＬＫｍはＯＯＢ（Ｏｕｔ  Ｏｆ  Ｂａｎｄ）（ＯＯＢ１〜ＯＯＢｍ、ただし、ｍは自然数）領域を含む。ＯＯＢ領域ＯＯＢ１〜ＯＯＢｍにセグメント要約情報を格納できる。
【００８６】
以下では、本発明のいくつかの実施形態によるコンピュータシステムが適用される具体的なシステムについて説明する。以下で説明するシステムは例示的なものに過ぎず、これに限定されない。
【００８７】
図１２は、本発明のいくつかの実施形態によるコンピュータシステムの具体的な一例を説明するためのブロック図である。
【００８８】
図１２を参照すると、ホストサーバ３００はネットワーク３２０を介して多数のデータベースサーバ３３０，３４０，３５０，３６０と接続されている。ホストサーバ３００内に、データベースサーバ３３０，３４０，３５０，３６０のデータを管理するためのファイルシステム３１６が設けられる。ファイルシステム３１６は、例えば、図１ないし図１１を参照して説明したＦ２ＦＳファイルシステムであり得る。
【００８９】
図１３ないし図１５は、本発明のいくつかの実施形態によるコンピュータシステムの具体的な他の例を説明するためのブロック図である。
【００９０】
先ず、図１３を参照すると、ストレージ装置１０００（図１のストレージ装置２０に対応する）は不揮発性メモリ装置１１００及びコントローラ１２００を含む。
【００９１】
ここで、不揮発性メモリ装置１１００には、前述したスーパーブロック６１，６２、チェックポイント領域６３、セグメント情報テーブル６４、ノードアドレステーブル６５などが格納されている。
【００９２】
コントローラ１２００はホスト及び不揮発性メモリ装置１１００に連結される。ホスト（Ｈｏｓｔ）からの要請に応答し、コントローラ１２００は不揮発性メモリ装置１１００にアクセスするように構成される。例えば、コントローラ１２００は不揮発性メモリ装置１１００の読み込み、書き込み、削除｛さくじょ｝、及びバックグラウンド（ｂａｃｋｇｒｏｕｎｄ）動作を制御するように構成される。コントローラ１２００は不揮発性メモリ装置１１００とホストとの間にインターフェースを提供するように構成される。コントローラ１２００は不揮発性メモリ装置１１００を制御するためのファームウェア（ｆｉｒｍｗａｒｅ）を駆動するように構成される。
【００９３】
例示的には、コントローラ１２００はＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、プロセシングユニット（ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）、ホストインターフェース（ｈｏｓｔ  ｉｎｔｅｒｆａｃｅ）、及びメモリインターフェース（ｍｅｍｏｒｙ  ｉｎｔｅｒｆａｃｅ）のようなよく知られた構成要素をさらに含む。ＲＡＭは、プロセシングユニットの動作メモリ、不揮発性メモリ装置１１００とホストとの間のキャッシュメモリ、及び不揮発性メモリ装置１１００とホストとの間のバッファメモリのうち少なくとも一つのとして利用される。プロセシングユニットはコントローラ１２００の諸般動作を制御する。
【００９４】
コントローラ１２００と不揮発性メモリ装置１１００は一つの半導体装置内に集積される。例示的に、コントローラ１２００と不揮発性メモリ装置１１００は一つの半導体装置に集積され、メモリカードを構成することができる。例えば、コントローラ１２００と不揮発性メモリ装置１１００は一つの半導体装置に集積され、ＰＣカード（ＰＣＭＣＩＡ、ｐｅｒｓｏｎａｌ  ｃｏｍｐｕｔｅｒ  ｍｅｍｏｒｙ  ｃａｒｄ  ｉｎｔｅｒｎａｔｉｏｎａｌ  ａｓｓｏｃｉａｔｉｏｎ）、コンパックフラッシュカード（ＣＦ）、スマートメディアカード（ＳＭ、ＳＭＣ）、メモリスティック、マルチメディアカード（ＭＭＣ、ＲＳ−ＭＭＣ、ＭＭＣｍｉｃｒｏ）、ＳＤカード（ＳＤ、ｍｉｎｉＳＤ、ｍｉｃｒｏＳＤ、ＳＤＨＣ）、ユニバーサルフラッシュ記憶装置（ＵＦＳ）などのようなメモリカードを構成できる。
【００９５】
コントローラ１２００と不揮発性メモリ装置１１００は一つの半導体装置に集積されＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）を構成する。ＳＳＤは半導体メモリにデータを格納するように構成される格納装置を含む。システム１０００が半導体ドライブ（ＳＳＤ）として利用される場合、システム１０００に連結されたホストの動作速度は画期的に改善される。
【００９６】
他の例として、システム１０００は、コンピュータ、ＵＭＰＣ（Ｕｌｔｒａ  ＭｏｂｉｌｅＰＣ）、ワークステーション、ネットブック（ｎｅｔ−ｂｏｏｋ）、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔｓ）、ポータブル（ｐｏｒｔａｂｌｅ）コンピュータ、ウェブタブレット（ｗｅｂ  ｔａｂｌｅｔ）、無線電話機（ｗｉｒｅｌｅｓｓ  ｐｈｏｎｅ）、携帯電話（ｍｏｂｉｌｅ  ｐｈｏｎｅ）、スマートフォン（ｓｍａｒｔ  ｐｈｏｎｅ）、ｅ−ブック（ｅ−ｂｏｏｋ）、ＰＭＰ（ｐｏｒｔａｂｌｅ  ｍｕｌｔｉｍｅｄｉａ  ｐｌａｙｅｒ）、携帯用ゲーム機、ナビゲーション（ｎａｖｉｇａｔｉｏｎ）装置、ブラックボックス（ｂｌａｃｋ  ｂｏｘ）、デジタルカメラ（ｄｉｇｉｔａｌ  ｃａｍｅｒａ）、スリーディーテレビ（３−ｄｉｍｅｎｓｉｏｎａｌ  ｔｅｌｅｖｉｓｉｏｎ）、デジタルオーディオレコーダ（ｄｉｇｉｔａｌ  ａｕｄｉｏ  ｒｅｃｏｒｄｅｒ）、デジタルオーディオプレーヤ（ｄｉｇｉｔａｌ  ａｕｄｉｏ  ｐｌａｙｅｒ）、デジタル画像レコーダ｛ろくが そうち｝（ｄｉｇｉｔａｌ  ｐｉｃｔｕｒｅ  ｒｅｃｏｒｄｅｒ）、デジタル画像プレーヤ（ｄｉｇｉｔａｌ  ｐｉｃｔｕｒｅ  ｐｌａｙｅｒ）、デジタルビデオレコーダ（ｄｉｇｉｔａｌ  ｖｉｄｅｏ  ｒｅｃｏｒｄｅｒ）、デジタルビデオプレーヤ（ｄｉｇｉｔａｌ  ｖｉｄｅｏ  ｐｌａｙｅｒ）、情報を無線環境で送受信できる装置、ホームネットワークを構成する多様な電子装置のうちの一つ、コンピュータネットワークを構成する多様な電子装置のうちの一つ、テレマティックスネットワークを構成する多様な電子装置のうちの一つ、ＲＦＩＤ装置、またはコンピュータシステムを構成する多様な構成要素のうちの一つなどのような電子装置の多様な構成要素のうちの一つとして提供される。
【００９７】
例示的には、不揮発性メモリ装置１１００またはシステム１０００は多様な形態のパッケージで実装される。例えば、不揮発性メモリ装置１１００またはシステム１０００は、Ｐａｃｋａｇｅ  ｏｎ  Ｐａｃｋａｇｅ（ＰｏＰ）、Ｂａｌｌ  ｇｒｉｄ  ａｒｒａｙｓ（ＢＧＡｓ）、Ｃｈｉｐ  ｓｃａｌｅ  ｐａｃｋａｇｅｓ（ＣＳＰｓ）、Ｐｌａｓｔｉｃ  Ｌｅａｄｅｄ  Ｃｈｉｐ  Ｃａｒｒｉｅｒ（ＰＬＣＣ）、Ｐｌａｓｔｉｃ  Ｄｕａｌ  Ｉｎ  Ｌｉｎｅ  Ｐａｃｋａｇｅ（ＰＤＩＰ）、Ｄｉｅ  ｉｎ  Ｗａｆｆｌｅ  Ｐａｃｋ、Ｄｉｅ  ｉｎ  Ｗａｆｅｒ  Ｆｏｒｍ、Ｃｈｉｐ  Ｏｎ  Ｂｏａｒｄ（ＣＯＢ）、Ｃｅｒａｍｉｃ  Ｄｕａｌ  Ｉｎ  Ｌｉｎｅ  Ｐａｃｋａｇｅ（ＣＥＲＤＩＰ）、Ｐｌａｓｔｉｃ  Ｍｅｔｒｉｃ  Ｑｕａｄ  Ｆｌａｔ  Ｐａｃｋ（ＭＱＦＰ）、Ｔｈｉｎ  Ｑｕａｄ  Ｆｌａｔｐａｃｋ（ＴＱＦＰ）、Ｓｍａｌｌ  Ｏｕｔｌｉｎｅ（ＳＯＩＣ）、Ｓｈｒｉｎｋ  Ｓｍａｌｌ  Ｏｕｔｌｉｎｅ  Ｐａｃｋａｇｅ（ＳＳＯＰ）、Ｔｈｉｎ  Ｓｍａｌｌ  Ｏｕｔｌｉｎｅ（ＴＳＯＰ）、Ｔｈｉｎ  Ｑｕａｄ  Ｆｌａｔｐａｃｋ（ＴＱＦＰ）、Ｓｙｓｔｅｍ  Ｉｎ  Ｐａｃｋａｇｅ（ＳＩＰ）、Ｍｕｌｔｉ  Ｃｈｉｐ  Ｐａｃｋａｇｅ（ＭＣＰ）、Ｗａｆｅｒ−ｌｅｖｅｌ  Ｆａｂｒｉｃａｔｅｄ  Ｐａｃｋａｇｅ（ＷＦＰ）、Ｗａｆｅｒ−Ｌｅｖｅｌ  Ｐｒｏｃｅｓｓｅｄ  Ｓｔａｃｋ  Ｐａｃｋａｇｅ（ＷＳＰ）などのような方式でパッケージ化して実装される。
【００９８】
次いで、図１４を参照すると、システム２０００は不揮発性メモリ装置２１００とコントローラ２２００を含む。不揮発性メモリ装置２１００は複数の不揮発性メモリチップを含む。複数の不揮発性メモリチップは複数のグループに分割される。複数の不揮発性メモリチップの各グループは一つの共通チャンネルを介してコントローラ２２００と通信するように構成される。例えば、複数の不揮発性メモリチップは第１ないし第ｋチャンネルＣＨ１〜ＣＨｋを介してコントローラ２２００と通信することが図示されている。
【００９９】
図１４を参照すると、一つのチャンネルに複数の不揮発性メモリチップが連結されることが図示されている。しかし、一つのチャンネルに一つの不揮発性メモリチップが連結するようにシステム２０００が変形され得ることを理解できるであろう。
【０１００】
次いで、図１５を参照すると、システム３０００は、中央処理装置（ＣＰＵ）３１００、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）３２００、ユーザインターフェース３３００、電源３４００、及び図１４のシステム２０００を含む。
【０１０１】
システム２０００は、システムバス３５００を介して中央処理処置（ＣＰＵ）３１００、ＲＡＭ３２００、ユーザインターフェース３３００、及び電源３４００に電気的に接続する。ユーザインターフェース３３００を介して提供されたり、中央処理装置３１００によって処理されたデータはシステム２０００に格納される。
【０１０２】
図１５は、不揮発性メモリ装置２１００がコントローラ２２００を介してシステムバス３５００に連結されることが図示されている。しかし、不揮発性メモリ装置２１００はシステムバス３５００に直接連結するように構成してもよい。
【０１０３】
以上添付する図面を参照して本発明の実施形態について説明したが、本発明が属する技術分野で通常の知識を有する者は、本発明がその技術的思想や必須の特徴を変更しない範囲で他の具体的な形態で実施され得ることを理解することができる。したがって、上記実施形態はすべての面で例示的なものであり、限定的なものではないものと理解しなければならない。
【符号の説明】
【０１０４】
１０    ホスト
２０    ストレージ装置
６１，６２    スーパーブロック
６３    チェックポイントブロック
６４    セグメント情報テーブル
６５    ノードアドレステーブル
６６    セグメント要約領域
【図１】
2014071906.tif 000003
【図２】
2014071906.tif 000004
【図３】
2014071906.tif 000005
【図４】
2014071906.tif 000006
【図５】
2014071906.tif 000007
【図６】
2014071906.tif 000008
【図７】
2014071906.tif 000009
【図８】
2014071906.tif 000010
【図９】
2014071906.tif 000011
【図１０】
2014071906.tif 000012
【図１１】
2014071906.tif 000013
【図１２】
2014071906.tif 000014
【図１３】
2014071906.tif 000015
【図１４】
2014071906.tif 000016
【図１５】
2014071906.tif 000017