(57)【要約】【課題】データ記憶装置、データ記憶方法およびコンピュータプログラムを提供すること。【解決手段】データ記憶装置１０は、記憶領域が第一の記憶領域と第二の記憶領域に分割された記憶部と、記憶部の第一の記憶領域にログ構造化ファイルシステムによりデータを書き込む書き込み部３１０と、第一の記憶領域に書き込まれたデータのデータ量が設定データ量を超えると、第一の記憶領域に書き込まれたデータを最適化した最適化データを生成する最適化データ生成部３４０とを備え、書き込み部は、最適化データ生成部により生成された最適化データを、第二の記憶領域に書き込むことを特徴とする。【選択図】図４
2008003932.tif 000002
【特許請求の範囲】
【請求項１】
記憶領域が第一の記憶領域と第二の記憶領域に分割された記憶部と；
前記記憶部の第一の記憶領域にログ構造化ファイルシステムによりデータを書き込む書き込み部と；
前記第一の記憶領域に書き込まれたデータのデータ量が設定データ量を超えると、前記第一の記憶領域に書き込まれたデータを最適化した最適化データを生成する最適化データ生成部と；
を備え、
前記書き込み部は、前記最適化データ生成部により生成された前記最適化データを、前記第二の記憶領域に書き込むことを特徴とする、データ記憶装置。
【請求項２】
前記書き込み部によるデータの書き込み対象となる記憶領域を示す識別情報を、前記第一の記憶領域または前記第二の記憶領域に付与する識別情報付与部をさらに備えることを特徴とする、請求項１に記載のデータ記憶装置。
【請求項３】
前記書き込み部は、前記最適化データ生成部が前記最適化データの生成を開始した後に、前記第一の記憶領域に書き込まれた追加データを、前記第二の記憶領域に転写することを特徴とする、請求項２に記載のデータ記憶装置。
【請求項４】
前記識別情報付与部は、前記書き込み部による前記追加データの転写が終わると、前記第二の記憶領域に識別情報を付与することを特徴とする、請求項３に記載のデータ記憶装置。
【請求項５】
前記識別情報付与部は、前記第一の記憶領域または前記第二の記憶領域のいずれかに、有効であることが判別可能な識別情報を付与することを特徴とする、請求項２に記載のデータ記憶装置。
【請求項６】
前記識別情報付与部は、直近に付与した識別情報より大きい、あるいは小さい数字を含む識別情報を付与することを特徴とする、請求項２に記載のデータ記憶装置。
【請求項７】
前記追加データが転写された前記第二の記憶領域に前記識別情報が付与された後に、前記第一の記憶領域に書き込まれたデータを消去する消去部をさらに備えることを特徴とする、請求項３に記載のデータ記憶装置。
【請求項８】
前記消去部は、前記データ記憶装置のデータ処理の遊休時に、前記第一の記憶領域に記憶されたデータを消去することを特徴とする、請求項７に記載のデータ記憶装置。
【請求項９】
前記記憶部は、ＮＯＲ型フラッシュメモリであることを特徴とする、請求項１に記載のデータ記憶装置。
【請求項１０】
記憶領域が第一の記憶領域と第二の記憶領域に分割された記憶部の、前記第一の記憶領域にログ構造化ファイルシステムによりデータを書き込むステップと；
前記第一の記憶領域に書き込まれたデータのデータ量が設定データ量を超えると、前記第一の記憶領域に書き込まれたデータを最適化した最適化データを生成するステップと；
前記最適化データを、前記第二の記憶領域に書き込むステップと；
を含むことを特徴とする、データ記憶方法。
【請求項１１】
コンピュータを、
記憶領域が第一の記憶領域と第二の記憶領域に分割された記憶部の、前記第一の記憶領域にログ構造化ファイルシステムによりデータを書き込むステップと；
前記第一の記憶領域に書き込まれたデータのデータ量が設定データ量を超えると、前記第一の記憶領域に書き込まれたデータを最適化した最適化データを生成するステップと；
前記最適化データを、前記第二の記憶領域に書き込むステップと；
を実行するデータ記憶装置として機能させることを特徴とする、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ記憶装置、データ記憶方法およびコンピュータプログラムに関する。
【背景技術】
【０００２】
近年、自由にデータの読み書きを行えるＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、および電源を落としてもデータの記憶を維持できるＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）などの記憶媒体が情報処理装置の構成として広く用いられている。また、上記ＲＡＭおよびＲＯＭの両者の特徴を兼ね備え、電気的にデータを書き換え可能であり、かつ電源を落としてもデータの記憶を維持できるフラッシュメモリが急速に普及している。
【０００３】
上記フラッシュメモリは、ＮＡＮＤ型フラッシュメモリとＮＯＲ型フラッシュメモリに大別される。ＮＡＮＤ型フラッシュメモリはデータの保存や運搬を主な用途とし、ＮＯＲ型フラッシュメモリは、高速なランダムアクセスが可能であるため、携帯機器のプログラムの記憶に用いられることが多い。以下、記憶媒体の概要について、ＮＯＲ型フラッシュメモリを例にとって説明する。
【０００４】
ＮＯＲ型フラッシュメモリは、上述のように高速なランダムアクセスが可能である一方で、データの消去はセクタ単位でしか実行できない、セクタあたりの消去回数に上限がある、データの読み出しに比べて書き込み・消去に時間がかかるといった性質を有する。また、ＮＯＲ型フラッシュメモリにおいてデータを変更するには、（１）変更対象データが存在するセクタから、セクタ全体のデータを読み出し、（２）読み出されたセクタのデータに対してデータの変更を反映し、（３）変更対象データが存在するセクタのデータ全体を消去し、（４）変更が反映されたデータを、前ステップでデータを消去されたセクタの書き込む必要があるため、データの変更に特に時間を要した。
【０００５】
このようなＮＯＲ型フラッシュメモリにおけるデータ変更に要する時間を削減するために、データの変更をログの追記として書き込むログ構造化ファイルシステム（Ｌｏｇ−Ｓｔｒｕｃｔｕｒｅｄ  Ｆｉｌｅ  Ｓｙｓｔｅｍ）が提案されている。ログ構造化ファイルシステムによれば、セクタのデータの変更を、変更データをＮＯＲ型フラッシュメモリの空き領域に書き込むだけで実現できるため、時間的負荷を抑制できる。
【０００６】
また、ＮＯＲ型フラッシュメモリにおけるクリーンナップ処理、すなわちデータの最適化処理は、（１）クリーンナップ対象範囲を選定し、（２）クリーンナップ対象範囲から、無効となったログ、あるいはデータを多く含むセグメントという単位に区分された記憶領域を検索し、（３）検索されたセグメントに含まれる有効なログの全てを、新規のログとして未使用のセグメントに書き込み、（４）検索されたセグメントのデータを消去し、該セグメントを未使用セグメントに変更し、（５）上記の処理の結果、クリーンナップ対象範囲中に使用中のセグメントと未使用のセグメントの間にフラグメンテーションが発生するので、セグメントのデフラグ処理を行うことによって実現される（特許文献１参照）。
【０００７】
より詳細には、上記のデフラグ処理は、使用中のセグメントＡのデータを読み出し、他の使用中セグメントＢに隣接する未使用セグメントに書き込み、セグメントＡのデータを消去してセグメントＡを未使用セグメントに変更するといった操作を、クリーンナップ対象範囲中の全ての未使用セグメントが連続になるまで実行する処理である。なお、各セグメントの大きさは、セクタの大きさに基づいて設定してもよいが、任意に設定することもできる。  
【０００８】
【特許文献１】特開平１０−１１３３７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかし、従来のログ構造化ファイルシステムに基づいて動作するデータ記憶装置におけるクリーンナップ処理は、上述したように、読み込み、書き込み、および消去の処理回数が多い。したがって、クリーンナップ処理を要する頻度によっては、記憶装置に多大な時間的負荷を与えてしまうという問題があった。
【００１０】
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、記憶部に書き込まれたデータの最適化を、該最適化に要する時間を削減して行うことが可能な、新規かつ改良されたデータ記憶装置、データ記憶方法およびコンピュータプログラムを提供することにある。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、本発明のある観点によれば、記憶領域が第一の記憶領域と第二の記憶領域に分割された記憶部と、記憶部の第一の記憶領域にログ構造化ファイルシステムによりデータを書き込む書き込み部と、第一の記憶領域に書き込まれたデータのデータ量が設定データ量を超えると、第一の記憶領域に書き込まれたデータを最適化した最適化データを生成する最適化データ生成部とを備え、書き込み部は、最適化データ生成部により生成された最適化データを、第二の記憶領域に書き込むことを特徴とする、データ記憶装置が提供される。
【００１２】
かかる構成によれば、最適化データ生成部は、第一の記憶領域に書き込まれたデータのうち有効なデータを抽出し、該有効なデータを連続的につなぎ合せた最適化データを生成することができる。また、書き込み部が、該最適化データを、第一の記憶領域と異なる記憶領域である第二の記憶領域に書き込むことにより、第二の記憶領域には、第一の記憶領域に書き込まれた有効なデータが反映される。したがって、第一の記憶領域に書き込まれたデータを、第一の記憶領域に書き込まれたデータの消去を行うことなく、最適化することができる。
【００１３】
書き込み部による、データの書き込み対象となる記憶領域を示す識別情報を、第一の記憶領域または第二の記憶領域に付与する識別情報付与部をさらに備えるとしてもよい。かかる構成によれば、書き込み部は、第一の記憶領域または第二の記憶領域のいずれに識別情報が付与されているかを判断し、または付与されている識別情報の内容に基づいて有効な識別情報を判断し、識別情報が付与されている記憶領域、あるいは有効な識別情報が付与されている記憶領域にデータを書き込むことができる。
【００１４】
書き込み部は、最適化データ生成部が最適化データの生成を開始した後に、第一の記憶領域に書き込まれた追加データを、第二の記憶領域に転写するとしてもよい。かかる構成によれば、追加データの内容が第二の記憶領域にそのまま、あるいは最適化されて書き込まれるため、第一の記憶領域に書き込まれた追加データをまとめて消去することができる。
【００１５】
識別情報付与部は、書き込み部による追加データの転写が終わると、第二の記憶領域に識別情報を付与するとしてもよい。かかる構成によれば、書き込み部は、追加データの転写が終わった後のデータ書き込みを、識別情報が付与された第二の記憶領域に行うことができる。
【００１６】
識別情報付与部は、第一の記憶領域または第二の記憶領域のいずれかに、有効であることが判別可能な識別情報を付与するようにしてもよい。かかる構成によれば、書き込み部は、複数の記憶領域に識別情報が付与されていても、いずれの識別情報が有効であるかを判断し、データを該当する記憶領域に書き込むことができる。
【００１７】
識別情報付与部は、直近に付与した識別情報より大きい数字を含む識別情報を、あるいは、直近に付与した識別情報より小さい数字を含む識別情報を付与するとしてもよい。かかる構成によれば、第一の記憶領域の識別情報が消去される前に第二の記憶領域に識別情報が付与され、またはデータ記憶装置に何かしらの事由による以上により、複数の記憶領域に識別情報が付与されている状態であっても、書き込み部は、識別情報の大小に基づいて有効な識別情報を判断し、データを該当する記憶領域に書き込むことができる。
【００１８】
追加データが転写された第二の記憶領域に識別情報が付与された後に、第一の記憶領域に書き込まれたデータを消去する消去部をさらに含むとしてもよい。かかる構成によれば、消去部は、第一の記憶領域に書き込まれた有効なデータを全て第二の記憶領域に反映させた後に、一括して第一の記憶領域に書き込まれたデータを消去することができる。したがって、一連のデータの最適化の過程に要する時間を削減することができる。
【００１９】
消去部は、データ記憶装置のデータ処理の遊休時に、第一の記憶領域に記憶されたデータを消去するとしてもよい。かかる構成によれば、消去部は、記憶部へのデータの書き込み、記憶部からのデータの読み出し、最適化データの生成および識別情報の付与などのデータ記憶装置における処理の遊休時に、第一の記憶領域に記憶されたデータを消去する。したがって、第一の記憶領域に記憶されたデータの消去に要する負荷を、実質的に排除することができる。
【００２０】
記憶部は、ＮＯＲ型フラッシュメモリであるとしてもよい。
【００２１】
また、上記課題を解決するために、本発明の別の観点によれば、記憶領域が第一の記憶領域と第二の記憶領域に分割された記憶部の、第一の記憶領域にログ構造化ファイルシステムによりデータを書き込むステップと、第一の記憶領域に書き込まれたデータのデータ量が設定データ量を超えると、第一の記憶領域に書き込まれたデータを最適化した最適化データを生成するステップと、最適化データを、第二の記憶領域に書き込むステップとを含むことを特徴とする、データ記憶方法が提供される。
【００２２】
かかる構成によれば、第一の記憶領域に設定データ量を超えるデータ量が書き込まれたことをトリガに、第一の記憶領域に書き込まれたデータのうち有効なデータを最適化した最適化データを、まとめて第二の記憶領域に反映させることができる。したがって、従来のログ構造化ファイルシステムにおけるデータのクリーンナップ処理に要する書き込み、消去の回数を著しく削減し、該処理にようする時間的負荷を抑制することができる。
【００２３】
また、上記課題を解決するために、本発明の別の観点によれば、コンピュータを、記憶領域が第一の記憶領域と第二の記憶領域に分割された記憶部の、第一の記憶領域にログ構造化ファイルシステムによりデータを書き込むステップと、第一の記憶領域に書き込まれたデータのデータ量が設定データ量を超えると、第一の記憶領域に書き込まれたデータを最適化した最適化データを生成するステップと、最適化データを、第二の記憶領域に書き込むステップとを実行するデータ記憶装置として機能させることを特徴とする、コンピュータプログラムが提供される。
【００２４】
かかる構成によれば、第一の記憶領域に設定データ量を超えるデータ量が書き込まれたことをトリガに、第一の記憶領域に書き込まれたデータのうち有効なデータを最適化した最適化データを、まとめて第二の記憶領域に反映させることができる。したがって、第一の記憶領域に書き込まれたデータを最適化する際、第一の記憶領域に書き込まれたデータを、少量ずつの消去を繰り返すことなく、一括して消去することが可能となる。
【発明の効果】
【００２５】
以上説明したように本発明にかかるデータ記憶装置、データ記憶方法およびコンピュータプログラムによれば、記憶部に書き込まれたデータの最適化を、該最適化に要する時間を削減して行うことができる。
【発明を実施するための最良の形態】
【００２６】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００２７】
図１は、本発明の一実施形態にかかるデータ記憶装置の構成を示したブロック図である。データ記憶装置１０は、ＮＯＲ型フラッシュメモリ２０、処理部３０および入出力部４０を含む。データ記憶装置１０は、内蔵する、あるいは着脱可能に接続される記憶部としてのＮＯＲ型フラッシュメモリ２０に対して、データの書き込み、読み出しなどの処理を行う。データ記憶装置１０としては、例えば、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）、家庭用映像処理装置（ＤＶＤレコーダ、ビデオデッキなど）、携帯電話、ＰＨＳ（Ｐｅｒｓｏｎａｌ  Ｈａｎｄｙｐｈｏｎｅ  Ｓｙｓｔｅｍ）、携帯用音楽再生装置、携帯用映像処理装置、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）、家庭用ゲーム機器、携帯用ゲーム機器、家電機器などの情報処理装置があげられる。
【００２８】
記憶部の一例としてのＮＯＲ型フラッシュメモリ２０は、処理部３０により、外部から入力されるデータを記憶することができる。また、ＮＯＲ型フラッシュメモリ２０は、電気的にデータを書き換え可能であり、一度電源の供給を絶ってもデータを保持することができる。また、ＮＯＲ型フラッシュメモリ２０は、記憶領域を構成する物理的に区分されたセクタごとにデータの処理を行うことができる。
【００２９】
また、ＮＡＮＤ（Ｎｏｔ  ＡＮＤ）型フラッシュメモリは、ビット線にセルが直列接続されているセル構造を有するが、ＮＯＲ（Ｎｏｔ  ＯＲ）型フラッシュメモリ２０は、ビット線にセルが並列接続されているセル構造を有する。かかる構造からなるＮＯＲ型フラッシュメモリ２０はランダムアクセスが可能である。
【００３０】
なお、記憶部は、ＮＯＲ型フラッシュメモリ２０に限られず、ＮＡＮＤ型フラッシュメモリ、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＥＰＲＰＭ（Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）などの不揮発性メモリや、ハードディスクおよびフロッピー（登録商標）ディスクなどの磁気ディスクや、ＣＤ−Ｒ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｒｅｃｏｒｄａｂｌｅ）／ＲＷ（ＲｅＷｒｉｔａｂｌｅ）、ＤＶＤ−Ｒ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ  Ｒｅｃｏｒｄａｂｌｅ）／ＲＷ／＋Ｒ／＋ＲＷ／ＲＡＭ（Ｒａｍｄａｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）およびＢＤ（Ｂｌｕ−Ｒａｙ  Ｄｉｓｃ）―Ｒ／ＢＤ−ＲＥなどの光ディスクや、ＭＯ（Ｍａｇｎｅｔｏ  Ｏｐｔｉｃａｌ）ディスクなどの記憶媒体であってもよい。この場合、処理部３０は、各記憶媒体に応じた機能を備えるよう構成される。
【００３１】
また、本実施形態によるＮＯＲ型フラッシュメモリ２０の記憶領域は、記憶領域１（第一の記憶領域）と、記憶領域２（第二の記憶領域）の２つに分割されている。該記憶領域１と記憶領域２の記憶容量は同一としてもよい。また、記憶領域の分割は、物理的に行うとしてもよい。詳細には、実記憶領域上の各セクタ位置を示す物理アドレスに基づいて、記憶領域１および記憶領域２を構成するセクタが、それぞれの記憶領域上で連続するようにＮＯＲ型フラッシュメモリ２０の記憶領域を分割することができる。
【００３２】
さらに、記憶部を複数の記憶媒体から構成し、記憶媒体のそれぞれを分割された記憶領域として扱うこともできる。例えば、記憶部として２つのＮＯＲ型フラッシュメモリを設け、一方のＮＯＲ型フラッシュメモリの記憶領域を記憶領域１、他方のＮＯＲ型フラッシュメモリの記憶領域を記憶領域２として扱ってもよい。
【００３３】
なお、以下では記憶領域が２つに分割されている例を示して説明するが、記憶領域は３つ以上に分割されていてもよい。
【００３４】
処理部３０は、書き込み部３１０、読み出し部３２０、消去部３３０、最適化データ生成部３４０および識別情報付与部３５０を含む。
【００３５】
書き込み部３１０は、入出力部４０を介して入力されたデータを、ログ構造化ファイルシステムにより、ＮＯＲ型フラッシュメモリ２０に書き込む処理を行う。ログ構造化ファイルシステムは、新しいデータあるいは既に書き込まれているデータ内容を変更するための変更データを、ログという形式で過去のデータを上書きすることなく追記する方式である。したがって、ログ構造化ファイルシステムによれば、データの書き込み時、あるいは変更時にデータを消去する過程が不要であるので、データの書き込み、あるいは変更の効率を高めることができる。
【００３６】
また、書き込み部３１０がデータを書き込むＮＯＲ型フラッシュメモリ２０の記憶領域は、各記憶領域に書き込まれた後述する識別情報に基づいて決定される。また、書き込み部３１０は、ＮＯＲ型フラッシュメモリ２０から読み出されたデータを、再度ＮＯＲ型フラッシュメモリ２０の異なる記憶領域に転写することもできる。ここで、ログ構造化ファイルシステムにおけるログの形式について図２および３を参照して説明する。
【００３７】
図２は、ログ構造化ファイルシステムにより書き込まれたログの形式を示した説明図である。ログ構造化ファイルシステムにおけるログは、上記したように新しいデータの書き込み時に追記する新データ、あるいはデータの変更時に追記する変更データを含む。以下では、該新データおよび変更データのそれぞれにファイル名を付して説明する。図２に示した例において、ログＡは、ファイルＡをＮＯＲ型フラッシュメモリ２０に書き込む際に記録されたログであり、ヘッダＡと、ファイルＡのブロック１と、ファイルＡのブロック２と、位置情報Ａと、ＥＯＬ―Ａとを含む。
【００３８】
ヘッダＡは、ログＡの先頭に配され、ログＡを構成するファイルＡのブロックあるいは位置情報のいずれが有効であるかを示す情報である。図２に示した例では、ヘッダＡは、ファイルＡのブロック１、ブロック２および位置情報のいずれも有効であることを示す情報を含む。
【００３９】
ファイルＡのブロック１およびブロック２は、映像／音声や、プログラムなどの情報からなるファイルＡのデータを、ブロック単位に分割して記憶しているデータブロックである。図示の例では、ファイルＡのデータ容量がデータブロック２つ分に相当していることを意味する。該データブロックは、複数のセクタからなるとしてもよい。なお、上記プログラムは、中央処理部（図示せず）を介して、ＲＯＭ（図示せず）から読み出されるデータ記憶装置１０の制御のためのプログラムであってもよい。
【００４０】
位置情報Ａは、ログＡに含まれる有効なファイルＡのデータブロックの、記憶領域上の位置を示す情報（ｉｎｏｄｅ）である。図２に示した例では、ファイルＡのブロック１およびブロック２は有効なデータブロックであるため、位置情報Ａは、ファイルＡのブロック１およびブロック２のＮＯＲ型フラッシュメモリ２０上の位置を示している。
【００４１】
ＥＯＬ（Ｅｎｄ  Ｏｆ  Ｌｏｇ）―ＡはログＡの終わりを示す情報である。したがって、ヘッダＡから、該ＥＯＬ−Ａまでが一つのログとして扱われる。
【００４２】
図３は、ログＡに続いて、ログＢおよびログＡ−２がログ構造化ファイルシステムにより書き込まれた様子を示した説明図である。
【００４３】
ログＢは、ファイルＢに関するログであり、ヘッダＢ、ファイルＢのブロック１、位置情報ＢおよびＥＯＬ―Ｂを含む。ヘッダＢ、ファイルＢのブロック１、位置情報ＢおよびＥＯＬ―Ｂのそれぞれの役割はログＡで説明した内容と実質的に同一であるため説明を省略する。
【００４４】
ログＡ−２は、ファイルＡのデータを変更するために追記されたログであり、ヘッダＡ−２、ファイルＡのブロック２、位置情報Ａ２およびＥＯＬ―Ａ２を含む。ここで、ログＡ−２のファイルＡのブロック２は、ログＡのファイルＡのブロック２を変更したデータブロックである。すなわち、ログＡ−２は、ファイルＡのデータの一部を変更するために追記されたログである。したがって、ログＡのブロック２は、ログＡ−２の書き込みにより無効なデータブロックとなる。
【００４５】
また、ログＡの位置情報Ａは、ログＡのブロック２が無効なデータブロックになると同時に無効な情報となる。このように、ログの追記によりデータが変更され、無効となったログＡのファイルＡのブロック２および位置情報を、色を付して示している。
【００４６】
そして、位置情報Ａに変わり、ログＡ−２の位置情報Ａ２が、ファイルＡの有効なデータブロックの位置を示す情報を保持することとなる。図３に示した例では、位置情報Ａ２は、現時点で有効なデータブロックであるログＡのブロック１と、ログＡ−２のブロック２の記憶領域上の位置を示す。
【００４７】
このように、ログ構造化ファイルシステムによれば、ＮＯＲ型フラッシュメモリ２０に既に書き込まれている既存データを変更する際に、該既存データの読み出し、および消去をすることなく、変更データを未使用領域に追記するのみで該既存データの変更を実現できる。したがって、該既存データの変更に伴う時間的負荷およびデータ処理負荷を抑制することができる。
【００４８】
図１を参照してデータ記憶装置１０の構成の説明に戻ると、処理部３０の読み出し部３２０は、ＮＯＲ型フラッシュメモリ２０に書き込まれ、記憶されているデータを読み出す役割を担う。該読み出されたデータは、入出力部４０を介して外部装置に出力、または書き込み部３１０、最適化データ生成部３４０などに入力される。
【００４９】
消去部３３０は、ＮＯＲ型フラッシュメモリ２０に記憶されているデータを、所定のタイミングで消去する。なお、消去部３３０は、ＮＯＲ型フラッシュメモリ２０に記憶されている同量のデータを消去する場合、分割して消去するより、まとめて消去する方が処理を迅速に行えるよう構成してもよい。消去部３３０がデータを消去する所定のタイミングについては、図４および図５を参照して後述する。
【００５０】
最適化データ生成部３４０は、ＮＯＲ型フラッシュメモリ２０に記憶されている断片化（フラグメンテーション）したデータを最適化（デフラグメンテーション）した最適化データを生成する。断片化とは、データの使用領域の間に未使用領域が介在し、データの使用領域が不連続である状態や、データの使用領域が連続であっても、データの使用領域に無効となったデータが介在する状態を意味する。このようにデータが断片化し、未使用領域あるいは無効となったデータが存在する無効領域が細分化すると、新たにデータを書き込もうとする際に、データを分割して、該データを複数の未使用領域あるいは無効領域にまたがって記憶する必要が生じる。すると、データの読み出しおよび書き込み速度の低下を招来する点で問題である。
【００５１】
上記最適化とは、上記断片化したＮＯＲ型フラッシュメモリ２０上のデータを再配置して、未使用領域あるいは無効領域の細分化状態を解消し、連続した未使用領域の増加を図る処理である。すなわち、上記最適化データは、有効なデータが連続するようにデータ配置されたデータ群である。最適化データ生成部３４０が該最適化データを生成するタイミングおよび具体例は、図４および図５を参照して後述する。
【００５２】
識別情報付与部３５０は、ＮＯＲ型フラッシュメモリ２０の記憶領域１および２に、交互に識別情報を付与する。記憶領域が３以上に分割されていた場合には、各記憶領域に順番に付与する。該識別情報は、書き込み部３１０がデータを書き込む際に参照される情報であり、書き込み部３１０は、有効な識別情報が書き込まれている記憶領域を判断して、該記憶領域にデータを書き込む。
【００５３】
識別情報は、任意の時点においていずれかの記憶領域にのみ付与される情報としてもよい。この場合、書き込み部３１０は、識別情報の有効、無効を判断することなく、識別情報の付与されている記憶領域をデータの書き込み対象として判断する。また、この場合、識別情報付与部３５０が付与する識別情報の内容は問わず、識別情報付与部３５０は、毎回異なる識別情報を付与しても、毎回同一の識別情報を付与するとしてもよい。
【００５４】
また、識別情報は、記号、数字、文字などを表す情報であってもよい。識別情報付与部３５０により、ＮＯＲ型フラッシュメモリ２０の各記憶領域に識別情報が付与されるタイミングおよび識別情報の具体例については、図４および図５を参照して後述する。
【００５５】
入出力部４０は、データ記憶装置に接続された外部機器と信号の入出力を行うインターフェース部、あるいは通信部として機能する。上記信号には、音楽、講演およびラジオ番組などの音楽データや、映画、テレビジョン番組、ビデオプログラム、写真、絵画および図表などの映像データや、ゲームおよびソフトフェアなどの任意のデータ、さらにデータ記憶装置または外部機器を制御する制御信号、プログラムなどが含まれる。
【００５６】
また、上記外部機器としては、音楽データや映像データなどのコンテンツを配信するコンテンツ配信サーバ、ＰＣ、家庭用映像処理装置、携帯電話、ＰＨＳ、携帯用音楽再生装置、携帯用映像処理装置、ＰＤＡ、家庭用ゲーム機器、携帯用ゲーム機器、家電機器などの情報処理装置があげられる。
【００５７】
次に、本実施形態にかかるデータ記憶装置１０の動作を、図４および図５を参照して説明する。
【００５８】
図４は、本実施形態にかかるデータ記憶装置１０の動作の流れを示したフローチャートである。図５は、ＮＯＲ型フラッシュメモリ２０における処理の様子を示した説明図である。
【００５９】
まず、書き込み部３１０は、ＮＯＲ型フラッシュメモリ２０の記憶領域１にデータを書き込む（Ｓ５００）。なお、この時点では記憶領域１に有効な識別情報が記憶されているものとする。図５（ａ）は、ＮＯＲ型フラッシュメモリ２０の記憶領域１にデータが書き込まれている様子を示している。記憶領域１には識別情報「０ｘ０１」が書き込まれているのに対し、記憶領域２には識別情報が書き込まれていないため（識別情報：ＮＵＬＬ）、ＮＯＲ型フラッシュメモリ２０の記憶領域１が、書き込み部３１０によるデータの書き込み対象の記憶領域となっている。なお、本実施形態において記憶領域１および記憶領域２の両方に識別情報が書き込まれていた場合、書き込み部３１０は、より大きい値の識別情報を有効であると判断し、大きい値の識別情報が書き込まれている方の記憶領域をデータ書き込みの対象領域とする。また、「０ｘ」は、その後に続く文字列が１６進数であることを意味する。
【００６０】
また、図５（ａ）において、記憶領域１には、ログＡ−１、ログＢ−１、ログＣ−１およびログＢ−２が書き込まれている。ここで、各ログは、図２を参照して説明したように、ヘッダ、ファイルのデータブロック、位置情報およびＥＯＬを含む。例えば、ログＡ−１はファイルＡのデータブロックを、ログＢ−１はファイルＢのデータブロックを、ログＣ−１はファイルＣのデータブロックを含む。このようにログが書き込まれている領域は使用領域に分類される。
【００６１】
また、ログＢ−２は、ログＢ−１のファイルＢのデータブロックおよび位置情報を変更するために追記されたログである。ログＢ−２の追記により、ログＢ−１のデータブロックは無効となり、その様子を無効領域として色を付して示している。なお、ログＢ−２の追記によりログＢ−１の内容が必ずしも全て無効となるわけでないが、図５においては説明の明瞭化の観点から、同一のアルファベットで示されたログは、アルファベットに付された数字が大きいログにより全ての内容が変更されているものとする。また、ＮＯＲ型フラッシュメモリ２０の各記憶領域内の余白部分は、何もログが書き込まれていない未使用領域を示している。
【００６２】
続いて、記憶領域１に書き込まれたデータ量が、所定の設定データ量Ｔｈに達したか否かを判断する（Ｓ５０４）。該判断は、読み出し部３２０、最適化データ生成部３４０あるいはＮＯＲ型フラッシュメモリ２０の記憶領域を関する監視部（図示せず。）が行うとしてもよい。記憶領域１に書き込まれたデータ量が、所定の設定データ量Ｔｈに達していないと判断された場合には、書き込み部３１０は記憶領域１へのデータの書き込みを続行する（Ｓ５００）。
【００６３】
記憶領域１に書き込まれたデータ量が、所定の設定データ量Ｔｈに達したと判断された場合、あるいは記憶領域１の記憶残量が所定値を下回った場合、最適化データ生成部３４０は、ＮＯＲ型フラッシュメモリ２０の記憶領域１に書き込まれているデータに基づいて、最適化データの生成を開始する（Ｓ５０８）。図５（ｂ）は、記憶領域１に書き込まれたデータ量が、所定の設定データ量Ｔｈに達した様子を示している。図５（ｂ）においては、ログＢ−２の内容を変更するログＢ−３が書き込まれた時点で、ＮＯＲ型フラッシュメモリ２０の記憶領域１に書き込まれているデータ量が設定データ量Ｔｈに達している。
【００６４】
なお、ＮＯＲ型フラッシュメモリ２０の全体の記憶容量が６４Ｍｂｙｔｅであり、セクタサイズが１２Ｋｂｙｔｅであり、記憶領域１および２がそれぞれ３２Ｍｂｙｔｅであった場合、例えば、上記設定データ量Ｔｈを２８Ｍｂｙｔｅ、あるいは各記憶領域の記憶容量の８割である２５．６Ｍｂｙｔｅとしてもよい。また、記憶領域１の識別情報は、記憶領域１の先頭セクタであるセクタ０に、記憶領域２の識別情報は、記憶領域２の先頭セクタであるセクタ２５６に書き込むとしてもよい。なお、複数のＮＯＲ型フラッシュメモリを設け、各ＮＯＲ型フラッシュメモリを分割された記憶領域として扱っている場合は、各ＮＯＲ型フラッシュメモリの先頭セクタや、先頭領域に識別情報を書き込むとしてもよい。
【００６５】
また、図５（ｂ）においては、ログＡ−１、ログＢ−１、ログＢ−２およびログＡ−２は、ログＡ−３およびログＢ−３の追記により無効なログとなっているため、この時点ではログＣ−１、ログＡ−３およびログＢ−３が有効なログである。したがって、最適化データ生成部３４０は、ログＣ−１、ログＡ−３およびログＢ−３を有効なデータとし、記憶領域１のデータを最適化した最適化データを生成する（Ｓ５０８）。
【００６６】
次いで、書き込み部３１０は、最適化データ生成部３４０が生成した最適化データを記憶領域２に書き込む（Ｓ５１２）。そして、該最適化データの書き込みが終了したか否かを判断する（Ｓ５１６）。また、Ｓ５０８において、記憶領域１の最適化データの生成が開始された後にも、記憶領域にはデータが追加データとして書き込まれる（Ｓ５２０）。なお、上記では、書き込み部３１０は有効な識別情報が付与されている記憶領域、すなわち現時点では記憶領域１にデータを書き込むと説明したが、当該最適化データおよび追加データは有効な識別情報が付与されていない記憶領域、すなわち記憶領域２に書き込むことができる。
【００６７】
図５（ｃ）は、最適化データ生成部３４０が最適化データの生成を開始してから、記憶領域２に最適化データが書き込まれる間に、記憶領域１にログＤ−１が追加データとして書き込まれた様子を示している。最適化データ生成部３４０により生成された最適化データは、記憶領域１において最適化データ生成開始時に有効であったログＡ−３、ログＢ−３およびログＣ−１を連続的に配したデータである。該最適化データのより詳細な構成を図６を参照して説明する。
【００６８】
図６は、最適化データ生成部３４０により生成された最適化データの一例を示した説明図である。ログＡ−３、ログＢ−３およびログＣ−１の最適化データ、すなわち記憶領域１に書き込まれたデータの最適化データは、ヘッダＮと、ファイルＡのブロック１および位置情報Ａ３と、ファイルＢのブロック１、２および位置情報Ｂ３と、ファイルＣのブロック１および位置情報Ｃ１と、ＥＯＬ―Ｎとを含む。ヘッダ、データブロック、位置情報およびＥＯＬについては図２を用いて参照しているので、ここでは説明を省略する。
【００６９】
図６に示したように、最適化データ生成部３４０は、無効なデータブロックやログを用いずに、有効なログを連続的につなぎ合わせるだけでなく、各ログに含まれるヘッダ、およびＥＯＬをまとめた最適化データを生成することができる。すなわち、記憶領域１に書き込まれていた複数のログを、ヘッダＮからＥＯＬ−Ｎまでの１つのログとして記憶領域２に書き込むことができる。かかる構成により、有効なログを連続的につなぎ合わせることと同時に、断片化した未使用領域および無効領域を、１つの未使用領域にまとめられ、ログの書き込みおよび読み出しの効率化が図れる。
【００７０】
続いて、最適化データの記憶領域２への書き込みが終了すると、記憶領域２へ、Ｓ５２０で記憶領域１に書き込まれた追加データを転写する（Ｓ５２４）。転写とは、記憶領域１に書き込まれた追加データをそのまま記憶領域２に書き込むこと、または記憶領域１に書き込まれた追加データを最適化して記憶領域２に書き込むことを意味する。追加データを記憶領域２に転写することにより、記憶領域１に書き込まれた追加データは不要となり、後に一括して消去することが可能となる。
【００７１】
そして、追加データの転写が終了すると（Ｓ５２８）、識別情報付与部３５０は、記憶領域２に識別情報を付与する（Ｓ５３２）。図５（ｄ）は、記憶領域２に識別情報が付与された様子を示している。識別情報は、有効、無効を判別可能な情報とすることができる。例えば、図５（ｄ）に示した例では、記憶領域２には「０ｘ０２」が付与されている。したがって、記憶領域２に識別情報「０ｘ０２」が付与された時点においては、該識別情報「０ｘ０２」は記憶領域１に付与されている識別情報「０ｘ０１」より大きいため、記憶領域２の識別情報「０ｘ０２」が有効な識別情報と判断される。
【００７２】
本実施形態においては、図５（ｄ）に示したように、一時的に、識別情報が記憶領域１および記憶領域２の両方に書き込まれている状態が発生する。それ以外にも、処理部３０の異常により、記憶領域１と記憶領域２の両方に識別情報が残ってしまう場合が考えられる。このような場合、どちらの識別情報が有効であるかを判別できなければ、書き込み部３１０は正常に動作することができない。
【００７３】
そこで、識別情報付与部３５０は、毎回同一の識別情報を付与するのでなく、図５に示したように、直近に付与した識別情報より大きい値の識別情報を付与することができる。したがって、識別情報が複数の記憶領域に書き込まれていた場合には、書き込み部３１０に、より大きい値の識別情報が書き込まれている記憶領域にデータを書き込ませるよう制御することにより、データの正常な書き込みが可能となる。
【００７４】
なお、図５（ｄ）では、識別情報を８ビットの値とし、直近に付与した識別情報に１を加えた識別情報を付与する例を示しているが、識別情報を１６ビットの値とすることもできる。この場合、書き込み部３１０は、「０ｘ００００」と「０ｘｆｆｆｆ」は、「０ｘ００００」の方が大きい値と判断する。また、識別情報付与部３５０は、直近に付与した識別情報から１を減じた識別情報を該当する記憶領域に付与するとしてもよい。この場合、書き込み部３１０は、より小さい値の識別情報を有効な識別情報と判断することができる。さらに、直近に付与した識別情報に加減する数は１に限られず、２以上の数としてもよい。
【００７５】
記憶領域２に識別情報が付与された後、消去部３３０は、記憶領域１のデータをまとめて消去する（Ｓ５３６）。図５（ｅ）は、記憶領域１のデータが消去された様子を示している。記憶領域１の識別情報も消去されるため、この後は、書き込み部３１０は単に識別情報「０ｘ０２」が付与されている記憶領域２にログを書き込む。そして、記憶領域２に書き込まれたデータ量が設定データ量Ｔｈに達し場合は、上記Ｓ５０８〜Ｓ５３６と同様の動作を繰り返す。例えば、Ｓ５３２においては、識別情報付与部３５０は記憶領域１と記憶領域２に、交互に、「０ｘ０３」、「０ｘ０４」、「０ｘ０５」、以下同様に１ずつ値をインクリメントした識別情報を付与する。
【００７６】
なお、Ｓ５３６における記憶領域１のデータの消去は、データ記憶装置１０におけるデータ処理の遊休時、例えば、ＮＯＲ型フラッシュメモリ２０へのデータの書き込み、ＮＯＲ型フラッシュメモリ２０からのデータの読み出し、最適化データの生成および識別情報の付与などのデータ記憶装置における処理が行われていない間、あるいは処理能力に余裕があるとき行うとしてもよい。かかる構成により、消去部３３０による記憶領域１のデータの消去に要する時間的、または処理能力的負荷を実質的に排除することができる。
【００７７】
以上説明したように、本発明によれば、記憶部にログ構造化ファイル形式により書き込まれたデータを、従来のクリーンナップ処理に比較して短時間で最適化することができる。
【００７８】
詳細に説明すると、従来のクリーンナップ処理は、セグメントという単位に使用領域を区分し、各使用領域に含まれる有効なデータを新規なデータとして未使用領域に追記した後、該使用領域のデータを消去して未使用領域とする過程を、全ての区分された使用領域で順次行う。その後、さらに、有効なデータが追記された使用領域と未使用領域との断片化を解消し、有効なデータを連続的に配するデフラグ処理が必要であった。
【００７９】
これに対し、本願発明によれば、第一の記憶領域に書き込まれたデータのうちの有効なデータを抽出して、該有効なデータを第二の記憶領域に連続的に配されるよう書き込むことができる。すなわち、本願発明によれば、第一の記憶領域に書き込まれたデータを一切消去することなく、第一の記憶領域に書き込まれたデータの最適化データを第二の記憶領域に反映することができる。
【００８０】
また、本発明の一実施形態によれば、上記のように第一の記憶領域に書き込まれたデータの最適化データが第二の記憶領域に反映された時点で、第一の記憶領域に書き込まれていたデータは不要となるため、第一の記憶領域のデータを一括して消去することができる。第一の記憶領域のデータが消去され、第一の記憶領域が未使用領域となった後は、第一の記憶領域に書き込まれたデータの最適化データを第二の記憶領域に反映したのと同様に、第二の記憶領域の最適化データを第一の記憶領域に反映させることが可能となる。
【００８１】
ここで、通常、同じデータ量の消去であっても、分割して消去するより一括して消去する方が処理速度が速い。したがって、本願発明の一実施形態によれば、第一の記憶領域に書き込まれたデータの消去をまとめて行うことが可能であるため、該データの消去をより効率的に実現できる。
【００８２】
また、第二の記憶領域に、第一の記憶領域に書き込まれたデータを最適化データとして反映させた後であって、データ記憶装置の遊休時に、第一の記憶領域に書き込まれたデータの消去を行うことができる。かかる構成によれば、記憶部へのデータの書き込み、記憶部からのデータの読み出し、最適化データの生成および識別情報の付与などのデータ記憶装置における処理の遊休時に、第一の記憶領域に記憶されたデータを消去するので、第一の記憶領域に記憶されたデータの消去に要する負荷を、実質的に排除することができる。
【００８３】
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明は係る例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【００８４】
例えば、上記実施形態では、記憶領域を２つに分割されたＮＯＲ型フラッシュメモリを例に挙げて説明したが、記憶領域を３つ以上に分割することもできる。具体的に、記憶領域を記憶領域１、記憶領域２および記憶領域３に分割し、識別情報を記憶領域１、記憶領域２、記憶領域３、記憶領域１、の順に付与し、記憶領域３が現在有効な記憶領域であった場合を考える。このとき、記憶領域３には、記憶領域２に書き込まれたデータの最適化データが書き込まれている。また、上記の実施例では、記憶領域２のデータを削除しておく必要があったが、次に最適化データを書き込む記憶領域１のデータを削除しておけば、記憶領域２のデータを削除しておかなくてもよい。かかる構成により、記憶領域３のデータが何かしらの事由により消滅した場合でも、記憶領域２のデータに基づいたロールフォワードが可能となる。
【００８５】
また、上記では記憶媒体、あるいは記憶部の一例としてＮＯＲ型フラッシュメモリを挙げて説明したが、ＮＯＲ型フラッシュメモリ２０に限られず、例えば、ＮＡＮＤ型フラッシュメモリ、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＥＰＲＰＭ（Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）などの不揮発性メモリや、ハードディスクおよびフロッピー（登録商標）ディスクなどの磁気ディスクや、ＣＤ−Ｒ／ＲＷ、ＤＶＤ（ＤＶＤ−Ｒ／ＲＷ／＋Ｒ／＋ＲＷ／ＲＡＭなど）およびブルーレイディスク（ＢＤ−Ｒ／ＢＤ−ＲＥ）（登録商標）などの光ディスクや、ＭＯディスクなどのデータを保持できる記憶媒体であればいずれにも本発明を適用可能である。
【００８６】
また、本明細書のデータ記憶装置の処理における各ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理（例えば、並列処理あるいはオブジェクトによる処理）も含むとしてもよい。例えば、識別情報を付与するステップであるＳ５３２は、最適化データの生成を開始するステップであるＳ５０８の直後に行うとしてもよい。この場合、最適化データ生成部３４０が最適化データの生成を開始してから、記憶領域２に最適化データが書き込まれる間にも、追加データを記憶領域２に、最適化データと重畳しないように書き込むことができる。かかる構成によれば、上記実施形態で説明したような、追加データを記憶領域１から記憶領域２に転写する過程を省略することができ、処理効率の向上が図れる。
【００８７】
また、各記憶領域に、書き込み部によるデータの書き込み対象となる記憶領域を示す識別情報を付与しない構成としてもよい。例えば、最適化データ生成部が特定のＮＯＲ型フラッシュメモリの最適化データを生成した回数を保持しておき、該回数を分割された記憶領域の数で除した余りの値に基づいて、現在書き込み対象となる記憶領域を判断するとしてもよい。
【００８８】
あるいは、上記の実施形態においては、一度最適化データが生成された後は、いずれかの記憶領域には必ずデータが書き込まれている状態となる。したがって、読み出し部３２０がデータが書き込まれている記憶領域を抽出し、該記憶領域をデータの書き込み対象となる記憶領域であると判断することができる。図５（ｃ）および（ｄ）に示したように、複数の記憶領域にデータが書き込まれている場合は、書き込まれているデータ量の多い記憶領域、または少ない記憶領域をデータの書き込み対象となる記憶領域であると判断してもよい。
【００８９】
かかる構成によれば、ＮＯＲ型フラッシュメモリの各記憶領域に、識別情報を付与するためのデータエリアを設ける必要がなくなるため、実データをより記憶することが可能となる。当該効果は、ＮＯＲ型フラッシュメモリを多数の記憶領域、例えば１０の記憶領域に分割した場合に顕著に現れる。
【００９０】
また、最適化データ生成部は、第一の記憶領域に書き込まれた全てのデータを最適化した最適化データを生成した後、まとめて第二の記憶領域に該最適化データを書き込むとしても、第一の記憶領域に書き込まれた有効なデータを抽出しながら、該有効なデータを第二の記憶領域の未使用領域にそれぞれが隣接するように書き込むとしてもよい。
【００９１】
また、設定データ量を常に一定とする必要は無く、単位時間あたりにＮＯＲ型フラッシュメモリに書き込まれるデータ量と、最適化データの生成に要する時間とから、適応的に設定するとしてもよい。すなわち、最適化データ生成部が第一の記憶領域の最適化データの生成を開始してから、第一の記憶領域に書き込まれる追記データが、第一の記憶領域におさまるように設定データ量を設定することができる。
【００９２】
また、最適化データおよび追加データを第二の記憶領域に書き込んだ時点で、第二の記憶領域に書き込まれているデータ量が設定データ量に達していた場合は、そのまま第二の記憶領域の未使用領域にデータを書き込み、第二の記憶領域の容量が飽和した後は、第一の記憶領域にデータを書き込むとしてもよい。かかる構成により、ＮＯＲ型フラッシュメモリの記憶容量を十分に活用することが可能となる。
【図面の簡単な説明】
【００９３】
【図１】本発明の一実施形態にかかるデータ記憶装置の構成を示したブロック図である。
【図２】ログ構造化ファイルシステムにより書き込まれたログの形式を示した説明図である。
【図３】ログ構造化ファイルシステムにより書き込まれたログの形式を示した説明図である。
【図４】同実施形態にかかるデータ記憶装置の動作の流れを示したフローチャートである。
【図５】ＮＯＲ型フラッシュメモリにおける処理の様子を示した説明図である。
【図６】最適化データ生成部により生成された最適化データの一例を示した説明図である。
【符号の説明】
【００９４】
１０      データ記憶装置
２０      ＮＯＲ型フラッシュメモリ
３０      処理部
４０      入出力部
３１０    書き込み部
３２０    読み出し部
３３０    消去部
３４０    最適化データ生成部
３５０    識別情報付与部
【図１】
2008003932.tif 000003
【図２】
2008003932.tif 000004
【図３】
2008003932.tif 000005
【図４】
2008003932.tif 000006
【図５】
2008003932.tif 000007
【図６】
2008003932.tif 000008