(57)【要約】【課題】  フラッシュメモリの記録特性を反映してフラッシュメモリにデータを格納する方法および装置を提供する。【解決手段】  アプリケーションから格納するデータを受信するステップと、前記データの変更頻度を判断するステップと、前記データの変更頻度により前記データが格納される不揮発性メモリの空間の情報を抽出するステップと、前記抽出された空間の情報を用いて、前記空間に前記データを格納するように前記不揮発性メモリに前記データおよび前記空間に関する情報を送信するステップとを含む。【選択図】  図３
2007220101.tif 000002
【特許請求の範囲】
【請求項１】
ブロック方式のメモリにおいてデータの変更類型に応じてブロックを管理する方法であって、
アプリケーションから格納するデータを受信するステップと、
前記データの変更頻度を判断するステップと、
前記データの変更頻度により前記データが格納される不揮発性メモリの空間の情報を抽出するステップと、
前記抽出された空間の情報を用いて、前記空間に前記データを格納するように前記不揮発性メモリに前記データおよび前記空間に関する情報を送信するステップとを含むブロック管理方法。
【請求項２】
前記データの変更頻度が高い場合、前記抽出するステップは変更頻度が高いブロックの空間の情報を抽出するステップである請求項１に記載のブロック管理方法。
【請求項３】
前記データはＦＡＴを構成するデータである請求項２に記載のブロック管理方法。
【請求項４】
前記データが読み取り専用データの場合、前記抽出するステップは変更頻度が低いブロックの空間の情報を抽出するステップである請求項１に記載のブロック管理方法。
【請求項５】
前記不揮発性メモリの空間の情報を抽出するステップ以前に、前記不揮発性メモリの空間を変更頻度により区分するステップをさらに含む請求項１に記載のブロック管理方法。
【請求項６】
前記区分するステップは、ＦＡＴ領域を設定するために前記不揮発性メモリの空間をフォーマットするステップを含む請求項５に記載のブロック管理方法。
【請求項７】
前記不揮発性メモリは、データを格納する前に消去作業を必要として、２つ以上の格納単位に対してマージ作業を行う請求項１に記載のブロック管理方法。
【請求項８】
ブロック方式のメモリにおいてデータの変更類型に応じてブロックを管理する装置であって、
不揮発性メモリにデータを送信したり、または前記不揮発性メモリのデータを受信したりして前記不揮発性メモリと接触する格納装置結合部と、
アプリケーションから格納するデータを受信して、前記データの変更頻度を判断して、前記データの変更頻度により前記データが格納される不揮発性メモリの空間の情報を抽出するファイルシステム部と、
前記抽出された空間の情報を用いて、前記空間に前記データを格納するように前記データおよび前記空間に関する情報を前記格納装置結合部に送信する制御部とを含むブロック管理装置。
【請求項９】
前記データの変更頻度が高い場合、前記ファイルシステム部は変更頻度が高いブロックの空間の情報を抽出する請求項８に記載のブロック管理装置。
【請求項１０】
前記データはＦＡＴを構成するデータである請求項９に記載のブロック管理装置。
【請求項１１】
前記データが読み取り専用データの場合、前記ファイルシステム部は変更頻度が低いブロックの空間の情報を抽出する請求項８に記載のブロック管理装置。
【請求項１２】
前記ファイルシステム部は前記不揮発性メモリの空間を変更頻度により区分する請求項８に記載のブロック管理装置。
【請求項１３】
前記ファイルシステム部はＦＡＴ領域を設定するために前記不揮発性メモリの空間をフォーマットする請求項１２に記載のブロック管理装置。
【請求項１４】
前記不揮発性メモリはデータを格納する前に消去作業を必要として、２つ以上の格納単位に対してマージ作業を行う請求項８に記載のブロック管理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性格納装置にデータを格納する方法および装置に関して、より詳しくはブロック方式のメモリにおいてデータの変更類型に応じてブロックを管理する方法および装置に関するものである。
【背景技術】
【０００２】
フラッシュメモリは衝撃に強くて、電力消耗が少ない不揮発性メモリであって、最近移動式デバイスや内蔵型システムの格納装置として広く用いられている。
【０００３】
一般的に、ＮＡＮＤ型フラッシュメモリは、５１２バイト（１セクタ）あるいは２０４８バイト（４セクタ）のデータ領域と、１６バイトあるいは６４バイトの予備領域からなるページと、複数のページを１つにまとめたブロックに分けられる。１つのＮＡＮＤ型フラッシュメモリは多数のブロックで構成される。また、ＮＡＮＤ型フラッシュメモリは、ハードウェア特性上すでに使われたページに書き込み演算を行うためには、そのセクタが含まれたブロック全体を消す削除（消去）演算を先ず行わなければならない。また、各ブロックを削除できる回数はＮＡＮＤ型フラッシュメモリの寿命と関連があり、これを考慮してＮＡＮＤ型フラッシュメモリ上の全てのブロックは均等に使われなければならない。
【０００４】
このように、フラッシュメモリはその物理的な構造が異なり、既存のハードディスクのようにセクタ単位の読み取り／書き込みが可能な線形空間を提供するためには、別途のＦＴＬ（Ｆｌａｓｈ  Ｔｒａｎｓｌａｔｉｏｎ  Ｌａｙｅｒ）が必要である。ＦＴＬは上位応用から要請された論理アドレスをフラッシュメモリ上の物理アドレスに変換する役割をする。
【０００５】
マッピング方式を用いたＦＴＬでは、論理的に連続したセクタを物理的に互いに異なる位置に記録することができる。ＮＡＮＤ型フラッシュメモリは、書き込み（ライト）単位より削除（イレーズ、または消去）単位がさらに大きいため、一定の限界に至れば任意のブロックを用いて物理的に互いに異なる位置に分散している連続したデータを同一のアドレス空間に集める作業が必ず必要になる。このような過程をマージ動作という。
【０００６】
図１は、フラッシュメモリにおいて発生するマージを示す図面である。図１に示した通り、論理的に同一のブロック内に存在しなければならないデータがＬＳＮ  ＃５１２〜＃７６７ブロックで示すように、物理的に２つ以上のブロックに分散しているが、このように分散しているデータを物理的に同一のブロック１０にコピーする過程を示す。
【０００７】
一方、ファイルシステムは、ＦＴＬ上位において作動する応用であって、ＦＴＬに特定論理アドレスに対して所定のデータを記録したり、記録されたデータを読み取ったりする作動をする。このようなファイルシステムは、既存のハードディスクやフロッピー（登録商標）ディスクのような磁気ディスクを対象として設計されており、先に説明したフラッシュメモリの特性を十分に反映していない。例えば、磁気ディスク上に記録されたデータの修正は、既存データが記録された位置に新規データを上書きすることのみで達成される。しかし、ＮＡＮＤ型フラッシュメモリの場合、その物理的な特性上、既存データが記録されたページに関する変換情報を無効にして、新しいページに新規データを記録した後に変換情報を修正する作業が伴う。したがって、ＦＴＬに対する頻繁なデータ修正要求はその後のマージ動作を誘発する原因になる。
【０００８】
図２は、従来のフラッシュメモリのブロック空間を示す図面である。ファイルシステムは、格納装置が提供する線形的なアドレス空間上に「１５」のようなファイルシステムレイアウトを構成する。このような過程をフォーマットと呼ぶ。ディスク上のアドレス空間は、ファイルシステム自体のデータを管理するためのメタデータが記録される空間とブロックに再び区切られて使用されるブロック空間とに分れる。「２０」のようにブロック空間は再び１つ以上のセクタを含むデータブロックに区切られ、「２５」のように各データブロックはファイルシステムによって管理される。
【０００９】
図２を詳しく見ると、ファイルシステムは、フォーマット過程において「１５」のように全体格納装置空間を管理するのに必要なファイルシステムメタデータの大きさを計算して、ファイルシステムメタデータのための空間を割り当て、残りをブロック空間に割り当てる。
【００１０】
ファイルシステムは、新しいファイルの追加やファイル内容の記録などのために使用可能なデータブロックを割り当てて使用する。新しく割り当てられたデータブロックはファイルシステムによって「使用中」であるデータブロックと表示される。
【００１１】
先に説明したとおり、ファイルシステムは全体格納空間を用途に応じて分割して使うようになる。その用途とは、ファイルシステムメタデータを格納するための空間と、上位応用から記録の要請を受けたデータを格納するための空間とに分れる。
【００１２】
しかし、このようなデータは、アクセスパターンが非常に異なる場合が多い。例えば、ファイルシステムメタデータは上位応用から記録の要請を受けたデータに比べて相対的に少量で記録され、頻繁に修正される特性を示す。また、上位応用から記録の要請を受けたデータは相対的に大量で記録されるが、ファイルシステムメタデータに比べると記録された後にはそれほど頻繁に修正されない。
【００１３】
したがって、頻繁に修正されるデータと、一度記録されれば消される前までほとんど修正されることがないデータが格納空間内に散在して分布するようになる。そのため、このように性質が互いに異なるデータがナンドフラッシュ上の物理的に同じブロックに存在するようになる場合、頻繁に修正されるデータによって、該当ブロックがしばしばマージ動作の対象になり得る。このような頻繁なマージはファイルシステムの全体的な性能を低下させ、フラッシュメモリの寿命を短縮させる結果を招くようになる。
【００１４】
したがって、データアクセスまたは記録の特性を考慮して、フラッシュメモリを効果的に使用できる方法および装置が必要である。
【００１５】
特許文献１はメモリ割り当て期に制御されるメモリを含む動的割り当てシステムに対して，  メモリ割り当て期は応用プログラムからの多様なサイズの空のメモリーブルラックの要求に対応して，断片化のオーバーヘッドを低減するメモリ割り当て方法を開始しているが，  よく修正されるデータによって該当のブロックに発生する頻繁なマージによってファイルシステムの全体的な性能が落ちることを防止して，  フラッシュメモリの寿命が短縮されることを防止する方案は提案されていない．
【特許文献１】日本公開特許第２０００−１１２８１４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１６】
本発明は、前記問題点を改善するために案出したものであって、本発明の目的は、フラッシュメモリの記録特性を反映してフラッシュメモリにデータを格納する方法および装置を提供することにある。
【００１７】
本発明のまた他の目的は、フラッシュメモリのマージ動作の発生を最大限減らして、マージ動作によるオーバーヘッドを最小化するファイルシステムのブロック管理方法を提供することにある。
【００１８】
本発明の目的は、以上で言及した目的に制限されず、言及していないまた他の目的は下記記載によって当業者が明確に理解できるものである。
【課題を解決するための手段】
【００１９】
本発明の一態様に係わるブロック方式のメモリにおいてデータの変更類型に応じてブロックを管理する方法は、アプリケーションから格納するデータを受信するステップと、前記データの変更頻度を判断するステップと、前記データの変更頻度により前記データが格納される不揮発性メモリの空間の情報を抽出するステップと、前記抽出された空間の情報を用いて前記空間に前記データを格納するように、前記不揮発性メモリに前記データおよび前記空間に関する情報を送信するステップとを含む。
【００２０】
本発明の他の態様に係わるブロック方式のメモリにおいてデータの変更類型に応じてブロックを管理する装置は、不揮発性メモリにデータを送信したり、または前記不揮発性メモリのデータを受信したりして前記不揮発性メモリと接触する格納装置結合部と、アプリケーションから格納するデータを受信して前記データの変更頻度を判断し、前記データの変更頻度により前記データが格納される不揮発性メモリの空間の情報を抽出するファイルシステム部と、前記抽出された空間の情報を用いて前記空間に前記データを格納するように前記データおよび前記空間に関する情報を前記格納装置結合部に送信する制御部とを含む。
【発明の効果】
【００２１】
本発明を具現することによって、頻繁に変更するデータと、そうではないデータをメモリ空間上において他のブロックに位置づけて、マージ過程を減らすことができる。
【００２２】
本発明を具現することによって、メモリ格納時に発生するマージ時間を短縮させて、メモリの速度を向上させることができる。
【発明を実施するための最良の形態】
【００２３】
その他、実施形態の具体的な事項は、詳細な説明および図面に含まれている。本発明の利点および特徴、そしてそれらを達成する方法は、添付する図面と共に詳細に後述されている実施形態を参照すれば明確になるだろう。しかし、本発明は以下にて開示する実施形態に限定されるのではなく、互いに異なる多様な形態で具現されることができ、単に本実施形態は本発明の開示が完全なようにして、本発明が属する技術分野で通常の知識を有する者に発明の範疇を完全に知らせるために提供されるものであって、本発明は請求項の範疇によってのみ定義されるものである。明細書の全体にわたり、同一参照符号は同一構成要素を示す。
【００２４】
以下、本発明の実施形態によって、ブロック方式のメモリにおいてデータの変更類型に応じてブロックを管理する方法、および装置を説明するためのブロック図または処理フローチャートに関する図面を参考にして、本発明について説明する。この時、処理フローチャートの各ブロックとフローチャートの組合せは、コンピュータプログラムインストラクションによって行われることが理解できる。これらコンピュータプログラムインストラクションは、汎用コンピュータ、特殊用コンピュータ、またはその他のプログラム可能なデータプロセシング装備のプロセッサに搭載することができるため、コンピュータまたはその他のプログラム可能なデータプロセシング装備のプロセッサを介して行われるそのインストラクションがフローチャートブロックで説明する機能を行う手段を生成するようになる。これらコンピュータプログラムインストラクションは、特定方式で機能を具現するために、コンピュータまたはその他のプログラム可能なデータプロセシング装備が備えられるコンピュータによって利用可能または読取可能なメモリに格納されることも可能であるため、そのコンピュータによって利用可能または読取可能なメモリに格納されたインストラクションは、フローチャートブロックで説明する機能を行うインストラクション手段を含む製造品目の生産に用いることも可能である。コンピュータプログラムインストラクションは、コンピュータまたはその他のプログラム可能なデータプロセシング装備上に搭載することも可能であるため、コンピュータまたはその他のプログラム可能なデータプロセシング装備上で一連の動作ステップが行われ、コンピュータで実行されるプロセスを生成して、コンピュータまたはその他のプログラム可能なデータプロセシング装備の機能を行うインストラクションはフローチャートブロックで説明する各ステップの機能を実行することも可能である。
【００２５】
また、各ブロックは、特定された論理的機能を実行するための１つ以上の実行可能なインストラクションを含むモジュール、セグメント、またはコードの一部を示すことができる。また、複数の代替実行例ではブロックで言及された機能が順序から外れて行われることも可能であることに注目しなければならない。例えば、連続して図示されている２つのブロックは、実質的に同時に行われることも可能で、またはそのブロックが時には該当機能により逆順に行われることも可能である。
【００２６】
本明細書においてはフラッシュメモリの一種類であるナンドフラッシュ（ＮＡＮＤ  ＦＬＡＳＨ）を中心に説明するが、これに限定されることはなく、データを格納する前に、消去（削除）演算を必要とするタイプのメモリに適用可能である。
【００２７】
本明細書においては、ファイルシステム上に存在するアクセスパターンが非常に異なる２つのデータの種類がフラッシュメモリ上で物理的にも他のブロックに位置することができるように、ファイルシステムを管理するように構成する。
【００２８】
図３は、本発明の一実施形態に係わるブロックを分ける例を示す図面である。ファイルシステムは、「４０」のように初期ファイルシステム構造を作るための過程が必要である。一般にフォーマットと呼ぶこの過程は、ファイルシステム自体の資料構造を初期化して格納装置上に記録する過程である。この時、全体の格納装置の大きさを考慮して、全体の空間を管理するのに必要な一部メタデータの大きさと位置が決定され、その初期値が格納装置上に記録される。ファイルシステムは新しいファイルの追加やファイル内容の記録などのために自由データブロックを割り当てて使うが、この時、データブロックにはファイルシステムのメタデータ、あるいは上位応用から記録の要請を受けたデータが格納される。
【００２９】
ファイルシステムのメタデータは、ユーザデータに比べて相対的にその大きさが小さくて、アップデートが頻繁に生じる特徴を有する反面、ユーザデータは大部分大きさが大きくて、連続的に読まれ、削除されるまでアップデートが頻繁には生じない。したがって、図３の「６０」に示すように、ファイルシステムメタデータのように頻繁にアップデートが生じるデータと、相対的にアップデートがあまり生じないデータを分離して割り当てる。分離して割り当てる過程はフォーマット過程で決定される。図３の「６０」のように、メタデータの位置をＮＡＮＤ型フラッシュメモリ上の独立したブロック上に位置するように構成することによって、このメタデータの頻繁なアップデートによって不必要なマージが誘発されないようにする。すなわち、マージが発生する単位でメタデータを分離して格納することによって、メタデータが格納されたデータブロックだけ独自にマージが発生できるようにする。
【００３０】
これはファイルシステムのメタデータだけに限定されない。「８０」のように、製品の量産時に、一度記録されればほとんどアップデートが生じないデータのためのブロックと、製品を使うユーザのために、追加／削除／修正の頻度が高いファイルを格納するためのブロックとをフラッシュメモリ上の互いに異なるブロックに割り当てられるようにする。
【００３１】
したがって、ファイルの属性が読み取り専用の場合にはほとんどアップデートされないファイルのためのブロックに格納できる。このような設定はファイルの属性以外にもファイルの拡張子と、これを使うアプリケーションの特性等とを考慮して設定することができる。
【００３２】
図４は、本発明の一実施形態に係わるユーザデータが格納されるクラスタと、ファイルシステムのメタデータが格納されるクラスタとを互いに異なるブロックに割り当てる例を示す図面である。
【００３３】
図４の「２００」は、ＦＡＴファイルシステムでフォーマットされたディスクドライブのレイアウトを示すものである。マスターブートレコード２０２、ＢＰＢ２０４、第１ＦＡＴ（１ｓｔ  Ｆｉｌｅ  Ａｌｌｏｃａｔｉｏｎ  Ｔａｂｌｅ）２０６、第２ＦＡＴ（２ｎｄ  Ｆｉｌｅ  Ａｌｌｏｃａｔｉｏｎ  Ｔａｂｌｅ）２０８、データ領域（Ｄａｔａ  Ａｒｅａ）２０９で構成される。１つのクラスタは１つのブロックを構成することができ、また多数のクラスタが１つのブロックを構成することができる。
【００３４】
これらのデータを既存の方式で格納したものが「２１０」である。ファイルシステムのメタデータとユーザデータが格納されたクラスタが混在していることが分かる。データ領域２０９は、１つ以上のセクタを一グループにした割り当て単位であるクラスタに分けられる。このクラスタは、ファイルシステムが格納装置にデータを記録する最も基本的な単位となる。「２１０」に示された通り、データ領域上のクラスタは、データが格納されたクラスタとデータが記録されていない使用可能なクラスタ（自由クラスタ）とで構成される。そして、データが格納されたクラスタは、再びファイルシステムのメタデータが格納されたクラスタとユーザデータが格納されたクラスタとの２種類に分けられる。しかし、これらクラスタが混在していることによって、頻繁にアップデートされる必要のないブロック、またはクラスタまでアップデートされるという問題がある。これを解決するために、「２２０」のように構成することができる。
【００３５】
「２２０」はファイルシステムのブロック割り当てる他の方法であって、ＦＡＴファイルシステムはデータを格納するためにデータ領域上の自由クラスタを割り当てて使用する。ファイルシステムメタデータを格納するためのクラスタ２２８と上位応用から記録の要請を受けたデータを格納するためのクラスタ２２４とがＮＡＮＤ型フラッシュメモリ上の互いに異なるブロックに位置するようにブロックを割り当てることができる。したがって、頻繁にアップデートが生じるファイルシステムメタデータによるマージ動作を最小化できるようになる。
【００３６】
図５は、本発明の一実施形態に係わるＦＡＴをＮＡＮＤ型フラッシュメモリ上の独立的なブロックに割り当てられるようにファイルシステムを構成する例である。
【００３７】
従来のファイルシステムは、「２００」に示すように、単純にデータ領域とファイルシステム領域とでブロックを区切られたが、本発明の一実施形態に係わる場合、頻繁にアップデートされるＦＡＴ部分を独自のブロックに格納されるように構成した。
【００３８】
すなわち、少量で頻繁にアップデートされるＦＡＴをＮＡＮＤ型フラッシュメモリ上の独立したブロックで位置するようにファイルシステムをフォーマットする。これによって、ＦＡＴ２４６、２４８は、ＭＢＲ２４２、ＢＰＢ２４４、データ領域２４９とは異なるＮＡＮＤ型フラッシュメモリ上のブロック上に位置することによって、ＦＡＴ領域の頻繁なアップデートによって発生するマージを最小化することができる。
【００３９】
図６は、本発明の一実施形態に係わるアップデート頻度を考慮して、ブロックを割り当てた場合を示す図面である。
【００４０】
図６では、ファイルシステムにおいてファイル内容を格納するためにブロック割り当て時にデータの修正が頻繁に生じるブロックのための空間と、修正がほとんど生じないファイルのための空間とを分けて管理する。フラッシュメモリ３００内に「３０２、３０４、３０６」のようにブロック空間を設け、この中で読み取り専用ファイルのためのブロック空間３０２と、記録可能なファイルを格納するためのブロック空間３０４、３０６とを設ける。
【００４１】
分けられた空間を用いる一実施形態で、アプリケーションプログラムファイルのように製品の量産時に一度記録されればほとんどアップデートされないファイルを読み取り専用ファイルのためのブロック空間３０２に割り当てて、ユーザデータのように頻繁に追加／削除／修正が生じるファイルを読み取り専用ファイルが割り当てられるブロック空間３０２とは異なるブロック空間３０４、３０６に割り当てる。
【００４２】
本実施形態で用いられる「〜部」という用語、すなわち「〜モジュール」または「〜テーブル」などは、ソフトウェアまたはＦＰＧＡまたはＡＳＩＣのようなハードウェア構成要素を意味し、「〜モジュール」はある役割を行う。ところが「〜モジュール」は、ソフトウェアまたはハードウェアに限定される意味ではない。「〜モジュール」は、アドレッシングできる格納媒体にあるように構成することもでき、１つまたはそれ以上のプロセッサを再生させるように構成することもできる。したがって、一例として「〜モジュール」はソフトウェア構成要素、オブジェクト指向ソフトウェア構成要素、クラス構成要素およびタスク構成要素のような構成要素と、プロセス、関数、属性、プロシージャ、サブルーチン、プログラムコードのセグメント、ドライバ、ファームウェア、マイクロコード、回路、データ、データベース、データ構造、テーブル、アレイ、および変数を含む。構成要素と「〜モジュール」の中で提供されている機能は、さらに小さい数の構成要素および「〜モジュール」に結合したり、追加的な構成要素と「〜モジュール」にさらに分離したりすることができる。それだけでなく、構成要素および「〜モジュール」は、デバイスまたは保安マルチメディアカード内の１つまたはそれ以上のＣＰＵを再生させるように具現することもできる。
【００４３】
図７は、本発明の一実施形態により、フラッシュメモリに、アップデート頻度により互いに異なるブロックにデータを格納できるようにするための装置７００の構成図である。図７の構成は、携帯電話、ＰＤＡ、ＰＣ、ＰＭＰ、デジタルカメラ、ＨＰＣ、またはノート型パソコンなどフラッシュメモリと結合して、フラッシュメモリにデータを格納するすべての装置に適用可能である。
【００４４】
全体構成は、制御部７２０と、ファイルシステム部７３０と、格納装置結合部７１０と、不揮発性格納装置５００とで構成され、選択的にデータ格納部７４０とデータ入力部７５０とを含むことができる。
【００４５】
不揮発性格納装置５００は、装置７００内に内蔵型で結合することができて、着脱式のメモリカードとして存在することができる。一部携帯用デジタル機器では着脱式と内蔵型の両方を支援することができる。
【００４６】
格納装置結合部７１０は、不揮発性メモリにデータを送信したり、または前記不揮発性メモリのデータを受信したりして、前記不揮発性メモリまたは不揮発性格納装置５００と接触する。ファイルシステム部７３０は、アプリケーションから格納するデータを受信して、前記データの変更頻度を判断して、前記データの変更頻度により前記データが格納される不揮発性メモリまたは不揮発性格納装置５００の空間の情報を抽出する。そして、制御部７２０は、抽出された空間の情報を使用して、前記空間にデータを格納するようにデータおよび前記空間に関する情報を格納装置結合部７１０に送信する。データ格納部７４０は不揮発性格納装置５００に格納するデータが格納された空間であり、データ入力部７５０は外部からデータを受信する機能を行う。ネットワーク機能を共に提供することができる。
【００４７】
不揮発性格納装置５００に格納するデータの変更頻度が高い場合、ファイルシステム部７３０は、変更頻度が高いブロックの空間の情報を抽出することができる。抽出した空間の情報を使用してデータを格納する。変更頻度が高い場合は、データがＦＡＴを構成するデータである場合を例にあげられる。
【００４８】
一方、データが読み取り専用データである場合、ファイルシステム部７３０は、変更頻度が低いブロックの空間の情報を抽出することができる。抽出した空間の情報を使用してデータを格納する。
【００４９】
また、ファイルシステム部７３０は、不揮発性格納装置５００の空間を変更頻度によりフォーマットすることができる。
【００５０】
不揮発性格納装置５００は、データを格納する前に消去作業を必要として、２つ以上の格納単位に対してマージ作業を必要とするものであって、ＮＡＮＤフラッシュメモリが１つの例になり得る。
【００５１】
図８は、本発明の一実施形態に係わる変更頻度によりデータを格納する過程を示す図面である。
【００５２】
ファイルシステムは、アプリケーションから格納するデータを受信する（Ｓ８１０）。そして受信したデータの変更頻度を判断する（Ｓ８２０）。データの変更頻度は、このデータが変更頻度の高いデータであるか否かを判断するが、ＦＡＴデータのような場合、変更頻度が高いと判断できる。また、読み取り専用ファイルを構成するデータであれば、変更頻度が低いと判断できる。データがしばしば変更されるデータであれば（Ｓ８３０）、変更頻度が高いデータを格納するブロック空間の情報を抽出する（Ｓ８４０）。そして、抽出された情報によりデータを格納する（Ｓ８５０）。
【００５３】
一方、頻繁に変更されないデータである場合、変更頻度の低いデータを格納するブロック空間の情報を抽出する（Ｓ８６０）。そして、抽出された情報によりデータを格納する（Ｓ８７０）。
【００５４】
図８の過程を通してブロック方式のメモリ、例えばＮＡＮＤフラッシュメモリにおいてデータの変更類型に応じてブロックを管理することができる。また、不揮発性メモリは、データを格納する前に消去作業を必要として、２つ以上の格納単位に対してマージ作業を行うことができる。
【００５５】
一方、図８には示されてはいないが、不揮発性メモリの空間の情報を抽出する前に、不揮発性メモリの空間を変更頻度により区分するステップをさらに含むことができるが、このような作業の例がフォーマットである。
【００５６】
本発明が属する技術分野で通常の知識を有する者であれば、本発明がその技術的思想や必須の特徴を変更せず、他の具体的な形態によって実施することができるということを理解できる。したがって、以上で記述した実施形態はすべての面で例示的なものであり、限定的なものではないことを理解しなければならない。本発明の範囲は前記詳細な説明よりは特許請求の範囲によって示され、特許請求の範囲の意味、および範囲そしてその均等概念から導き出されるすべての変更、または変更された形態が本発明の範囲に含まれると解釈しなければならない。
【図面の簡単な説明】
【００５７】
【図１】フラッシュメモリにおいて発生するマージを示す図である。
【図２】従来のフラッシュメモリのブロック空間を示す図である。
【図３】本発明の一実施形態に係わるブロックを分けた例を示す図である。
【図４】本発明の一実施形態に係わるユーザデータが格納されるクラスタと、ファイルシステムのメタデータが格納されるクラスタとを互いに異なるブロックに割り当てる例を示す図である。
【図５】本発明の一実施形態に係わるＦＡＴをＮＡＮＤ型フラッシュメモリ上の独立的なブロックに割り当てられるようにファイルシステムを構成する例である。
【図６】本発明の一実施形態に係わるアップデート頻度を考慮して、ブロックを割り当てる場合を示す図である。
【図７】本発明の一実施形態によって、フラッシュメモリのアップデート頻度により互いに異なるブロックにデータを格納できるようにするための装置７００を示す構成図である。
【図８】本発明の一実施形態に係わる変更頻度によりデータを格納する過程を示す図である。
【符号の説明】
【００５８】
５００      不揮発性格納装置
７００      デバイス（装置）
７１０      格納装置結合部
７２０      制御部
７３０      ファイルシステム部
７４０      データ格納部
【図１】
2007220101.tif 000003
【図２】
2007220101.tif 000004
【図３】
2007220101.tif 000005
【図４】
2007220101.tif 000006
【図５】
2007220101.tif 000007
【図６】
2007220101.tif 000008
【図７】
2007220101.tif 000009
【図８】
2007220101.tif 000010