JP2009205590A - アクセスモジュール、情報記録モジュール、コントローラ、及び情報記録システム - Google Patents

アクセスモジュール、情報記録モジュール、コントローラ、及び情報記録システム Download PDF

Info

Publication number
JP2009205590A
JP2009205590A JP2008049357A JP2008049357A JP2009205590A JP 2009205590 A JP2009205590 A JP 2009205590A JP 2008049357 A JP2008049357 A JP 2008049357A JP 2008049357 A JP2008049357 A JP 2008049357A JP 2009205590 A JP2009205590 A JP 2009205590A
Authority
JP
Japan
Prior art keywords
area
file
information
information recording
logical address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2008049357A
Other languages
English (en)
Inventor
Takuji Maeda
卓治 前田
Shigekazu Kokita
重一 小来田
Shinji Inoue
信治 井上
Hiroki Eto
博樹 衛藤
Makoto Ochi
誠 越智
Masahiro Nakamura
雅裕 中村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Original Assignee
Panasonic Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Corp filed Critical Panasonic Corp
Priority to JP2008049357A priority Critical patent/JP2009205590A/ja
Publication of JP2009205590A publication Critical patent/JP2009205590A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

【課題】情報記録モジュールの不揮発性メモリをファイルシステムにより領域管理する場合において、ファイルシステム管理情報の電源断対策を実現しつつ高速にファイルデータを記録すると共に、不揮発性メモリの書き換え寿命低下を防止する方法を提供する。
【解決手段】電源断が発生した場合にファイルシステム管理情報を修復するための情報であるファイルログを情報記録モジュールに記録するファイルログ記録部をアクセスモジュールに設ける。また、不揮発性メモリ内にファイルログ管理情報を格納し、その情報を元に特定の物理ブロックをファイルログ格納用領域として制御するファイルログ制御部を情報記録モジュールに設ける。これらアクセスモジュールと情報記録モジュールを組み合わせ、電源断対策としてファイルデータ書き込み処理の合間にファイルログを書き込む。
【選択図】図1

Description

本発明は、データを不揮発性メモリに格納し、ファイルとして管理するアクセスモジュール、情報記録モジュール、コントローラ、及び情報記録システムに関する。
音楽コンテンツや、映像データ等のデジタルデータを記録する記録媒体には、磁気ディスク、光ディスク、光磁気ディスク等、様々な種類が存在する。これら記録媒体の内、記録素子にフラッシュROM等の半導体メモリを使用したメモリカードは、記録媒体の小型化が図れることから、デジタルスチルカメラや携帯電話端末等、小型の携帯機器を中心に急速に普及している。更に最近では、フラッシュROM等の半導体メモリを機器に内蔵してハードディスクの代わりに使用するなど、従来のメモリカードのような着脱可能なリムーバブルメディアとしての用途のみならず、機器内蔵ストレージとしての用途でも半導体メモリが使用されるようになってきた。
このようなメモリカードや機器内蔵ストレージには、主にNAND型フラッシュメモリと呼ばれる半導体素子が使用されている。NAND型フラッシュメモリは、既に記録されたデータを一旦消去した後、再度別のデータを記録することが可能な記録素子であり、従来のハードディスクと同様に、複数回書き換え可能な情報記録装置を構成することが可能である。
従来、メモリカードや機器内蔵ストレージに格納されたデータはファイルシステムにより管理されている。データをファイルシステムにより管理することで、同一のファイルシステムを解釈する機器間でデータをファイルとして共有することが可能となり、ユーザは自分の格納したデータを複数の機器間で容易に参照したり、コピーしたりすることが可能となる。
従来最も広く使用されているファイルシステムはFATファイルシステムと呼ばれるものである。FATファイルシステムは、領域管理をファイルアロケーションテーブル(FAT)と呼ばれるテーブルで一元管理するという特徴を持っており、比較的構造がシンプルで実装が容易なことから、フレキシブルディスクやPCのハードディスク、メモリカードなどのファイルシステムとして広く使用されている。
図2にFATファイルシステムの構成を示す。FATファイルシステムではファイルアロケーションテーブル内の管理単位のビット幅の違いにより、FAT12、FAT16、FAT32などの種類が存在するが、ファイルアロケーションテーブルによる領域管理方法はほぼ同じであり、以下ではFAT16を例に説明する。同図に示すように論理アドレス空間の先頭には、領域割り当て単位やファイルシステムが管理する領域の大きさ等、ファイルシステムの管理情報が格納される領域であるファイルシステム管理情報領域301が存在する。このファイルシステム管理情報領域301には、マスターブートレコード・パーティションテーブル303、パーティションブートセクタ304、FAT(305、306)、ルートディレクトリエントリ307と呼ばれるファイルシステムの管理情報が含まれ、ユーザデータ領域302を管理するために必要な情報が各々格納されている。マスターブートレコード・パーティションテーブル303は、ファイルシステムが管理する論理アドレス空間上の領域を複数のパーティションと呼ばれる領域に分割して管理するための情報が格納される領域である。パーティションブートセクタ304は、パーティション内の領域管理単位の大きさなど、1つのパーティション内の管理情報が格納される領域である。FAT(305、306)は、ファイルに含まれるデータの格納位置に関する情報が格納される領域であり、通常、同じ情報を持つ2つのFAT(305、306)が存在し、一方のFAT(305、306)が破損したとしても他方のFAT(305、306)によりファイルにアクセスできるよう二重化されている。ルートディレクトリエントリ307は、ルートディレクトリ直下に存在するファイル、ディレクトリの情報(ディレクトリエントリ)が格納される領域である。
またFATファイルシステムでは、このファイルシステム管理情報領域301に引き続く領域にファイル本体のデータなどを格納するユーザデータ領域302が存在する。ユーザデータ領域302は、512バイトから32KB程度の大きさを持つクラスタと呼ばれる管理単位毎に分割管理されており、各クラスタにはファイルに含まれるデータが格納されている。多くのデータを格納するファイルは、複数のクラスタに跨ってデータを格納しており、各クラスタ間の繋がりは、FAT(305、306)に格納されたリンク情報により管理されている。また、ルートディレクトリ直下のディレクトリ内に存在するファイル、サブディレクトリの情報(ディレクトリエントリ)は、このユーザデータ領域302の一部を利用して格納される。
図3はFAT16のディレクトリエントリの構成を示した図である。ディレクトリエントリ308は1つのファイル、ディレクトリ毎に32バイトのディレクトリエントリ308が割り当てられ、ファイル、ディレクトリに関する情報を格納している。すなわち、1つのファイルやディレクトリが追加される度に32バイトのディレクトリエントリ308の情報が新規に作成され、ルートディレクトリエントリ307の領域、あるいはユーザデータ領域302に記録される。ディレクトリエントリ308の先頭8バイトにはファイルやディレクトリの名称が格納される。続く3バイトには拡張子が格納される。続く1バイトにはファイル・ディレクトリの種別を識別するフラグや、ファイル・ディレクトリがリードオンリーか否かを識別するフラグ等の属性情報が格納される。また、ファイル・ディレクトリの最終更新日時の情報や、ファイル・ディレクトリデータの実体が格納されているクラスタの開始位置を示す開始クラスタ番号、ファイルサイズのバイト数等が格納される。このようにディレクトリエントリ308ではファイルの先頭データを格納したクラスタの位置に関する情報しか保持しないため、ファイルデータが複数クラスタに跨って格納される場合には、その位置情報はFAT(305、306)に保持される。すなわち、ファイルを更新する場合にはファイルデータを書き込むと共に、ディレクトリエントリ308、FAT(305、306)の情報も書き込む必要がある。
続いて、図4を用いてFATファイルシステムにおけるファイルデータ書き込み処理手順について説明する。
(S401)対象ファイルのディレクトリエントリ308を読み出す。
(S402)読み出したディレクトリエントリ308に格納された開始クラスタ番号を取得し、ファイルデータの先頭位置を確認する。
(S403)FAT(305、306)をアクセスモジュールのRAM上に読み出し、S402で取得したファイルデータの先頭位置から順にRAM上のFAT(305、306)内でリンクを辿り、書き込み位置のクラスタ番号を取得する。
(S404)ファイルデータ書き込みに際し、ファイルに新たに空き領域を割り当てる必要があるか判定する。空き領域の割り当てが必要な場合S405の処理に進む。空き領域の割り当てが不要な場合S408の処理に進む。
(S405)RAM上のFAT(305、306)内で空き領域を検索し、1クラスタの空き領域を取得する。FAT(305、306)では値が0x0000に設定されているFATエントリが空きクラスタを意味するため、空き領域を取得する処理は、FAT(305、306)上で0x0000の値を持つFATエントリを取得するという処理になる。具体的にはRAM上のFAT(305、306)内のFATエントリを順次参照し、値が0x0000に設定されているFATエントリを見つけ、該FATエントリの対応クラスタ番号の値を求める。FATエントリの検索処理は例えばFAT(305、306)の先頭から終端まで順に処理を実施しても良いし、前回空き領域を割り当てたFATエントリの次のFATエントリから処理を開始してFAT(305、306)の終端まで到達したらFAT(305、306)の先頭に折り返し、前回空き領域を割り当てたFATエントリまで処理を実施しても良い。このようにFATエントリの検索処理手順はFAT(305、306)領域の全面に対して空き領域を検索する処理を実現できるものであれば良く、特に限定はされない。
(S406)S405で取得した空きクラスタの番号に対応するFATエントリの値を、リンク終端を意味する値に設定する。FAT(305、306)では値が0xFFFFに設定されているFATエントリがリンク終端を意味するため、S406では該当FATエントリの値をRAM上で0xFFFFに設定する処理を実施する。
(S407)現在のリンク終端のクラスタ番号に対応するFATエントリの値を0xFFFFからS405で取得した空きクラスタの番号にRAM上で設定する。空き領域を取得する必要がある場合は、ファイル終端への追記を意味し、その場合S403でのリンクを辿る処理においてファイル終端までリンクが辿られている。そのため、現在のリンク終端のクラスタ番号に対応するFATエントリの値はリンク終端を意味する0xFFFFが設定されている。そのため、S407の処理により、S405で新たに取得した空きクラスタへリンクを接続することによりファイルのリンクが1クラスタ分長くなり、ファイルデータを追記することが可能となる。
(S408)現在参照している書き込み位置のクラスタ内にファイルデータを書き込む。S404で空き領域取得が必要と判断した場合は、現在参照している書き込み位置はS405で取得した空きクラスタとなる。またS404で空き領域取得が不要と判断した場合は、現在参照している書き込み位置はS403でリンクを辿った結果到達したクラスタとなる。
(S409)全ファイルデータの書き込みが完了したか判定する。まだファイルデータが残っている場合S404の処理に戻る。全ファイルデータの書き込みが完了した場合S410の処理に進む。
(S410)ディレクトリエントリ308内に格納されたファイルサイズや最終更新日時等の情報を更新し、情報記録モジュールの不揮発性メモリ内に格納されたディレクトリエントリ308を上書きする。
(S411)情報記録モジュールの不揮発性メモリ内に格納されたFAT(305、306)に、アクセスモジュールのRAM上のFAT(305、306)のデータを上書きし、処理を完了する。
このファイルデータ書き込み処理により、図5に示された60000バイトのデータを持つFILE1.TXTに10000バイトのデータを追記した場合、図6に示されるような70000バイトのデータを持つファイルに変化する。すなわち、空きクラスタとしてクラスタ番号6のクラスタが取得されてファイルデータが追記され、FAT(305、306)上のリンクにクラスタ番号6が接続される。その結果、FILE1.TXTのリンクは、クラスタ番号2〜5の4クラスタからなる状態から、クラスタ番号2〜6の5クラスタからなる状態に更新される。
このようにFATファイルシステムでは、ファイルの管理情報がFAT(305、306)とディレクトリエントリ308の両方に格納されていることから、ファイルを更新する場合には、これらの情報も共に更新する必要がある。すなわち、アクセスモジュールが情報記録モジュールに格納されたファイルを更新する場合、図7に示すようにファイルデータ(DATA)、ディレクトリエントリ308(DIR)、FAT(305、306)(FAT1、FAT2)のような一連の書き込み処理を実施することになる。
また、ディレクトリエントリ308(DIR)、FAT(305、306)の更新を実施するまでは、例えファイルデータが書き込まれていてもファイルとして読み出すことができない。例えばムービーで動画コンテンツを1時間記録した場合に、これらファイルシステム管理情報の更新を全くしなかった場合、記録終了直前に電源断が生じると動画コンテンツを格納したファイルが読み出せなくなり、1時間分の動画コンテンツが消失してしまう。そのためこのようなファイル消失を防ぐため、これらファイルシステム管理情報の更新は数秒間に1回実施する等、定期的に実施しておく必要がある。
一方、ハイビジョン動画のようなコンテンツファイルを情報記録モジュールに格納する場合、映像のビットレートが高いため、例えば数秒に1回の割合でディレクトリエントリ308、FAT(305、306)を更新する場合でもファイルデータの記録サイズは数MB程度の比較的大きなサイズで記録されることになる。一方、ディレクトリエントリ308やFAT(305、306)は情報が更新される部分のみを情報記録モジュールに書き込むため、512バイトから32KB程度の比較的小さなサイズで記録されることになる。
情報記録モジュールの不揮発性メモリにNAND型フラッシュメモリを使用する場合、データを記録する前に一旦データを消去する必要があり、その消去単位の大きさが数百KBから数MBであることから、小サイズの書き込みを実施する場合には同一物理ブロック内に存在する有効なデータを他のブロックにコピーする巻き込み退避処理が発生する。そのため、NAND型フラッシュメモリでは消去単位より小さな単位でデータを書き込むと記録速度が低下する。ムービーのような大容量のコンテンツファイルを情報記録モジュールに書き込む機器の場合、電源断対策として頻繁にファイルシステム管理情報を更新する必要があるため、ディレクトリエントリ308やFAT(305、306)等の小サイズのファイルシステム管理情報の書き込みに生じる速度低下が顕著になるという問題が生じる。また、巻き込み退避により小サイズの書き込みを実施する際にも大きなサイズの書き込み処理が発生することから、ファイルシステム管理情報の更新を頻繁に行った場合、NAND型フラッシュメモリの書き換え寿命が短くなるという問題も発生する。
従来、このような問題を解決する方法として、データ書き込みの際にアクセスモジュールが情報記録モジュールへデータ種別を通知する方法が提案されている(例えば、特許文献1参照)。この方法では、データ種別として、大きなサイズのファイルデータなのか小さなサイズのファイルシステム管理情報なのかを通知し、情報記録モジュールに設けられた管理単位の異なる2つの不揮発性メモリにデータを振り分けることにより、ファイルデータ、ファイルシステム管理情報の各々を高速に記録する。これにより、電源断対策で頻繁にファイルシステム管理情報が更新されたとしても高速にファイルデータを書き込むことが可能となる。また、巻き込み退避処理による無駄なデータ書き込み処理が削減されるため、不揮発性メモリの書き換え寿命低下も防止される。
WO2005/043394A1
しかしながら、上記の従来技術では管理単位の異なる2つの不揮発性メモリを情報記録モジュールに設ける必要があり、従来のような1つの不揮発性メモリで構成した情報記録モジュールに比べコストが高くなる可能性がある。また2つの不揮発性メモリを搭載することにより情報記録モジュールにおける不揮発性メモリの実装面積が大きくなり、情報記録モジュールの小型化を図ることが難しくなる可能性がある。
本発明では上記問題点に鑑み、複数の不揮発性メモリを必要とすることなく、ファイルシステム管理情報の電源断対策を実現しつつ、高速にファイルデータを記録することが可能であり、且つ不揮発性メモリの書き換え寿命低下を防止可能なアクセスモジュール、情報記録モジュール、コントローラ、及び情報記録システムを提供することを目的とする。
本発明のアクセスモジュールは、データを格納する不揮発性メモリを具備する情報記録モジュールにアクセスするアクセスモジュールであって、前記情報記録モジュール内に格納したデータをファイルシステムにより管理するファイルシステム制御部と、前記ファイルシステムにより管理されるファイルデータの一部を前記情報記録モジュールへ記録する際に、当該ファイルに関するファイルシステム管理情報の差分情報であるファイルログを生成し、前記情報記録モジュールに記録するファイルログ記録部とを具備することを特徴とする。
また、前記ファイルログは、前記情報記録モジュール内の特定の論理アドレス領域に格納され、前記特定の論理アドレス領域の位置は、全論理アドレス空間を第1の領域管理単位毎に区切った際の特定の1つの領域管理単位の先頭位置であり、前記特定の論理アドレス領域の大きさは、第2の領域管理単位の大きさであるようにすると良い。
この際、前記第1の領域管理単位は、前記不揮発性メモリの物理ブロックサイズの整数倍であるようにしても良い。
一方、前記第2の領域管理単位は、前記不揮発性メモリのページサイズの整数倍であるようにしても良い。
また、前記ファイルログを記録する前記特定の論理アドレス領域に引き続く領域であり、前記特定の論理アドレスと同一の前記第1の領域管理単位内の領域は、アクセスが禁止される領域としても良い。
また別の方法として、前記ファイルログは、前記不揮発性メモリ内に格納され、前記格納領域は論理アドレスが割り当てられないようにしても良い。
本発明の情報記録モジュールは、データを格納する不揮発性メモリと、前記不揮発性メモリ上に構築されたファイルシステムにおけるファイルシステム管理情報の差分情報であるファイルログを、外部のアクセスモジュールから受信し、前記不揮発性メモリ内の所定の領域に記録するファイルログ制御部とを具備することを特徴とする。
更に、前記不揮発性メモリは、前記ファイルログを格納する領域を管理するために使用する情報であるファイルログ管理情報を格納するようにすると効果的である。
また、前記所定の領域は前記不揮発性メモリ内の論理アドレス空間上に存在する領域であり、前記ファイルログ管理情報は前記ファイルログの格納用領域として使用される領域の物理アドレスと、前記領域内の使用済み領域に関する情報と、前記領域に対応づけられた論理アドレスとを含むようにすると良い。
また別の方法として、前記所定の領域は前記不揮発性メモリ内の論理アドレス空間の外部に存在する領域であり、前記ファイルログ管理情報は前記ファイルログの格納用領域として使用される領域の物理アドレスと、前記領域内の使用済み領域に関する情報とを含むようにしても良い。
本発明のコントローラは、データを格納する不揮発性メモリを具備する情報記録モジュールを制御するコントローラであって、前記不揮発性メモリ上に構築されたファイルシステムにおけるファイルシステム管理情報の差分情報であるファイルログを、外部のアクセスモジュールから受信し、前記不揮発性メモリ内の所定の領域に記録するファイルログ制御部を具備することを特徴とする。
本発明の情報記録システムは、情報記録モジュールと、前記情報記録モジュールにアクセスするアクセスモジュールからなる情報記録システムであって、前記情報記録モジュールは、データを格納する不揮発性メモリと、前記不揮発性メモリ上に構築されたファイルシステムにおけるファイルシステム管理情報の差分情報であるファイルログを、外部のアクセスモジュールから受信し、前記不揮発性メモリ内の所定の領域に記録するファイルログ制御部とを具備し、前記アクセスモジュールは、前記情報記録モジュール内に格納したデータをファイルシステムにより管理するファイルシステム制御部と、前記ファイルシステムにより管理されるファイルデータの一部を前記情報記録モジュールへ記録する際に、当該ファイルに関するファイルシステム管理情報の差分情報であるファイルログを生成し、前記情報記録モジュールに記録するファイルログ記録部とを具備することを特徴とする。
本発明によれば、複数の不揮発性メモリを必要とすることなく、ファイルシステム管理情報の電源断対策を実現しつつ、高速にファイルデータを記録することが可能となる。また、不揮発性メモリの書き換え寿命低下を防止することが可能となる。
以下、本発明のアクセスモジュール、情報記録モジュール、コントローラ、及び情報記録システムについて、図面を参照しつつ説明する。
(実施の形態1)
図1は本発明の実施の形態1におけるアクセスモジュール、情報記録モジュールの構成図である。図1においてアクセスモジュール1は、CPU11、RAM12、情報記録モジュールインタフェース13、ROM14を含む。ROM14にはアクセスモジュール1を制御するプログラムが格納されており、このプログラムはRAM12を一時記憶領域として使用し、CPU11上で動作する。情報記録モジュールインタフェース13は、情報記録モジュール2とアクセスモジュール1との接続部であり、制御信号及びデータの送受信を行う。ROM14は更に、アプリケーション制御部101、ファイルシステム制御部102、情報記録モジュールアクセス部103を含む。アプリケーション制御部101は、データの生成や電源の制御などアクセスモジュール1全体の制御を行う。ファイルシステム制御部102は、FATファイルシステム等のファイルシステムによりデータをファイルとして管理するための制御を行う。情報記録モジュールアクセス部103は、ファイルシステム制御部102からデータと共にサイズとアドレスを渡され、指定されたサイズのデータを情報記録モジュール2の記録領域内における指定された位置に記録するなど、情報記録モジュール2に対するコマンドやデータの送受信を制御する。ファイルシステム制御部102は更に、ファイルログ記録部104を含む。ファイルログ記録部104は、本発明の特徴であるファイルログに対するアクセスを制御する制御部であり、従来のアクセスモジュールには存在しないものである。
一方、図1において情報記録モジュール2は、コントローラ21と不揮発性メモリ22を含む。コントローラ21は、不揮発性メモリ22の制御全般を行うモジュールであり、CPU等を含むシステムLSIとして構成される。コントローラ21は更に、アクセスモジュールインタフェース211、CPU212、RAM213、ROM214、不揮発性メモリインタフェース215を含む。アクセスモジュールインタフェース211は、情報記録モジュール2とアクセスモジュール1との接続部であり、情報記録モジュールインタフェース13同様、制御信号及びデータを送受信するインタフェースである。ROM214には情報記録モジュール2を制御するプログラムが格納されており、このプログラムはRAM213を一時記憶領域として使用し、CPU212上で動作する。不揮発性メモリインタフェース215はコントローラ21と不揮発性メモリ22との接続部であり、不揮発性メモリ22に対するコマンドやデータの送受信を制御する。ROM214は更に、アドレス変換制御部216、ファイルログ制御部217を含む。アドレス変換制御部216は、不揮発性メモリ22上の物理アドレスと、アクセスモジュール1からアクセス可能なアドレス空間として情報記録モジュール2が提供する論理アドレス空間における論理アドレスとの対応付けを制御する制御部であり、従来の情報記録モジュールに存在するアドレス変換制御部と同様の制御部である。ファイルログ制御部217は、本発明の特徴であるファイルログを制御する制御部であり、従来の情報記録モジュールには存在しないものである。また、不揮発性メモリ22は、ユーザデータを格納する領域とは別の領域にアドレス管理情報221を格納する。アドレス管理情報221は先に説明した物理アドレスと論理アドレスの対応付け等、不揮発性メモリ22内の記録領域のアドレス管理に使用する情報である。そのため、ユーザデータはアクセスモジュール1からアクセス可能な論理アドレス空間内に格納されるのに対し、アドレス管理情報221はアクセスモジュール1からアクセスできないよう論理アドレス空間の外側に格納される。アドレス管理情報221は更に、物理アドレスと論理アドレスの対応付けを管理するアドレス変換情報222、空き物理ブロックを管理するフリーブロック情報223、ファイルログを管理するファイルログ管理情報224を含む。アドレス変換情報222、フリーブロック情報223は従来の情報記録モジュールに含まれる情報と同様のものである。一方ファイルログ管理情報224は、本発明の特徴であるファイルログを管理するための情報であり、従来の情報記録モジュールには存在しないものである。また、不揮発性メモリ22内の論理アドレス空間上にはユーザデータが格納されると共に、ファイルログ225を格納する領域が存在する。ファイルログ225は、ファイルシステム管理情報の差分情報であり、電源断が生じた際にファイルシステム管理情報を修復することを可能とする必要最低限の情報である。
本発明の実施の形態1における情報記録モジュール2は不揮発性メモリ22内にファイルログ管理情報224を格納する。情報記録モジュール2内のファイルログ制御部217は、このファイルログ情報224を用いてファイルログ225を特定の物理ブロックに書き込む。また、本発明の実施の形態1におけるアクセスモジュール1は、ファイルデータ書き込みの合間にファイルログ225を情報記録モジュール2に書き込む。また、ファイルログ225を書き込む領域を特定論理アドレスに該当するブロックの先頭ページに限定することにより、ファイルログ225の書き込み処理を高速化する。これにより、複数の不揮発性メモリを必要とすることなく、ファイルシステム管理情報の電源断対策を実現しつつ、高速にファイルデータを記録することが可能となる。また、不揮発性メモリの書き換え寿命低下を防止することが可能となる。
続いて図8を用いて、本発明の実施の形態1における不揮発性メモリ22の構成について説明する。不揮発性メモリ22は例えばNAND型フラッシュメモリが用いられる。不揮発性メモリ22は複数の物理ブロックから構成される。物理ブロックはデータを消去する単位であり、データを書き込む前にこの単位で一旦データを消去する必要がある。また物理ブロックは複数のページから構成される。ページはデータの読み出し、書き込みを行う単位である。更にページはデータ部と冗長部を含む。データ部は論理アドレス空間としてアクセスモジュール1からアクセスが可能な領域であり、実際にファイルデータ等が格納される領域である。また冗長部は、不揮発性メモリ22の管理情報やECC等が格納される領域であり、アクセスモジュール1からアクセスできない領域である。データ部の大きさは例えば4KB、冗長部の大きさは128バイト程度となる。また、データ部にのみ着目した場合の物理ブロックの大きさは、例えば512KB程度となる。よって、この大きさの物理ブロック2048個から構成される不揮発性メモリ22は、総容量1GBとなる。
続いて本発明の特徴を明確にするために、従来の情報記録モジュールにおけるデータ書き込み処理手順と、本発明の実施の形態1における情報記録モジュールにおけるデータ書き込み処理手順とを比較して説明する。まずは、図9、図10を用いて従来の情報記録モジュールにおけるデータ書き込み処理手順について説明する。
図9は従来の情報記録モジュールにおけるデータ書き込み処理手順を示したフロー図であり、同処理におけるアドレス変換については、情報記録モジュール内のアドレス変換制御部により実施される。図10は従来の情報記録モジュールにおけるアドレス管理情報と物理ブロックの一例を示した説明図である。図10(a)は書き込み前の状態を示し、図10(b)は書き込み後の状態を示す。図10(a)に示すように、従来の情報記録モジュールにおけるアドレス管理情報は、アドレス変換情報と、フリーブロック情報を含む。アドレス変換情報は、論理アドレスと物理アドレスの対応付けを管理する情報であり、構成の一例としては各論理ブロックに対して割り当てられている物理ブロックの番号を格納した表により構成される。また、フリーブロック情報は未割り当ての空き物理ブロックの番号を管理する情報である。
以下、図9を用いて従来の情報記録モジュールにおけるデータ書き込み処理手順について説明する。
(S901)アドレス変換情報を参照し、書き込み対象領域の元データが格納された物理ブロックの番号を取得する。図10の例では、論理ブロック番号0x0001の先頭ページに存在するデータAをデータEで上書きする場合を想定する。この場合、アドレス変換情報を参照し論理ブロック番号0x0001に対応する物理ブロック番号として0x0001を取得する。
(S902)フリーブロック情報を参照し、フリーブロックの物理ブロック番号を取得する。図10(a)の例ではフリーブロック情報を参照し、先頭に格納されている値である0x000Eを取得する。すなわち、物理ブロック番号0x000Eのブロックは現在未使用で空きブロックとして管理されており、物理ブロック内のデータは消去済みの状態となっている。
(S903)S902で取得したフリーブロックに新データを書き込む。図10の例では、物理ブロック番号0x000Eのブロックの先頭ページにデータEを書き込む。
(S904)フリーブロックに残りの有効データをコピーする。図10の例では、物理ブロック0x0001のデータB以降のデータは書き込み後も有効なデータとして保持される必要があることから、データB以降の全データをフリーブロックである物理ブロック番号0x000Eのブロックにコピーする。この処理が一般に巻き込み退避処理と呼ばれている処理である。
(S905)アドレス変換情報を更新し、データを書き込んだフリーブロックの物理ブロック番号を登録する。図10の例では、論理ブロック番号0x0001に対応する物理ブロックとして0x0001が管理されていたが、今回の書き込み処理により0x000Eに変化するため、アドレス変換情報の該当箇所を0x000Eに書き換える。
(S906)元データが格納されていた物理ブロックを消去する。図10の例では、物理ブロック番号0x0001のブロックに含まれる全データを消去する。
(S907)使用したフリーブロックをフリーブロック情報から削除する。図10の例では、物理ブロック番号0x000Eのブロックが使用されたため、フリーブロック情報から0x000Eの番号を削除する。
(S908)元データが格納されていた物理ブロックをフリーブロック情報に登録する。図10の例では、元データが格納されていた物理ブロック番号0x0001のブロックがフリーブロックとして管理されるよう、フリーブロック情報に0x0001の番号を登録する。
これら一連の処理により、図10(a)の状態から図10(b)の状態に変化する。この例では、1ページの書き込み処理を実施する場合について説明したが、実際にはS904の巻き込み退避処理により該当物理ブロックの残り有効データも全て書き込まれるため、1物理ブロック分の書き込み処理が発生することになる。この巻き込み退避処理は書き込みデータが大きい程減少し、物理ブロック単位でデータを書き込んだ場合、巻き込み退避処理は発生しなくなる。すなわち、ページサイズが4KB、物理ブロックサイズが512KBの場合を想定すると、4KB書き込む場合と512KB書き込む場合で処理時間がほぼ同じになるため、処理速度でみるとページ単位で書き込んだ場合は物理ブロック単位で書き込んだ場合に比べ128倍遅くなることになる。この速度低下は、電源断対策としてファイルシステム管理情報を頻繁に更新する場合に顕著になる。
本発明では、ファイルシステム管理情報の電源断対策を実現しつつ、高速にファイルデータを記録することを可能とし、且つ、不揮発性メモリの書き換え寿命低下を防止する方法を提供する。
図11は、本発明の実施の形態1における不揮発性メモリ22上の論理アドレス空間の一例を示す説明図である。図11におけるファイルシステム管理情報301、ユーザデータ領域302は従来のファイルシステムの構成と同じである。本発明の実施の形態1における不揮発性メモリ22は、論理アドレス空間内の特定の論理アドレスにファイルログ225を格納する領域を有する。この領域の大きさは物理ブロックの大きさと同じであり、ファイルログ225の格納に占有されるため、ファイルデータ等のその他のデータは格納されない。この領域は更にファイルログ格納領域とアクセス禁止領域から構成される。ファイルログ格納領域は実際にファイルログの格納に使用される領域であり、1ページの大きさの領域である。また、アクセス禁止領域はファイルログ格納領域の直後に存在する1物理ブロック−1ページの大きさの領域である。この領域はアクセスモジュール1からの読み書きが禁止されており、読み書きを実施した場合にはエラーが情報記録モジュール2から返される。すなわち、論理アドレス空間の1物理ブロック分の大きさを持つ領域がファイルログ用に占有されており、且つその領域の先頭1ページのみが実際にファイルログを格納するために使用される領域となる。
図12は、本発明の実施の形態1における情報記録モジュール2内に存在するアドレス管理情報221の構成の一例を示した説明図である。図12におけるアドレス変換情報222、フリーブロック情報223は従来の情報記録モジュールに存在する情報と同様である。本発明の実施の形態1におけるアドレス管理情報221は更にファイルログ管理情報224を含む。ファイルログ管理情報224は、ファイルログを格納する領域として割り当てられた物理ブロックの状態等、管理に必要な情報を格納したものである。図12の例では、物理ブロック番号0x03F0のブロックがファイルログを格納する領域として割り当てられており、その物理ブロック内で既にファイルログが書き込まれているページ数は1であり、ファイルログを格納する領域の論理アドレス(論理ブロック番号)は0x07CFである場合を想定している。
続いて、図12から図15を用いて本発明の実施の形態1の情報記録モジュール2におけるデータ書き込み処理手順について説明する。図12はデータ書き込み前のアドレス管理情報221の状態の一例を示しており、図15はデータ書き込み後のアドレス管理情報221の状態の一例を示している。また、図13はデータ書き込み処理手順を示している。また図14はデータ書き込み途中における、ファイルログの格納用に割り当てられた物理ブロックの状態を示している。これらの例では、ファイルログの情報としてデータAが既に書き込まれており、データB、データC、…データZを順に上書きする場合を想定している。尚、ファイルログの書き込みは、アクセスモジュール1が論理アドレス空間上に存在するファイルログ格納領域の1ページの領域に対する書き込み処理を実施することで実現される。すなわち、アクセスモジュール1はファイルログ格納領域の1ページの領域に既に格納されているデータAをデータBで上書きし、次のファイルログ更新タイミングでは同一アドレスに対してデータCを書き込み、以降、同様に処理を繰り返す。
以下、図13を用いて本発明の実施の形態1の情報記録モジュール2におけるデータ書き込み処理手順について説明する。
(S1301)ファイルログ管理情報224を参照し、書き込み対象領域がファイルログ225の領域に該当するか確認する。該当する場合はS1303の処理に進み、該当しない場合はS1302の処理に進む。図12の例では、書き込み対象領域が論理ブロック番号0x07CF内の領域である場合にファイルログ225の領域に該当すると判定する。
(S1302)S1301の判定で該当しないと判定した場合、ファイルログ225以外の書き込みであるため、通常の書き込み処理を実施し、処理を終了する。具体的には図9のフローで説明した書き込み処理と同様の処理を実施する。
(S1303)S1301の判定で該当すると判定した場合、書き込み対象領域がファイルログ格納領域に該当するか確認する。該当する場合にはS1305の処理に進み、該当しない場合はS1304の処理に進む。図12の例では、書き込み対象領域が論理ブロック番号0x07CF内の先頭ページの領域である場合にファイルログ格納領域に該当すると判定する。
(S1304)S1303の判定で該当しないと判定した場合、アクセス禁止領域への書き込み処理であるため、アクセスモジュール1にエラーを通知して処理を終了する。
(S1305)S1303の判定で該当すると判定した場合、ファイルログの格納用に割り当てられた物理ブロック内に空きページが存在するか確認する。空きページが存在する場合はS1306の処理に進み、存在しない場合はS1307の処理に進む。空きページの存在は、ファイルログ管理情報224の記録済みページ数を参照することにより確認できる。すなわち、記録済みページ数が1物理ブロック内のページ数と同じであれば、空きページが存在しないことを意味し、記録済みページ数がそれ未満の値であれば、空きページが存在することを意味する。
(S1306)S1305の判定において空きページが存在すると判定した場合、該当空きページに新データを書き込み、処理を終了する。図14(a)の状態ではファイルログの格納用に割り当てられている物理ブロック番号0x03F0のブロックの先頭ページにデータAが格納されており、以降のページは空きページとして管理されている。そのため、ファイルログとしてデータBが書き込まれた場合、この物理ブロック内の2番目のページにデータが書き込まれ、図14(b)の状態となる。同様にデータC、…、データYまでファイルログが書き込まれた場合、図14(c)の状態となる。
(S1307)S1305の判定において空きページが存在しないと判定した場合、フリーブロック情報223を参照し、フリーブロックの物理ブロック番号を取得する。図12の例ではフリーブロック情報223を参照し、先頭に格納されている値である0x000Eを取得する。すなわち、物理ブロック番号0x000Eのブロックは現在未使用で空きブロックとして管理されており、物理ブロック内のデータは消去済みの状態となっている。
(S1308)S1307で取得したフリーブロックに新データを書き込む。図14(d)の例では、物理ブロック番号0x000Eのブロックの先頭ページにデータZを書き込む。
(S1309)ファイルログ管理情報224を更新し、データを書き込んだフリーブロックの物理ブロック番号を登録する。図12の例では、ファイルログ管理情報224の物理ブロック番号として0x03F0が管理されていたが、今回の書き込み処理により0x000Eに変化するため、ファイルログ管理情報224の該当箇所を0x000Eに書き換える。
(S1310)従来ファイルログの格納用領域として使用されていた旧物理ブロックを消去する。図14(d)の例では、物理ブロック番号0x03F0のブロックに含まれる全データを消去する。
(S1311)使用したフリーブロックをフリーブロック情報223から削除する。図15の例では、物理ブロック番号0x000Eのブロックが使用されたため、フリーブロック情報223から0x000Eの番号を削除する。
(S1312)ファイルログの格納用領域として使用されていた旧物理ブロックをフリーブロック情報223に登録し、処理を終了する。図15の例では、ファイルログの格納用領域として使用されていた物理ブロック番号0x03F0のブロックがフリーブロックとして管理されるよう、フリーブロック情報223に0x03F0の番号を登録する。
これら一連の処理により、図12の状態から図15の状態に変化する。図9の従来の書き込み処理手順と図13の本発明の実施の形態1の書き込み処理手順で最も異なる点は、S904の巻き込み退避処理が本発明の実施の形態1では発生しない点である。本発明の実施の形態1ではファイルログを格納する領域として特定論理アドレスに存在するブロックの先頭ページのみを使用する。これによりファイルログの格納用領域として割り当てられている物理ブロック内に格納される有効なデータは常に1ページ分となるため、該物理ブロックの全ページにデータが書き込まれても、有効データを別の物理ブロックにコピーする必要がなく、巻き込み退避処理が発生しない。そのため、本発明の実施の形態1におけるファイルログの機能を使用することにより、巻き込み退避処理の発生を防止し、小サイズのファイルログ情報を高速に書き込むことが可能となる。
続いて、図16を用いて本発明の実施の形態1におけるデータ読み出し処理手順を説明する。
(S1601)ファイルログ管理情報224を参照し、読み出し対象領域がファイルログ225の領域に該当するか確認する。該当する場合はS1604の処理に進み、該当しない場合はS1602の処理に進む。図12の例では、読み出し対象領域が論理ブロック番号0x07CF内の領域である場合にファイルログ225の領域に該当すると判定する。
(S1602)S1601の判定で該当しないと判定した場合、アドレス変換情報222を参照し、読み出し対象領域のデータを格納している物理ブロック番号を取得する。
(S1603)S1602で取得した物理ブロック番号のブロックからデータを読み出し、処理を終了する。
(S1604)S1601の判定で該当すると判定した場合、読み出し対象領域がファイルログ格納領域に該当するか確認する。該当する場合にはS1606の処理に進み、該当しない場合はS1605の処理に進む。図12の例では、読み出し対象領域が論理ブロック番号0x07CF内の先頭ページの領域である場合にファイルログ格納領域に該当すると判定する。
(S1605)S1604の判定で該当しないと判定した場合、アクセス禁止領域からの読み出し処理であるため、アクセスモジュール1にエラーを通知して処理を終了する。
(S1606)S1604の判定で該当すると判定した場合、ファイルログの格納用に割り当てられた物理ブロックからデータを読み出し、処理を終了する。
本発明の実施の形態1では特定の論理アドレスに該当する領域をファイルログの格納に使用する。そのため該論理アドレス領域の先頭ページに対する読み出し処理がアクセスモジュール1から要求された場合には、ファイルログの格納用領域として割り当てられている物理ブロック内で最後に書き込まれた1ページ分のデータが読み出される。これは同一物理ブロック内に1ページ単位で追記的にファイルログの情報が書き込まれるため、有効なファイルログの情報は、常に最後に書き込まれた1ページ分のデータになることに起因する。また、アクセス禁止領域への読み出しが発生した場合には、データ読み出し処理を実施せず、アクセスモジュール1にエラーを返す。
続いて本発明の実施の形態1のアクセスモジュール1内のファイルログ記録部104について説明する。アクセスモジュール1内のファイルログ記録部104は、情報記録モジュール2に対してファイルログ225を記録する処理を実施する。図7で説明したように従来のアクセスモジュールは、電源断対策のためにDATA、DIR、FAT1、FAT2の順で書き込み処理を繰り返す。これに対し、本発明の実施の形態1におけるアクセスモジュール1は、図17に示すようにDATA、FILELOG(ファイルログ225)の順で書き込み処理を繰り返す。すなわち、従来実施していたDIR、FAT1、FAT2の3回の小サイズの書き込み処理を、1回のファイルログ225の書き込み処理に変更している。これにより、小サイズの書き込み処理回数が削減されると共に、ファイルログ225の書き込み処理が高速に行えることから、ファイルデータの書き込み処理以外に発生する電源断対策用の書き込み処理が高速化されることになる。但し、ファイルログ225の情報はファイルシステム管理情報の差分情報であるため、最終的には本来のファイルシステム管理情報を更新する必要がある。そのため、ファイルデータ記録を終了する際には、DIR、FAT1、FAT2の書き込み処理を実施する必要がある。
また、ファイルログ225を格納する領域は特定の論理アドレスに割り当てられていることを先に説明した。この論理アドレスは必ずしも固定のアドレスである必要はなく、アクセスモジュール1から情報記録モジュール2にファイルログ領域設定コマンドを発行することにより変更できるようにしても良い。具体的には、SetFileLogArea(LogicalAddress)のような形式のコマンドを情報記録モジュール2に発行し、ファイルログ225を格納する領域の論理アドレスをLogicalAddressで指定するようにすると実現できる。
続いて図18を用いて、ファイルログ225に格納される情報について説明する。ファイルログ225に格納される情報は、電源断が生じた際にファイルシステム管理情報を復元することが可能な必要最低限の情報から構成される。図18はその一例を示した説明図である。
ファイルログ225は複数のファイルログエントリから構成されている。基本的には1つのファイルログエントリが、従来のDIR、FAT1、FAT2の書き込み1セット分に相当するファイルシステム管理情報の差分情報を含んでいる。
DIR_SECはディレクトリエントリが格納されている領域の論理セクタ番号を、DIR_BYTEはディレクトリエントリが格納されている領域のセクタ内バイトオフセットを、DIR_ENTは32バイトのディレクトリエントリそのものの情報を意味する。これにより、更新すべきディレクトリエントリの情報と、その更新位置が明確になるため、電源断が生じた場合、この情報を元に正しくディレクトリエントリ308を更新することが可能となる。
また、FAT_STATUSはFAT上で領域が新たに割り当てられたのか、解放されたのかのいずれかの状態を示すフラグを、FAT_STARTはFAT上の対象領域の開始クラスタ番号を、FAT_LENGTHはFAT上の対象領域の大きさをクラスタ数で表現したものを意味する。図18のファイルログエントリ1の例では、FAT_STATUSが0x00(ALLOCATE)であり、領域が新たに割り当てられたことを意味し、その割り当てられた領域はクラスタ番号0x0100から始まる長さ0x0020クラスタの領域であることを意味する。これにより、更新すべきFAT上の位置と値が明確になるため、電源断が生じた場合、この情報を元に正しくFAT(305、306)を更新することが可能となる。
また図18では2つの連続領域に関する情報をそれぞれファイルログエントリ1、ファイルログエントリ2に格納する場合の例を示している。しかしながら複数のファイルログエントリが示す連続領域が互いに隣り合う場合には1つのファイルログエントリにまとめることができる。そのため連続領域にファイルデータを追記していくような場合にはファイルログ225に格納する情報は増加せず常に一定となるため、ファイルログ格納領域が溢れることはない。逆に、不連続な領域に記録し続けるような場合にはファイルログエントリの個数が増加し、ファイルログ格納領域に収まらない場合が生じる。この場合には、一旦ディレクトリエントリ308、FAT(305、306)を情報記録モジュール2に書き込み、全ファイルログエントリの情報を削除することにより、処理を継続することが可能となる。
以上のように、本発明の実施の形態1のアクセスモジュール1と情報記録モジュール2を組み合わせて使用し、電源断対策としてファイルデータ書き込み処理の合間にファイルログを書き込むことにより無駄な巻き込み退避処理を防止し、ファイルシステム管理情報の電源断対策を実現しつつ、高速にファイルデータを記録することが可能となる。また、無駄な巻き込み退避処理を防止することで不揮発性メモリ22に対する書き込み処理回数が削減されるため、不揮発性メモリ22の書き換え寿命の低下を防止することも可能となる。更に、本発明の実施の形態1のファイルログを用いた管理方法では、アクセスモジュール1からファイルログ225を書き込む場合、不揮発性メモリ22上に書き込まれるデータは常に1ページとなる。そのため、ムービー等でリアルタイムに動画を記録するような場合、従来の書き込み処理手順ではDIR、FAT1、FAT2の更新時に一例で128倍遅くなるタイミングが来るため安定してリアルタイム記録が行えなかったのに対し、本発明ではファイルログ225の更新時間が常に一定の短時間で処理されるため、安定してリアルタイム記録を実施することが可能となる。
尚、本発明を上記の実施形態に基づいて説明してきたが、本発明は上記の実施形態に限定されないのは勿論である。本発明の趣旨を逸脱しない範囲で実施変更することができる。本発明の実施の形態で記載された数値は一例であり、他の値を使用しても良い。例えば、物理ブロックサイズやページサイズ等の値は全て一例であり、本発明の実施の形態1で記載した値に限定されるものではない。
また、図1の説明において情報記録モジュール2のコントローラ21の構成を説明したが、その他の構成としても良い。例えば、コントローラ21内のCPU212やRAM213等をコントローラ21の外部に配置しても良いし、逆にその他の構成要素をコントローラ21内に含ませても良い。
また、本発明の実施の形態ではファイルシステムとしてFAT16を例として説明したが、その他のファイルシステムを用いても良い。この場合、ファイルログ225に格納されるデータが図18で説明したものとは異なるものである必要があるが、ファイルシステム管理情報を修復するために必要となる情報が含まれるよう、ファイルログ225に格納するデータを選択すれば良い。
また、情報記録モジュール2の不揮発性メモリ22に格納されるアドレス管理情報221として、アドレス変換情報222、フリーブロック情報223、ファイルログ管理情報224から構成される例について説明したが、この構成は一例であり、同様のアドレス管理を実現できるものであれば、その他の構成としても良い。例えば、アドレス変換情報222を一元的な管理テーブルとして実現せず、ページの冗長部内に情報を分散して格納するような構成としても良い。あるいはアドレス変換情報とフリーブロック情報を1つのテーブルで一元管理するような構成としても良い。
また、情報記録モジュール2に使用される不揮発性メモリ22の枚数は1枚である必要はなく、複数枚を組み合わせて使用しても良い。特に複数の不揮発性メモリ22に対して並列にデータ書き込みできるように構成した場合、更に書き込み処理を高速化することが可能となる。
また、本発明の実施の形態におけるファイルログを有効に使用するためには、書き込みサイズをファイルログの管理単位に合わせて適切に設定する必要がある。そのため、アクセスモジュール1と情報記録モジュール2の間でページサイズや物理ブロックサイズ等の情報を送受信できるコマンドを設けると更に効果的である。
また、本発明の実施の形態では、ファイルログの格納用領域として使用される物理ブロックにページ単位で新データが追記される場合について説明した。そのため、該物理ブロック上に格納されたデータの中で最新の有効データは常に同一物理ブロック内の最後尾に格納されたデータとなり、一意に特定することが可能となる。この方法は一例であり、本発明はこの方法に限定されるものではない。例えば、ファイルログの格納用領域として使用される物理ブロック内の任意のページにデータを書き込み、冗長領域に最新のデータであることを示すフラグやシーケンス番号などを格納することにより、最新の有効データが格納されたページを特定しても良い。
また、本発明の実施の形態で説明したSetFileLogAreaコマンドの形式は一例であり、コマンドの引数として設定する情報は、同様の情報を設定できるものであればその他の情報形式を用いても良い。
また、本発明の実施の形態ではファイルログ格納領域として、1ブロック内の先頭1ページの領域を使用する場合について説明した。ここでブロックサイズやページサイズは必ずしも不揮発性メモリ22の物理ブロックサイズ、ページサイズと一致している必要はなく、コントローラ21が不揮発性メモリ22を管理する際の管理単位を用いても良い。例えば不揮発性メモリ22を2枚使用して並列にデータを書き込む構成をとった場合、物理ブロックサイズ、ページサイズの各々2倍の値を使用してファイルログ格納領域を決定しても良い。例えば物理ブロックサイズが512KB、ページサイズが4KBの場合、物理ブロック2つ分の1MBの領域の先頭に存在する、ページ2つ分の8KBの領域をファイルログ格納領域として使用しても良い。
(実施の形態2)
続いて本発明の別の実施の形態について説明する。本発明の実施の形態2におけるアクセスモジュール、情報記録モジュールの構成を図19に示す。図19が図1で説明した構成と異なる点は、ファイルログ226が論理アドレス空間の外側に配置されている点である。すなわち、図20のように不揮発性メモリ22内の論理アドレス空間にはファイルシステム管理情報領域301、ユーザデータ領域302のみが存在し、ファイルログ226はアドレス管理情報221と共に、論理アドレス空間の外側に配置される。そのため、アクセスモジュール1からは論理アドレス空間内の領域を読み書きするコマンドではファイルログ226にアクセスすることができず、ファイルログ226にアクセスする専用のコマンドが必要となる。
例えばこの専用のコマンドはReadFileLog(Data)、WriteFileLog(Data)のような形式で実現することができる。本発明の実施の形態1で説明したように、ファイルログ226にアクセスできるのは常に1ページ分の領域であるため、これらの読み書きコマンドにはデータサイズを指定する必要がない。またアドレスについても論理アドレス空間外の特別な領域で管理されるため、指定する必要がない。そのため、この専用コマンドにはアドレス、サイズの指定が不要であり、シンプルな形式のコマンドで実現することが可能である。
続いて図21を用いて、本発明の実施の形態2におけるアドレス管理情報221の構成について説明する。図21の構成が図12の構成と異なる点は、ファイルログ管理情報224に論理ブロック番号の情報を含まない点である。本発明の実施の形態2では、ファイルログ226を格納する領域は論理アドレス空間の外側に存在するため、対応する論理アドレスを持っていない。そのため、ファイルログ管理情報224では論理アドレスを管理する必要がなく、論理ブロック番号に関する情報が存在しない。
続いて図22を用いて、本発明の実施の形態2におけるデータ書き込み処理手順について説明する。図22の処理手順が図13の処理手順と異なる点は、S1303、S1304の処理を含まない点である。本発明の実施の形態2では、ファイルログ226を格納する領域は論理アドレス空間の外側に存在するため、本発明の実施の形態1で説明したアクセス禁止領域をアクセスモジュール1に見せる必然性がない。そのため、本発明の実施の形態2では、ファイルログ226を格納する領域は1ページ分の領域しか存在しておらず、アクセス禁止領域も存在しない。そのため、アクセス禁止領域に対応する処理である、図13におけるS1303、S1304に該当する処理も存在しない。同様に本発明の実施の形態2におけるデータ読み出し手順も図23に示すように、アクセス禁止領域に関する処理が存在しないフローとなっている。
以上のように本発明の実施の形態2の情報記録モジュールは、ファイルログ226を格納する領域を論理アドレス空間の外側に配置し、専用のコマンドを用いてアクセスする。これによりアクセスモジュール1はアクセス禁止領域の存在を認識することなく、全論理アドレス空間を従来のアクセスモジュール同様にアクセスすることが可能となる。
尚、本発明を上記の実施形態に基づいて説明してきたが、本発明は上記の実施形態に限定されないのは勿論である。本発明の趣旨を逸脱しない範囲で実施変更することができる。例えば、本発明の実施の形態1に記載された種々の変形例を本発明の実施の形態2に適用しても良い。
本発明に関わるアクセスモジュール1は、電源断が発生した場合にファイルシステム管理情報を修復するための情報であるファイルログを情報記録モジュール2に記録するファイルログ記録部104を含む。また、本発明の情報記録モジュール2は、不揮発性メモリ22内にファイルログ管理情報224を格納し、その情報を元に特定の物理ブロックをファイルログ格納用領域として制御するファイルログ制御部217を含む。これらアクセスモジュール1と情報記録モジュール2を組み合わせ、電源断対策としてファイルデータ書き込み処理の合間にファイルログを書き込むことにより、無駄な巻き込み退避処理を防止し、ファイルシステム管理情報の電源断対策を実現しつつ、高速にファイルデータを記録することが可能となる。また、無駄な巻き込み退避処理を防止することで不揮発性メモリ22に対する書き込み処理回数が削減されるため、不揮発性メモリ22の書き換え寿命の低下を防止することも可能となる。更に、ファイルログの更新時間が常に一定時間で処理されることから、リアルタイム記録を安定して実施することが可能となる。このようなアクセスモジュール1は、音楽や静止画、動画などのデジタルコンテンツを取り扱う機器、とりわけコンテンツデータをリアルタイムに情報記録モジュールに記録する必要がある機器に最適であり、PCアプリケーション、オーディオレコーダ、DVDレコーダ、HDDレコーダ、ムービー、デジタルスチルカメラ、携帯電話端末等として利用することができる。また、本発明の情報記録モジュール2は、上記デジタルコンテンツなどを格納するメモリカードなどのリムーバブルメディア、あるいは内蔵記録装置などとして利用することができる。
本発明の実施の形態1におけるアクセスモジュール、及び情報記録モジュールの構成を示した説明図 FATファイルシステムの構成を示した説明図 ディレクトリエントリの構成を示した説明図 FATファイルシステムにおけるファイルデータ書き込み処理手順を示したフローチャート FATファイルシステムにおけるファイルデータ書き込み前の状態の一例を示した説明図 FATファイルシステムにおけるファイルデータ書き込み後の状態の一例を示した説明図 FATファイルシステムにおけるファイル更新時のアクセスシーケンスの一例を示した説明図 本発明の実施の形態1における不揮発性メモリの構成の一例を示した説明図 従来の情報記録モジュールにおけるデータ書き込み処理手順を示したフローチャート 従来の情報記録モジュールにおけるアドレス管理情報と物理ブロックの一例を示した説明図 本発明の実施の形態1における不揮発性メモリ上の論理アドレス空間の一例を示した説明図 本発明の実施の形態1におけるデータ書き込み前のアドレス管理情報の一例を示した説明図 本発明の実施の形態1におけるデータ書き込み処理手順を示したフローチャート 本発明の実施の形態1におけるデータ書き込み途中の物理ブロックの状態の一例を示した説明図 本発明の実施の形態1におけるデータ書き込み後のアドレス管理情報の一例を示した説明図 本発明の実施の形態1におけるデータ読み出し処理手順を示したフローチャート 本発明の実施の形態1におけるファイル更新時のアクセスシーケンスの一例を示した説明図 本発明の実施の形態1におけるファイルログの一例を示した説明図 本発明の実施の形態2におけるアクセスモジュール、及び情報記録モジュールの構成を示した説明図 本発明の実施の形態2における不揮発性メモリの一例を示した説明図 本発明の実施の形態2におけるアドレス管理情報の一例を示した説明図 本発明の実施の形態2におけるデータ書き込み処理手順を示したフローチャート 本発明の実施の形態2におけるデータ読み出し処理手順を示したフローチャート
符号の説明
1 アクセスモジュール
2 情報記録モジュール
11,212 CPU
12,213 RAM
13 情報記録モジュールインタフェース
14,214 ROM
21 コントローラ
22 不揮発性メモリ
101 アプリケーション制御部
102 ファイルシステム制御部
103 情報記録モジュールアクセス部
104 ファイルログ記録部
211 アクセスモジュールインタフェース
215 不揮発性メモリインタフェース
216 アドレス変換制御部
217 ファイルログ制御部
221 アドレス管理情報
222 アドレス変換情報
223 フリーブロック情報
224 ファイルログ管理情報
225,226 ファイルログ
301 ファイルシステム管理情報領域
302 ユーザデータ領域
303 マスターブートレコード・パーティションテーブル
304 パーティションブートセクタ
305,306 FAT
307 ルートディレクトリエントリ
308 ディレクトリエントリ

Claims (29)

  1. データを格納する不揮発性メモリを具備する情報記録モジュールにアクセスするアクセスモジュールであって、
    前記情報記録モジュール内に格納したデータをファイルシステムにより管理するファイルシステム制御部と、
    前記ファイルシステムにより管理されるファイルデータの一部を前記情報記録モジュールへ記録する際に、当該ファイルに関するファイルシステム管理情報の差分情報であるファイルログを生成し、前記情報記録モジュールに記録するファイルログ記録部と、を具備することを特徴とするアクセスモジュール。
  2. 前記ファイルログは、
    前記情報記録モジュール内の特定の論理アドレス領域に格納され、
    前記特定の論理アドレス領域の位置は、全論理アドレス空間を第1の領域管理単位毎に区切った際の特定の1つの領域管理単位の先頭位置であり、
    前記特定の論理アドレス領域の大きさは、第2の領域管理単位の大きさであることを特徴とする請求項1記載のアクセスモジュール。
  3. 前記第1の領域管理単位は、
    前記不揮発性メモリの物理ブロックサイズの整数倍であることを特徴とする請求項2記載のアクセスモジュール。
  4. 前記第2の領域管理単位は、
    前記不揮発性メモリのページサイズの整数倍であることを特徴とする請求項2記載のアクセスモジュール。
  5. 前記ファイルログを記録する前記特定の論理アドレス領域に引き続く領域であり、前記特定の論理アドレスと同一の前記第1の領域管理単位内の領域は、アクセスが禁止される領域であることを特徴とする請求項2記載のアクセスモジュール。
  6. 前記ファイルログは、
    前記不揮発性メモリ内に格納され、
    前記格納領域は論理アドレスが割り当てられないことを特徴とする請求項1記載のアクセスモジュール。
  7. データを格納する不揮発性メモリと、
    前記不揮発性メモリ上に構築されたファイルシステムにおけるファイルシステム管理情報の差分情報であるファイルログを、外部のアクセスモジュールから受信し、前記不揮発性メモリ内の所定の領域に記録するファイルログ制御部と、を具備することを特徴とする情報記録モジュール。
  8. 前記所定の領域は、
    前記不揮発性メモリ上の特定の論理アドレス領域であり、
    前記特定の論理アドレス領域の位置は、全論理アドレス空間を第1の領域管理単位毎に区切った際の特定の1つの領域管理単位の先頭位置であり、
    前記特定の論理アドレス領域の大きさは、第2の領域管理単位の大きさであることを特徴とする請求項7記載の情報記録モジュール。
  9. 前記第1の領域管理単位は、
    前記不揮発性メモリの物理ブロックサイズの整数倍であることを特徴とする請求項8記載の情報記録モジュール。
  10. 前記第2の領域管理単位は、
    前記不揮発性メモリのページサイズの整数倍であることを特徴とする請求項8記載の情報記録モジュール。
  11. 前記ファイルログを記録する前記特定の論理アドレス領域に引き続く領域であり、前記特定の論理アドレスと同一の前記第1の領域管理単位内の領域に対するアクセスを禁止することを特徴とする請求項8記載の情報記録モジュール。
  12. 前記ファイルログは、
    前記不揮発性メモリ内に格納され、
    前記格納領域は論理アドレスが割り当てられないことを特徴とする請求項7記載の情報記録モジュール。
  13. 前記不揮発性メモリは、
    前記ファイルログを格納する領域を管理するために使用する情報であるファイルログ管理情報を格納することを特徴とする請求項7記載の情報記録モジュール。
  14. 前記所定の領域は、
    前記不揮発性メモリ内の論理アドレス空間上に存在する領域であり、
    前記ファイルログ管理情報は、
    前記ファイルログの格納用領域として使用される領域の物理アドレスと、
    前記領域内の使用済み領域に関する情報と、
    前記領域に対応づけられた論理アドレスと、を含むことを特徴とする請求項13記載の情報記録モジュール。
  15. 前記所定の領域は、
    前記不揮発性メモリ内の論理アドレス空間の外部に存在する領域であり、
    前記ファイルログ管理情報は、
    前記ファイルログの格納用領域として使用される領域の物理アドレスと、
    前記領域内の使用済み領域に関する情報と、を含むことを特徴とする請求項13記載の情報記録モジュール。
  16. データを格納する不揮発性メモリを具備する情報記録モジュールを制御するコントローラであって、
    前記不揮発性メモリ上に構築されたファイルシステムにおけるファイルシステム管理情報の差分情報であるファイルログを、外部のアクセスモジュールから受信し、前記不揮発性メモリ内の所定の領域に記録するファイルログ制御部を具備することを特徴とするコントローラ。
  17. 前記所定の領域は、
    前記不揮発性メモリ上の特定の論理アドレス領域であり、
    前記特定の論理アドレス領域の位置は、全論理アドレス空間を第1の領域管理単位毎に区切った際の特定の1つの領域管理単位の先頭位置であり、
    前記特定の論理アドレス領域の大きさは、第2の領域管理単位の大きさであることを特徴とする請求項16記載のコントローラ。
  18. 前記第1の領域管理単位は、
    前記不揮発性メモリの物理ブロックサイズの整数倍であることを特徴とする請求項17記載のコントローラ。
  19. 前記第2の領域管理単位は、
    前記不揮発性メモリのページサイズの整数倍であることを特徴とする請求項17記載のコントローラ。
  20. 前記ファイルログを記録する前記特定の論理アドレス領域に引き続く領域であり、前記特定の論理アドレスと同一の前記第1の領域管理単位内の領域に対するアクセスを禁止することを特徴とする請求項17記載のコントローラ。
  21. 前記ファイルログは、
    前記不揮発性メモリ内に格納され、
    前記格納領域は論理アドレスが割り当てられないことを特徴とする請求項16記載のコントローラ。
  22. 前記不揮発性メモリは、
    前記ファイルログを格納する領域を管理するために使用する情報であるファイルログ管理情報を格納することを特徴とする請求項16記載のコントローラ。
  23. 前記所定の領域は、
    前記不揮発性メモリ内の論理アドレス空間上に存在する領域であり、
    前記ファイルログ管理情報は、
    前記ファイルログの格納用領域として使用される領域の物理アドレスと、
    前記領域内の使用済み領域に関する情報と、
    前記領域に対応づけられた論理アドレスと、を含むことを特徴とする請求項22記載のコントローラ。
  24. 前記所定の領域は、
    前記不揮発性メモリ内の論理アドレス空間の外部に存在する領域であり、
    前記ファイルログ管理情報は、
    前記ファイルログの格納用領域として使用される領域の物理アドレスと、
    前記領域内の使用済み領域に関する情報と、を含むことを特徴とする請求項22記載のコントローラ。
  25. 情報記録モジュールと、前記情報記録モジュールにアクセスするアクセスモジュールからなる情報記録システムであって、
    前記情報記録モジュールは、
    データを格納する不揮発性メモリと、
    前記不揮発性メモリ上に構築されたファイルシステムにおけるファイルシステム管理情報の差分情報であるファイルログを、外部のアクセスモジュールから受信し、前記不揮発性メモリ内の所定の領域に記録するファイルログ制御部と、を具備し、
    前記アクセスモジュールは、
    前記情報記録モジュール内に格納したデータをファイルシステムにより管理するファイルシステム制御部と、
    前記ファイルシステムにより管理されるファイルデータの一部を前記情報記録モジュールへ記録する際に、当該ファイルに関するファイルシステム管理情報の差分情報であるファイルログを生成し、前記情報記録モジュールに記録するファイルログ記録部と、を具備することを特徴とする情報記録システム。
  26. 前記ファイルログは、
    前記情報記録モジュール内の特定の論理アドレス領域に格納され、
    前記特定の論理アドレス領域の位置は、全論理アドレス空間を第1の領域管理単位毎に区切った際の特定の1つの領域管理単位の先頭位置であり、
    前記特定の論理アドレス領域の大きさは、第2の領域管理単位の大きさであることを特徴とする請求項25記載の情報記録システム。
  27. 前記第1の領域管理単位は、
    前記不揮発性メモリの物理ブロックサイズの整数倍であることを特徴とする請求項26記載の情報記録システム。
  28. 前記第2の領域管理単位は、
    前記不揮発性メモリのページサイズの整数倍であることを特徴とする請求項26記載の情報記録システム。
  29. 前記ファイルログを記録する前記特定の論理アドレス領域に引き続く領域であり、前記特定の論理アドレスと同一の前記第1の領域管理単位内の領域は、アクセスが禁止される領域であることを特徴とする請求項26記載の情報記録システム。
JP2008049357A 2008-02-29 2008-02-29 アクセスモジュール、情報記録モジュール、コントローラ、及び情報記録システム Pending JP2009205590A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008049357A JP2009205590A (ja) 2008-02-29 2008-02-29 アクセスモジュール、情報記録モジュール、コントローラ、及び情報記録システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008049357A JP2009205590A (ja) 2008-02-29 2008-02-29 アクセスモジュール、情報記録モジュール、コントローラ、及び情報記録システム

Publications (1)

Publication Number Publication Date
JP2009205590A true JP2009205590A (ja) 2009-09-10

Family

ID=41147747

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008049357A Pending JP2009205590A (ja) 2008-02-29 2008-02-29 アクセスモジュール、情報記録モジュール、コントローラ、及び情報記録システム

Country Status (1)

Country Link
JP (1) JP2009205590A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011058700A1 (ja) * 2009-11-11 2011-05-19 パナソニック株式会社 アクセス装置、情報記録装置、コントローラ、リアルタイム情報記録システム、アクセス方法、および、プログラム
JP2013033338A (ja) * 2011-08-01 2013-02-14 Toshiba Corp メモリシステム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011058700A1 (ja) * 2009-11-11 2011-05-19 パナソニック株式会社 アクセス装置、情報記録装置、コントローラ、リアルタイム情報記録システム、アクセス方法、および、プログラム
JP5481493B2 (ja) * 2009-11-11 2014-04-23 パナソニック株式会社 アクセス装置、情報記録装置、コントローラ、リアルタイム情報記録システム、アクセス方法、および、プログラム
US8977802B2 (en) 2009-11-11 2015-03-10 Panasonic Intellectual Property Management Co., Ltd. Access device, information recording device, controller, real time information recording system, access method, and program
JP2013033338A (ja) * 2011-08-01 2013-02-14 Toshiba Corp メモリシステム

Similar Documents

Publication Publication Date Title
JP5577238B2 (ja) アクセス装置、情報記録装置、コントローラ、及び情報記録システム
JP5485163B2 (ja) アクセスモジュール、情報記録モジュール、コントローラ、及び情報記録システム
JP5129156B2 (ja) アクセス装置、および、ライトワンス記録システム
US8977802B2 (en) Access device, information recording device, controller, real time information recording system, access method, and program
JP4722704B2 (ja) 情報記録媒体、情報記録媒体に対するアクセス装置及びアクセス方法
JP4807683B2 (ja) データ記憶装置
US20080288710A1 (en) Semiconductor Memory Device and Its Control Method
KR20060134170A (ko) 비휘발성 기억 시스템
CN102939593B (zh) 无限存储器
US8549213B2 (en) Nonvolatile storage device, access device and nonvolatile storage system
JP2007233638A (ja) 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
JP4608434B2 (ja) 情報記録媒体のデータ処理装置及びデータ記録方法
JP4130808B2 (ja) フォーマット方法
WO2010001606A1 (ja) コントローラ、情報記録装置、アクセス装置、情報記録システム、及び情報記録方法
JP2009205590A (ja) アクセスモジュール、情報記録モジュール、コントローラ、及び情報記録システム
JP2009205591A (ja) アクセスモジュール、情報記録モジュール、及び情報記録システム
WO2018186455A1 (ja) 不揮発性メモリにおける空き容量管理方法、及び不揮発性メモリを含む情報記録装置にデータを記録するアクセス装置、情報記録装置および情報記録システム
JP2008152414A (ja) ライトワンス型情報記録装置、コントローラ、アクセス装置、及びライトワンス型情報記録システム
JP2008152415A (ja) アクセス装置、メモリコントローラ、不揮発性記憶装置、及び不揮発性記憶システム
JP4881469B1 (ja) 情報処理装置、及び情報処理方法
JP2004038595A (ja) 情報処理装置およびプログラム
JP2011181036A (ja) 記録装置及び記録方法