JP5481493B2 - アクセス装置、情報記録装置、コントローラ、リアルタイム情報記録システム、アクセス方法、および、プログラム - Google Patents

アクセス装置、情報記録装置、コントローラ、リアルタイム情報記録システム、アクセス方法、および、プログラム Download PDF

Info

Publication number
JP5481493B2
JP5481493B2 JP2011540396A JP2011540396A JP5481493B2 JP 5481493 B2 JP5481493 B2 JP 5481493B2 JP 2011540396 A JP2011540396 A JP 2011540396A JP 2011540396 A JP2011540396 A JP 2011540396A JP 5481493 B2 JP5481493 B2 JP 5481493B2
Authority
JP
Japan
Prior art keywords
data
file
block
address
information recording
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.)
Active
Application number
JP2011540396A
Other languages
English (en)
Other versions
JPWO2011058700A1 (ja
Inventor
卓治 前田
昌之 外山
広和 宗
由則 中嶋
克己 渡辺
昌史 野阪
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
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
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, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2011540396A priority Critical patent/JP5481493B2/ja
Publication of JPWO2011058700A1 publication Critical patent/JPWO2011058700A1/ja
Application granted granted Critical
Publication of JP5481493B2 publication Critical patent/JP5481493B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof
    • H04N21/42661Internal components of the client ; Characteristics thereof for reading from or writing on a magnetic storage medium, e.g. hard disk drive
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4334Recording operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、データを不揮発性メモリに格納し、ファイルとして管理するアクセスモジュール、情報記録モジュール、コントローラ、リアルタイム情報記録システム、アクセス方法、および、プログラムに関する。
音楽コンテンツや、映像データ等のデジタルデータを記録する記録媒体には、磁気ディスク、光ディスク、光磁気ディスク等、様々な種類が存在する。これら記録媒体の内、記録素子にFlashROM等の半導体メモリを使用したメモリカードは、記録媒体の小型化が図れることから、デジタルスチルカメラや携帯電話端末等、小型の携帯機器を中心に急速に普及している。更に最近では、FlashROM等の半導体メモリを機器に内蔵してハードディスクの代わりに使用するなど、従来のメモリカードのような着脱可能なリムーバブルメディアとしての用途のみならず、機器内蔵ストレージとしての用途でも半導体メモリが使用されるようになってきた。
このようなメモリカードや機器内蔵ストレージには、主にNAND型フラッシュメモリと呼ばれる半導体素子が使用されている。NAND型フラッシュメモリは、既に記録されたデータを一旦消去した後、再度別のデータを記録することが可能な記録素子であり、従来のハードディスクと同様に、NAND型フラッシュメモリを用いることで、複数回書き換え可能な情報記録装置を構成することが可能である。
従来、メモリカードや機器内蔵ストレージに格納されたデータはファイルシステムにより管理されている。データをファイルシステムにより管理することで、同一のファイルシステムを解釈する機器間でデータをファイルとして共有することが可能となり、ユーザは、自分の格納したデータを複数の機器間で容易に参照したり、コピーしたりすることが可能となる。
従来、最も広く使用されているファイルシステムは、FATファイルシステムと呼ばれるものである。FATファイルシステムは、領域管理をファイルアロケーションテーブル(FAT)と呼ばれるテーブルで一元管理するという特徴を持っており、比較的構造がシンプルで実装が容易なことから、フロッピーディスクやPCのハードディスク、メモリカードなどのファイルシステムとして広く使用されている。
図2に、FATファイルシステムの構成を示す。
FATファイルシステムでは、ファイルアロケーションテーブル内の管理単位のビット幅の違いにより、FAT12、FAT16、FAT32などの種類が存在するが、ファイルアロケーションテーブルによる領域管理方法は、ほぼ同じである。以下では、FAT16を例に説明する。
図2に示すように、論理アドレス空間の先頭には、領域割り当て単位やファイルシステムが管理する領域の大きさ等、ファイルシステムの管理情報が格納される領域であるファイルシステム管理情報領域301が存在する。このファイルシステム管理情報領域301には、マスターブートレコード・パーティションテーブル(MBR)303、パーティションブートセクタ(PBS)304、FAT(305、306)、ルートディレクトリエントリ(RDE)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に格納される。このようにディレクトリエントリ308では、ファイルの先頭データを格納したクラスタの位置に関する情報しか保持しないため、ファイルデータが複数クラスタに跨って格納される場合、その位置情報は、FAT(305、306)に保持される。すなわち、ファイルを更新する場合にはファイルデータを書き込むと共に、ディレクトリエントリ308、FAT(305、306)の情報も書き込む必要がある。
≪FATファイルシステムにおけるファイルデータの書き込み処理≫
続いて、図4を用いて、FATファイルシステムにおけるファイルデータ書き込み処理手順について説明する。
(S401):
S401では、対象ファイルのディレクトリエントリ308を読み出す。
(S402):
S402では、読み出したディレクトリエントリ308に格納された開始クラスタ番号を取得し、ファイルデータの先頭位置を確認する。
(S403):
S403では、FAT(305、306)をアクセスモジュールのRAM上に読み出し、S402で取得したファイルデータの先頭位置から順にRAM上のFAT(305、306)内でリンクを辿り、書き込み位置のクラスタ番号を取得する。
(S404):
S404では、ファイルデータ書き込みに際し、ファイルに新たに空き領域を割り当てる必要があるか判定する。判定の結果、空き領域の割り当てが必要な場合、S405の処理に進む。一方、空き領域の割り当てが不要な場合、S408の処理に進む。
(S405):
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エントリから検索処理を開始してFAT(305、306)の終端まで到達したらFAT(305、306)の先頭に折り返し、前回空き領域を割り当てたFATエントリまで検索処理を実施することで、FATエントリの検索処理が実行されるものであっても良い。このように、FATエントリの検索処理手順は、FAT(305、306)領域の全面に対して、空き領域を検索する処理を実現できるものであれば良く、特に限定はされない。
(S406):
S406では、S405で取得した空きクラスタの番号に対応するFATエントリの値を、リンク終端を意味する値に設定する。FAT(305、306)では、値が0xFFFFに設定されているFATエントリがリンク終端を意味するため、S406では、該当FATエントリの値をRAM上で0xFFFFに設定する処理を実施する。
(S407):
S407では、現在のリンク終端のクラスタ番号に対応するFATエントリの値を、0xFFFFからS405で取得した空きクラスタの番号にRAM上で設定する。空き領域を取得する必要がある場合(S404での判定結果が「YES」の場合)、ファイル終端への追記がなされることになる。つまり、この場合、S403でのリンクを辿る処理において、ファイル終端までリンクが辿られており、現在のリンク終端のクラスタ番号に対応するFATエントリの値には、リンク終端を意味する0xFFFFが設定されている。そのため、S407の処理により、S405で新たに取得した空きクラスタへリンクを接続することにより、ファイルのリンクが1クラスタ分長くなり、ファイルデータを追記することが可能となる。
(S408):
S408では、現在参照している書き込み位置のクラスタ内にファイルデータを書き込む。S404で空き領域取得が必要と判断された場合、現在参照している書き込み位置は、S405で取得した空きクラスタとなる。一方、S404で空き領域取得が不要と判断された場合、現在参照している書き込み位置は、S403でリンクを辿った結果到達したクラスタとなる。
(S409):
S409では、全ファイルデータの書き込みが完了したか判定する。まだファイルデータが残っている場合、S404の処理に戻る。全ファイルデータの書き込みが完了した場合、S410の処理に進む。
(S410):
ディレクトリエントリ308内に格納されたファイルサイズや最終更新日時等の情報を更新し、情報記録モジュールの不揮発性メモリ内に格納されたディレクトリエントリ308を上書きする。
(S411):
S411では、情報記録モジュールの不揮発性メモリ内に格納されたFAT(305、306)に、アクセスモジュールのRAM上のFAT(305、306)のデータを上書きし、処理を完了する。
上記で説明したファイルデータ書き込み処理により、図5に示した60000バイトのデータを持つFILE1.TXTに10000バイトのデータを追記した場合、当該ファイル(FILE1.TXT)は、図6に示すような70000バイトのデータを持つファイルに変化する。すなわち、空きクラスタとしてクラスタ番号6のクラスタが取得され、その取得されたクラスタにファイルデータが追記され、FAT(305、306)上のリンクにクラスタ番号6が接続される。その結果、ファイルFILE1.TXTのリンクは、クラスタ番号2〜5の4クラスタからなる状態から、クラスタ番号2〜6の5クラスタからなる状態に更新される。このように、FATファイルシステムでは、ファイルの管理情報がFAT(305、306)とディレクトリエントリ308との両方に格納されていることから、ファイルを更新する場合には、これらの情報(FAT(305、306)の情報およびディレクトリエントリ308の情報)も共に更新する必要がある。
ところで、NAND型フラッシュメモリは、データを記録する前に一旦データを消去しなければならないという特徴を持つ。NAND型フラッシュメモリに対して、データ消去単位であるブロックの大きさ以下のデータの書き込みを実施する場合、該当するブロックに直接上書きをすることができないので、別の未使用ブロックを取得し、その取得したブロック内のデータを一旦消去し、そのデータを消去したブロックに対して新しいデータを書込む必要がある。この際、古いブロックに含まれている有効なデータを新しいブロックにコピーする必要があり、データを記録速度が低下する。このデータを記録する際のコピー量は、データ書き込みサイズが小さい程多くなり、データ書き込みサイズがブロックサイズに近くなる程少なくなる。このため、一般に、NAND型フラッシュメモリに対して、ブロックサイズ単位でのデータ書き込みを実施した場合、データの記録速度が最速になることが知られている。
従来、NAND型フラッシュメモリに対する記録速度を高速化し、かつ、上記コピー処理によるデータ記録速度の低下を防ぎ、動画コンテンツなどのリアルタイム記録(一定の書き込み速度を保証したデータ書き込み処理)を実現する方法が提案されている(例えば、特許文献1参照)。この方法(特許文献1に開示されている方法)では、フラッシュメモリ内の領域をブロック単位で区切った場合に、1ブロック内に含まれる空き領域(空きクラスタ)の数が多いブロックのみを取得して、その取得したブロックに対して、動画コンテンツなどのデータを記録するようにしている。このようにすることで、1ブロック内のデータコピー量を削減し、記録速度の低下を防いでいる。
また、アクセスモジュールが情報記録モジュールに格納されたファイルを更新する場合、図4を用いて説明したように、FATファイルシステムでは、データ本体の記録の他、FAT(305、306)やディレクトリエントリ308などのファイルシステム管理情報の更新を行う必要がある。従来、NAND型フラッシュメモリに対する、これらファイルシステム管理情報の更新を高速化する方法が提案されている(例えば、特許文献2参照)。この方法(特許文献2に開示されている方法)では、ユーザデータやファイルシステム管理情報を記録する際に、アクセス装置が記録媒体に対してデータ種別を通知することにより、記録媒体側で各データの特性に応じた格納方法を実施し、ユーザデータのような大容量データとファイルシステム管理情報のような小容量データとの記録が混在しても高速に記録することを可能にする。
国際公開第WO2005/055064号パンフレット 国際公開第WO2005/043394号パンフレット
従来の方法により、動画ファイルなどのユーザデータ、及びFAT(305、306)やディレクトリエントリ308などのファイルシステム管理情報の高速記録を実現することが可能である。しかしながら、ムービーなどの動画撮影機器において動画を撮影する場合、動画ファイルのみを記録するのではなく、プレイリストの情報を格納したファイル、動画ファイル内の任意のデータ位置における再生時間情報を格納したファイルなど、複数の管理ファイルを同時に記録する場合がある。即ち、ムービーなどの機器において、リアルタイムに動画記録を行うためには、これら管理ファイルの記録も考慮する必要がある。一般に、動画ファイルは、数MB〜数GBと大きなサイズのファイルであるのに対し、管理ファイルは、数バイト〜数十KB程度の小さなサイズのファイルとなる。NAND型フラッシュメモリは、前述の特性を有するため、ブロックサイズ以下のデータ量となる管理ファイルの記録処理では、記録速度が低下することになる。更に、管理ファイルは、動画記録中に追記されるファイルの他、上書きされるファイルも存在する。特に、ファイルの上書き処理が実行される場合、NAND型フラッシュメモリ上の同一論理アドレスへの書き込みが繰り返し実施されるため、その度にNAND型フラッシュメモリ上のコピー処理が実施され、記録速度が低下する。
本発明では、上記問題点に鑑み、動画ファイル、管理ファイルなど、サイズの異なる複数のファイルを並行してNAND型フラッシュメモリに記録する場合においても記録速度の低下を防ぎ、リアルタイム記録(一定の書き込み速度を保証したデータ書き込み処理)を実現するアクセスモジュール、情報記録モジュール、コントローラ、リアルタイム情報記録システム、アクセス方法、および、プログラムを提供することを目的とする。
第1の発明は、データを格納する不揮発性メモリを備える情報記録装置にアクセスするアクセス装置であって、格納アドレス決定処理部と、リンク移動処理部と、情報記憶モジュールアクセス部と、を備える。
格納アドレス決定処理部は、情報記録装置内のデータ格納領域を、所定ブロックサイズのブロック単位で区切って管理するとともに、第1のファイルのデータを格納する第1の格納ブロックと、該第1のファイルを管理する第2のファイルのデータを格納する第2の格納ブロックと、を設定する。また、格納アドレス決定処理部は、第1の格納ブロックには、該第1の格納ブロックの先頭アドレスから昇順に前記第1のファイルデータを順に記録するためのアドレスを決定する。また、格納アドレス決定処理部は、第1の格納ブロックに記録された第1のファイルデータに対応する第2のファイルデータを更新又は追加する際は、該第2のファイルデータの更新又は追加部分に相当するクラスタデータを第2の格納ブロック内の最も低アドレスを持つ未使用クラスタ領域に記録するためのアドレスを決定する。
リンク移動処理部は、第2の格納ブロック内のデータ更新又は追加に基づいて、前記第2のファイルデータのクラスタ間結合の情報を更新する。
情報記憶モジュールアクセス部は、格納アドレス処理部、及び、リンク移動処理部にしたがって、情報記録装置に第1のファイルデータ、及び第2のファイルデータの記録を指示する。
このアクセス装置では、第1のファイル、第2のファイルの各々に異なるブロック(第1格納ブロックおよび第2格納ブロック)を割り当て、追記(データ追記処理)、上書き(データ上書き処理)のいずれの処理が実行される場合であっても、(1)第1のファイルが書き込み対象である場合は、常に、ブロック先頭から順にシーケンシャルに第1のファイルのデータを書き込み、(2)第2のファイルが書き込み対象である場合は、第2の格納ブロック内の最も低アドレス(第2の格納ブロック内の先頭アドレスに最も近いアドレス)を持つ未使用クラスタ領域から順に第2のファイルのデータを書き込む。これにより、このアクセス装置を用いることで、情報記録装置へのシーケンシャル記録が常に保証される。その結果、このアクセス装置および情報記録装置を用いたリアルタイム情報記録システムでは、データ記録を高速化することが可能となる。
なお、「アクセス装置」は、アクセスモジュールを含む概念である。
第2の発明は、第1の発明であって、格納アドレス決定処理部は、情報記録装置に対するデータの書き込み処理が、第1のファイルへのデータ追記処理およびデータ上書き処理のいずれの処理であっても、第1格納ブロック内の先頭から順に所定書き込みサイズの倍数長単位で書き込んだ場合における最終書き込み位置の次のアドレスを第1のファイルのデータ書き込み開始位置とする。また、格納アドレス決定処理部は、情報記録装置に対するデータの書き込み処理が、第2のファイルへのデータ追記処理およびデータ上書き処理のいずれの処理であっても、第2格納ブロック内の先頭から順に所定書き込みサイズの倍数長単位で書き込んだ場合における最終書き込み位置の次のアドレスを第2のファイルのデータ書き込み開始位置とする。
このアクセス装置では、格納アドレス決定処理部により、第1のファイルへのデータ追記処理/データ上書き処理、第2のファイルへのデータ追記処理/データ上書き処理のいずれにおいても、格納ブロック内の先頭から順に所定書き込みサイズの倍数長単位で書き込んだ場合における最終書き込み位置の次のアドレスを、書き込み開始位置に設定される。このため、このアクセス装置では、常に、所定書き込みサイズの倍数長単位のデータ書き込みが保証される。例えば、所定書き込みサイズがクラスタサイズと一致する場合、このアクセス装置では、第1のファイルへのデータ追記処理/データ上書き処理、第2のファイルへのデータ追記処理/データ上書き処理のいずれにおいても、クラスタ(空きクラスタ)の先頭アドレスからデータ書き込み処理が実行されることになる。したがって、いわゆる巻き込み退避処理(集約処理)の発生を抑えることができ、その結果、このアクセス装置および情報記録装置を用いたリアルタイム情報記録システムでは、データ記録を高速化することが可能となる。
第3の発明は、第1または第2の発明であって、情報記憶モジュールアクセス部は、第1の格納ブロックおよび/または第2の格納ブロックのファイルデータのクラスタ間結合の情報の記録を情報記録装置に指示する。
第4の発明は、第1から第3のいずれかの発明であって、ファイルシステム制御部を、さらに備える。
ファイルシステム制御部は、所定書き込みサイズ未満の書き込みが発生する場合、同一所定書き込みサイズ単位内に含まれるデータを読み出して、書き込み対象の新データと結合し、所定書き込みサイズ倍数長のデータを生成した後、生成したデータを情報記録装置に書き込むよう制御する。
これにより、所定書き込みサイズ未満の書き込みが発生する場合であっても、所定書き込みサイズ倍数長のデータによるデータ書き込み処理が保証される。
第5の発明は、第1から第4のいずれかの発明であって、第1のファイルは、コンテンツ本体を格納したファイルであり、第2のファイルは、コンテンツの付加情報を格納したファイルである。
第6の発明は、第1から第5のいずれかの発明であって、所定書き込みサイズは、情報記録装置に含まれる不揮発性メモリの物理的なデータ記録処理単位サイズの倍数長である。
第7の発明は、第1から第6のいずれかの発明であって、所定ブロックサイズは、情報記録装置に含まれる不揮発性メモリの物理的なデータ消去処理単位サイズの倍数長である。
第8の発明は、アクセス装置と通信することができるように接続されており、アクセス装置の指示に従ってデータの書き込みおよび/または読み出しを行う情報記録装置であって、不揮発性メモリと、記録ブロック管理制御部と、を備える。
不揮発性メモリは、データを格納する。
記録ブロック管理制御部は、不揮発性メモリ内に第1の一時ブロック領域および第2の一時ブロック領域を設定する。また、記録ブロック管理制御部は、アクセス装置から指定される第1のファイルのデータを格納する第1格納ブロックの位置情報と、アクセス装置から指定される第2のファイルのデータを格納する第2格納ブロックの位置情報とを格納するアドレス管理情報に基づき、第1格納ブロックにデータが記録されると認識した場合、不揮発性メモリ内の第1の一時ブロック領域にデータが格納されるように制御する。また、記録ブロック管理制御部は、アドレス管理情報に基づき第2格納ブロックにデータが記録されると認識した場合、不揮発性メモリ内の第2の一時ブロック領域にデータが格納されるように制御する。
この情報記録装置では、記録ブロック管理制御部により、アドレス管理情報に基づき、第1格納ブロックにデータが記録されると認識した場合、不揮発性メモリ内の第1の一時ブロック領域にデータが格納されるように制御され、第2格納ブロックにデータが記録されると認識した場合、不揮発性メモリ内の第2の一時ブロック領域にデータが格納されるように制御される。したがって、この情報記録装置が、例えば、第1の発明であるアクセス装置により制御されることで、第1のファイル用の一時ブロック(キャッシュブロック)および第2のファイル用の一時ブロック(キャッシュブロック)を用いた、シーケンシャル記録を常に保証することができる。その結果、このアクセス装置および情報記録装置を用いたリアルタイム情報記録システムでは、データ記録を高速化することが可能となる。
なお、「情報記録装置」は、情報記録モジュールを含む概念である。
第9の発明は、第8の発明であって、記録ブロック管理制御部は、アクセス装置がデータ記録に先立ち予め通知する第1格納ブロックおよび/または第2格納ブロックの位置情報に基づいて、アドレス管理情報を設定する。
第10の発明は、第8または第9の発明であって、記録ブロック管理制御部は、アクセス装置からの第1の格納ブロックおよび/または第2の格納ブロックの位置情報の通知に基づき、任意の空きブロックを取得し、取得した空きブロックを、第1の一時ブロック領域および/または第2の一時ブロック領域に割り当てる。
第11の発明は、データを格納する不揮発性メモリを備える情報記録装置を制御するコントローラであって、記録ブロック管理制御部を備える。
記録ブロック管理制御部は、不揮発性メモリ内に第1の一時ブロック領域および第2の一時ブロック領域を設定する。また、記録ブロック管理制御部は、外部のアクセス装置から指定される第1のファイルのデータを格納する第1格納ブロックの位置情報と、アクセス装置から指定される第2のファイルのデータを格納する第2格納ブロックの位置情報とを格納するアドレス管理情報を参照し、第1格納ブロックにデータが記録されると認識した場合、不揮発性メモリ内の第1の一時ブロック領域にデータが格納されるように制御し、第2格納ブロックにデータが記録されると認識した場合、不揮発性メモリ内の第2の一時ブロック領域にデータを格納されるように制御する。
第12の発明は、第1から第7のいずれかの発明であるアクセス装置と、第8から第10のいずれかの発明である情報記録装置と、を備えるリアルタイム情報記録システムである。
このリアルタイム情報記録システムでは、第1のファイル、第2のファイルの各々に異なるブロック(第1格納ブロックおよび第2格納ブロック)を割り当て、追記(データ追記処理)、上書き(データ上書き処理)のいずれの処理が実行される場合であっても、常に、ブロック先頭から順にシーケンシャルにデータを書き込む。これにより、このリアルタイム情報記録システムでは、情報記録装置へのシーケンシャル記録が常に保証される。その結果、このリアルタイム情報記録システムでは、データ記録を高速化することが可能となる。
第13の発明は、データを格納する不揮発性メモリを備える情報記録装置にアクセスするアクセス装置で用いられるメモリアクセス方法あって、格納アドレス決定処理ステップと、リンク移動処理ステップと、情報記憶モジュールアクセスステップと、を備える。
格納アドレス決定処理ステップでは、情報記録装置内のデータ格納領域を、所定ブロックサイズのブロック単位で区切って管理するとともに、第1のファイルのデータを格納する第1の格納ブロックと、該第1のファイルを管理する第2のファイルのデータを格納する第2の格納ブロックと、を設定する。また、格納アドレス決定処理ステップでは、第1の格納ブロックには、該第1の格納ブロックの先頭アドレスから昇順に前記第1のファイルデータを順に記録するためのアドレスを決定する。また、格納アドレス決定処理ステップでは、第1の格納ブロックに記録された第1のファイルデータに対応する第2のファイルデータを更新又は追加する際は、該第2のファイルデータの更新又は追加部分に相当するクラスタデータを第2の格納ブロック内の最も低アドレスを持つ未使用クラスタ領域に記録するためのアドレスを決定する。
リンク移動処理ステップでは、第2の格納ブロック内のデータ更新又は追加に基づいて、前記第2のファイルデータのクラスタ間結合の情報を更新する。
情報記憶モジュールアクセスステップでは、格納アドレス処理ステップ、及び、リンク移動処理ステップでの処理結果にしたがって、情報記録装置に第1のファイルデータ、及び第2のファイルデータの記録を指示する。
これにより、第1の発明と同様の効果を奏するアクセス方法を実現することができる。
第14の発明は、データを格納する不揮発性メモリを備える情報記録装置にアクセスするアクセス装置で用いられるメモリアクセス方法をコンピュータに実行させるプログラムである。アクセス方法は、格納アドレス決定処理ステップと、リンク移動処理ステップと、を備える。
格納アドレス決定処理ステップでは、情報記録装置内のデータ格納領域を、所定ブロックサイズのブロック単位で区切って管理するとともに、第1のファイルのデータを格納する第1の格納ブロックと、該第1のファイルを管理する第2のファイルのデータを格納する第2の格納ブロックと、を設定する。また、格納アドレス決定処理ステップでは、第1の格納ブロックには、該第1の格納ブロックの先頭アドレスから昇順に前記第1のファイルデータを順に記録するためのアドレスを決定する。また、格納アドレス決定処理ステップでは、第1の格納ブロックに記録された第1のファイルデータに対応する第2のファイルデータを更新又は追加する際は、該第2のファイルデータの更新又は追加部分に相当するクラスタデータを第2の格納ブロック内の最も低アドレスを持つ未使用クラスタ領域に記録するためのアドレスを決定する。
リンク移動処理ステップでは、第2の格納ブロック内のデータ更新又は追加に基づいて、前記第2のファイルデータのクラスタ間結合の情報を更新する。
情報記憶モジュールアクセスステップでは、格納アドレス処理ステップ、及び、リンク移動処理ステップでの処理結果にしたがって、情報記録装置に第1のファイルデータ、及び第2のファイルデータの記録を指示する。
これにより、第1の発明と同様の効果を奏するアクセス方法をコンピュータに実行させるプログラムを実現することができる。
本発明によれば、動画ファイル、管理ファイルなど、サイズの異なる複数のファイルを並行してNAND型フラッシュメモリに記録する場合においても記録速度の低下を防ぎ、リアルタイム記録(一定の書き込み速度を保証したデータ書き込み処理)が可能なアクセスモジュール、情報記録モジュール、コントローラ、及びリアルタイム情報記録システム、アクセス方法、および、プログラムを実現することができる。
第1実施形態におけるアクセスモジュール、及び情報記録モジュールの構成を示した説明図 FATファイルシステムの構成を示した説明図 ディレクトリエントリの構成を示した説明図 FATファイルシステムにおけるファイルデータ書き込み処理手順を示したフローチャート FATファイルシステムにおけるファイルデータ書き込み前の状態の一例を示した説明図 FATファイルシステムにおけるファイルデータ書き込み後の状態の一例を示した説明図 第1実施形態における不揮発性メモリの構成の一例を示した説明図 第1実施形態におけるアドレス管理情報の構成の一例を示した説明図 第1実施形態における動画ファイル、管理ファイルの並行書き込み手順の全体を示したフローチャート 第1実施形態における動画ファイル、管理ファイルの並行書き込み時の格納先論理アドレスの一例を示した説明図 第1実施形態における格納アドレス決定処理手順の詳細を示したフローチャート 第1実施形態における格納ブロック情報登録処理手順の詳細を示したフローチャート 第1実施形態における不揮発性メモリ、アドレス管理情報の状態の一例を示した説明図 第1実施形態における追記時のリンク移動処理手順の詳細を示したフローチャート 第1実施形態における上書き時のリンク移動処理手順の詳細を示したフローチャート 第1実施形態における追記時のFATの状態の一例を示した説明図 第1実施形態における追記時のFATの状態の一例を示した説明図 第1実施形態における上書き時のFATの状態の一例を示した説明図 第1実施形態における上書き時のFATの状態の別の一例を示した説明図 第1実施形態における動画ファイル、管理ファイルの並行書き込み時の格納先論理アドレスの別の一例を示した説明図
以下、本発明のリアルタイム情報記録システム、および、それを構成するアクセスモジュール(アクセス装置)、情報記録モジュール(情報記録装置)、コントローラについて、図面を参照しつつ説明する。
[第1実施形態]
<1.1:リアルタイム情報記録システムの構成>
図1は、第1実施形態におけるリアルタイム情報記録システム1000の概略構成を示す図である。図1に示すように、リアルタイム情報記録システム1000は、アクセスモジュール(アクセス装置)1と、情報記録モジュール(情報記録装置)2とを備え、アクセスモジュール1と情報記録モジュール2とは、バス3により接続されて、双方向に通信を行うことができる。
なお、以降の説明に用いる図面においては、本発明に関連しない構成要素については図示を省略している。また、本発明は、以下に示す実施形態に限定されないことは言うまでもない。
(1.1.1:アクセスモジュール)
図1に示すように、アクセスモジュール(アクセス装置)1は、CPU11と、RAM12と、情報記録モジュールインターフェース部13と、ROM14とを含む。なお、アクセスモジュール1の各機能部は、図1に示すように、内部バスにより接続されるものであってもよく、あるいは、その全部または一部が直接接続されるものであってもよい。
ROM14には、アクセスモジュール1を制御するプログラムが格納されており、このプログラムは、RAM12を一時記憶領域として使用し、CPU11上で動作する。
情報記録モジュールインターフェース部13は、情報記録モジュール2とアクセスモジュール1との接続部であり、バス3を介して、情報記録モジュール2と制御信号及びデータの送受信を行う。
ROM14は、アプリケーション制御部101と、ファイルシステム制御部102と、情報記録モジュールアクセス部103とを含む。
なお、本実施形態において、ROM14中の機能部(アプリケーション制御部101、ファイルシステム制御部102、および、情報記録モジュールアクセス部103)は、ROM14中において、ソフトウェアにより実現されるものを想定しているが、これに限定されることはなく、ハードウェアにより、その全部または一部が実現されるものであってもよい。
アプリケーション制御部101は、データの生成や電源の制御などアクセスモジュール1全体の制御を行う。
ファイルシステム制御部102は、FATファイルシステム等のファイルシステムによりデータをファイルとして管理するための制御を行う。そして、ファイルシステム制御部102は、格納アドレス決定処理部104と、リンク移動処理部105とを含む。
格納アドレス決定処理部104は、ファイルにデータを記録する際に、ファイルデータ格納先の論理アドレスを決定する処理部であり、従来のアクセスモジュールには存在しないものである。
また、リンク移動処理部105は、管理ファイルに対する追記処理や、上書き処理を実施した際に、FAT(305、306)上で各クラスタ間のリンクを張り替え、情報記録モジュール2に対する記録が連続した論理アドレスへのシーケンシャル記録になるようにする処理部である。リンク移動処理部105も格納アドレス決定処理部104と同様に従来のアクセスモジュールには存在しないものである。
これら処理部の詳細については後述する。
情報記録モジュールアクセス部103は、ファイルシステム制御部102からデータと共に、そのデータのサイズと、そのデータを書き込む(記録する)アドレスとを渡され、指定されたサイズのデータを情報記録モジュール2の不揮発性メモリ22内の指定された位置に記録等するための、コマンドやデータを生成する。そして、情報記録モジュールアクセス部103は、生成したコマンドやデータが、情報記録モジュールインターフェース部13を介して、情報記録モジュール2と送受信されるように制御する。
(1.1.2:情報記録モジュール)
図1に示すように、情報記録モジュール2は、コントローラ21と、不揮発性メモリ22と、を含む。
コントローラ21は、不揮発性メモリ22の制御全般を行うモジュールであり、CPU等を含むシステムLSIとして構成されることが好ましい。コントローラ21は、アクセスモジュールインターフェース部211と、CPU212と、RAM213と、ROM214と、不揮発性メモリインターフェース部215とを含む。なお、コントローラ21の各機能部は、図1に示すように、内部バスにより接続されるものであってもよいし、あるいは、その全部または一部が直接接続されるものであってもよい。
アクセスモジュールインターフェース部211は、情報記録モジュール2とアクセスモジュール1との接続部(インタフェース)である。アクセスモジュールインターフェース部211は、情報記録モジュールインターフェース部13同様、バス3を介して、アクセスモジュール1に対して、制御信号及びデータを送受信する。
ROM214には、情報記録モジュール2を制御するプログラムが格納されており、このプログラムは、RAM213を一時記憶領域として使用し、CPU212上で動作する。
ROM214は、記録ブロック管理制御部217を含む。
なお、本実施形態において、ROM214中の機能部(記録ブロック管理制御部217)は、ROM214中において、ソフトウェアにより実現されるものを想定しているが、これに限定されることはなく、ハードウェアにより、その全部または一部が実現されるものであってもよい。
記録ブロック管理制御部217は、不揮発性メモリ22内のデータ格納位置をブロック単位で管理し、アクセスモジュール1から情報記録モジュール2に発行されたデータ書き込み命令が、どのブロックへの書き込み指示であるかを判定し、該当するブロックへの書き込み処理を実施する制御部である。記録ブロック管理制御部217は、従来の情報記録モジュール2には存在しないものである。この制御部の詳細については後述する。
また、RAM213には、記録ブロック管理制御部217が制御用の情報として使用するアドレス管理情報216が保持されている。
不揮発性メモリインターフェース部215は、コントローラ21と不揮発性メモリ22との接続部であり、不揮発性メモリ22に対するコマンドやデータの送受信を制御する。
本実施形態における情報記録モジュール2は、アクセス装置1から通知される情報を元に、(1)動画ファイル(コンテンツに関するファイル)への記録か、(2)管理ファイル(コンテンツに付随するファイル)への記録かを判定し、判定結果に基づいて、動画ファイルおよび管理ファイルを、各々別の物理ブロックにデータを格納する。また、リアルタイム情報記録システム1000において、アクセスモジュール1は、情報記録モジュール2に対して、記録ブロックに関する情報を通知すると共に、実行する処理がファイルデータの追記処理であるか、上書き処理であるかに関わらず、必要に応じてデータをパディングしながら所定のブロック内にシーケンシャルにデータを記録し、FAT(305、306)上でリンクを張り替える。アクセスモジュール1がこのように処理することで、リアルタイム情報記録システム1000では、ファイルデータの記録を、常に、シーケンシャル記録に置き換えて実施することができる。すなわち、リアルタイム情報記録システム1000では、これらアクセスモジュール1、情報記録モジュール2を組み合わせることにより、動画ファイル、管理ファイルなど、サイズの異なる複数のファイルを並行して記録する場合においても、情報記録モジュール2内で生じる無駄なコピー処理を削減して記録速度の低下を防止し、高速に安定して情報記録モジュール2にデータを記録することが可能となる。
≪不揮発性メモリの構成≫
続いて、図7を用いて、本実施形態における不揮発性メモリ22の構成について説明する。
不揮発性メモリ22には、例えば、NAND型フラッシュメモリなどが用いられる。不揮発性メモリ22は、複数の物理ブロックから構成される。物理ブロックは、データを消去する単位であり、データを書き込む前にこの単位で一旦データを消去する必要がある。また、物理ブロックは、複数のページから構成される。ページは、データの書き込みを行う単位である。また、ページは、データ部と冗長部とを含む。データ部は、論理アドレス空間としてアクセスモジュール1からアクセスが可能な領域であり、実際にファイルデータ等が格納される領域である。一方、冗長部は、不揮発性メモリ22の管理情報やECC等が格納される領域であり、アクセスモジュール1からアクセスできない領域である。データ部の大きさは、例えば、4KBであり、冗長部の大きさは、例えば、128バイト程度である。また、データ部にのみ着目した場合の物理ブロックの大きさは、例えば、512KB程度となる。よって、不揮発性メモリ22の一例として、この大きさの物理ブロック2048個から構成された場合は、不揮発性メモリ22の容量は、1GBとなる。
<1.2:リアルタイム情報記録システムの動作>
以上のように構成されたリアルタイム情報記録システム1000の動作について、以下、説明する。
(1.2.1:アドレス管理情報)
まず、図8を用いて、本実施形態におけるアドレス管理情報216について説明する。図8は、アドレス管理情報216について説明するための図である。
図8に示すように、アドレス管理情報216は、動画ファイル用一時ブロック管理情報401と、管理ファイル用一時ブロック管理情報402と、アドレス変換情報403とを含む。
動画ファイル用一時ブロック管理情報401は、動画ファイルのデータ記録用に割り当てられたブロックの位置に関する情報であり、情報記録モジュール2の記録ブロック管理制御部217が動画ファイル用一時ブロック(動画ファイル用キャッシュブロック)を管理するために使用する情報である。
管理ファイル用一時ブロック管理情報402は、管理ファイルのデータ記録用に割り当てられたブロックの位置に関する情報であり、情報記録モジュール2の記録ブロック管理制御部217が管理ファイル用一時ブロック(管理ファイル用キャッシュブロック)を管理するために使用する情報である。
アドレス変換情報403は、不揮発性メモリ22内の各物理ブロックの物理アドレスと、論理アドレスとの対応関係を示す情報である。この情報は、従来の情報記録モジュール2が持つ情報(一般に“アドレス変換テーブル”や、“論物アドレス変換表”などと呼ばれる情報)と同様のものである。
本実施形態における情報記録モジュール2は、アクセスモジュール1から通知された情報に基づき、動画ファイルと管理ファイルとを個別のブロック内の連続アドレスに記録する。これにより、リアルタイム情報記録システム1000において、動画ファイルおよび管理ファイルが並行して記録される場合であっても、動画ファイルおよび管理ファイルが各々個別のブロックに連続的に記録されることになり、不揮発性メモリ22上の無駄なコピー処理を削減し(いわゆる巻き込み退避処理(集約処理)の発生を抑え)、高速にデータを記録することが可能となる。
更に、リアルタイム情報記録システム1000において、アクセスモジュール1は、動画ファイルと管理ファイルとを格納する領域として各々個別のブロックを割り当て、当該ブロックの先頭から順に連続アドレスにデータを記録していく(アクセスモジュール1は、このようにデータを記録するように、情報記録モジュールを制御する)。また、リアルタイム情報記録システム1000では、管理ファイル内の上書き処理が発生する場合、新データ(上書きデータ)を前述した管理ファイル格納用のブロックに記録し、FAT(305、306)上でリンクを張り替えることにより、連続アドレスへのデータ記録による上書き処理を実現する。このため、リアルタイム情報記録システム1000では、管理ファイル内の上書き処理が発生する場合においても、不揮発性メモリ22上の無駄なコピー処理の発生を抑えることができ(いわゆる巻き込み退避処理(集約処理)の発生を抑えることができ)、高速なデータ記録を保証することができる。
(1.2.2:データ記録手順)
次に、本実施形態のリアルタイム情報記録システム1000での詳細なデータ記録手順について説明する。
以降の説明では、物理ブロックサイズを512KB、物理ページサイズを4KB、ファイルシステムのクラスタサイズを16KBと仮定し、動画ファイル、管理ファイルをクラスタ単位で記録する場合の例について説明する。
≪動画ファイル、管理ファイルの書き込み処理手順≫
まず始めに、リアルタイム情報記録システム1000における動画ファイルおよび管理ファイルの書き込み処理手順の概要について、図9を用いて説明する。
図9は、リアルタイム情報記録システム1000における動画ファイルおよび管理ファイルの並行書き込み手順の全体を示した図であり、動画ファイルおよび管理ファイルが任意の順番で並行して書き込まれる場合の処理手順を示している。
(S901):
S901では、アクセスモジュール1の格納アドレス決定処理部104が、動画ファイルの格納ブロックを決定する。リアルタイム情報記録システム1000において、情報記録モジュール2に対する最適な書き込み処理単位、ブロック長などをアクセスモジュール1が認識しておく必要がある。リアルタイム情報記録システム1000において、これらの情報は、予めアクセスモジュール1が情報記録モジュール2から取得するようにしても良いし(ケース1)、予めアクセスモジュール1が保持している固定的な値を用いるようにしても良い(ケース2)。後者の場合(ケース2の場合)、例えば、情報記録モジュール2の容量が2GB以下であれば、ブロックサイズを512KBとし、情報記録モジュール2の容量が2GBを超える場合は、ブロックサイズを4MBとするなど、情報記録モジュール2の容量に依存して固定的な値を決定しても良いし、その他の情報を用いて固定的な値を決定しても良い。ここでは、リアルタイム情報記録システム1000において、最適な書き込み処理単位が16KB、ブロック長が512KBであると仮定する。即ち、本実施形態では、リアルタイム情報記録システム1000において、アクセスモジュール1が、512KB全てが空きクラスタとなっている領域にクラスタ(=16KB)単位でデータを記録する場合の例について説明する。この際、動画ファイルは、常に、新規作成され、既存ファイルへの上書きが生じないものとし、S901における格納ブロックの決定では、1ブロック全てが空きクラスタから構成されている空きブロックが取得され、動画ファイル格納ブロックとして割り当てられるものとする。
(S902):
S902では、アクセスモジュール1は、S901で決定した動画ファイル格納ブロックの位置情報を情報記録モジュール2に通知する。情報記録モジュール2は、アクセスモジュール1から通知された情報を、動画ファイル用一時ブロック管理情報に設定し、当該ブロックを動画ファイル記録用の領域として管理する。情報記録モジュール2における格納ブロック情報登録処理の詳細については後述する。
(S903):
S903では、S901と同様にアクセスモジュール1の格納アドレス決定処理部104が、管理ファイルの格納ブロックを決定する。S901同様に、1ブロック全てが空きクラスタから構成されている空きブロックが取得され、管理ファイル格納ブロックとして割り当てられるものとする。
(S904):
S904では、S902と同様に、アクセスモジュール1は、S903で決定した管理ファイル格納ブロックの位置情報を情報記録モジュール2に通知する。情報記録モジュール2は、アクセスモジュール1から通知された情報を、管理ファイル用一時ブロック管理情報に設定し、当該ブロックを管理ファイル記録用の領域として管理する。情報記録モジュール2における格納ブロック情報登録処理の詳細については後述する。
(S905):
S905では、アクセスモジュール1の格納アドレス決定処理部104が、次に、動画ファイルのデータを記録するアドレスを決定する。この例では、1クラスタ単位で動画ファイルのデータを記録する場合を想定しているため、実際には、格納アドレス決定処理部104は、1クラスタ分の空きクラスタを取得し、そのアドレスを動画ファイルのデータ記録アドレスとして決定する処理を行う。格納アドレス決定処理の詳細は後述する。
(S906):
S906では、アクセスモジュール1のファイルシステム制御部102は、S905で決定したアドレスに動画ファイルデータを書き込む(アクセスモジュール1のファイルシステム制御部102は、情報記録モジュール2に対して、S905で決定したアドレスに動画ファイルデータを書き込むよう指示する)。この書き込み処理は、従来のアクセスモジュールと同様の処理である。
また、S905、S906の処理は、組として実施されるが、動画ファイルデータの一部(この例では、1クラスタ分のデータを想定)の書き込み処理となる。このため、リアルタイム情報記録システム1000では、S905、S906の処理を組として必要な回数だけ、S905、S906の処理を繰り返し実施する。ここで、任意のタイミングで管理ファイルの書き込み処理が発生した時点で、S907の処理が実施される。なお、リアルタイム情報記録システム1000において、管理ファイルの書き込み処理を発生させるタイミングは、リアルタイム情報記録システム1000の仕様や、リアルタイム情報記録システム1000に適用される規格等によって決定される。
(S907):
S907では、S905と同様に、アクセスモジュール1の格納アドレス決定処理部104が、次に、管理ファイルのデータを記録するアドレスを決定する。この例では、リアルタイム情報記録システム1000において、1クラスタ単位で管理ファイルのデータを記録する場合を想定しているため、実際には、格納アドレス決定処理部104が、1クラスタ分の空きクラスタを取得し、そのアドレスを管理ファイルのデータ記録アドレスとして決定する処理となる。また、リアルタイム情報記録システム1000において、1クラスタ分未満のデータの書き込み処理が発生する場合、旧データを1クラスタ分読み出して新データとマージし、1クラスタを書き戻す処理となるため、いずれにしても、格納アドレス決定処理部104は、1クラスタ分の空きクラスタを取得する。格納アドレス決定処理の詳細は後述する。
(S908):
S908では、アクセスモジュール1のファイルシステム制御部102は、S907で決定したアドレスに管理ファイルデータを書き込む。この書き込み処理は、従来のアクセスモジュールと同様の処理であるが、リアルタイム情報記録システム1000では、上書き処理(データを上書き(更新)する処理)の場合、必ず、新しい空きクラスタにデータを記録し、古いデータが格納されたクラスタには上書きしない。これにより、リアルタイム情報記録システム1000では、情報記録モジュール2に対しては、シーケンシャルな書き込み処理が生じることになり(シーケンシャルな書き込み処理を保証することができ)、高速にデータを記録することが可能となる。
(S909):
S909では、アクセスモジュール1のリンク移動処理部105が、FAT(305、306)上で管理ファイルのリンクの張り替えを行う。リアルタイム情報記録システム1000では、上書き処理を実行するときに、リンク移動処理部105が、リンクの張り替えを実施することにより、同一論理アドレスへの上書き処理は実行されない。したがって、リアルタイム情報記録システム1000では、情報記録モジュール2に対しては、シーケンシャルな書き込み処理を保証することができる。リンク移動処理は、追記(データ追記処理)と上書き(データ上書き処理)とで異なる処理となるが、各々の処理の詳細については後述する。また、実際には、動画ファイルについてもFAT(305、306)の更新処理が必要となるが、従来のFAT(305、306)の更新処理と同じであるため、説明を割愛する。
また、S907〜S909の処理は、組として実施されるが、管理ファイルデータの一部(この例では、1クラスタ分のデータを想定)の書き込み処理となるため、リアルタイム情報記録システム1000では、S907〜S909の処理を組として必要な回数だけ、S907〜S909の処理を繰り返し実施する。ここで、任意のタイミングで動画ファイルの書き込み処理が発生した時点でS905の処理が実施される。
なお、リアルタイム情報記録システム1000において、動画ファイルの書き込み処理を発生させるタイミングは、リアルタイム情報記録システム1000の仕様や、リアルタイム情報記録システム1000に適用される規格等によって決定される。
(1.2.3:動画ファイル、管理ファイルの並行書き込み時の格納先論理アドレス)
続いて、図10を用いて、本実施形態のリアルタイム情報記録システム1000における動画ファイル、管理ファイルの並行書き込み時の格納先論理アドレスの一例について説明する。
図10において、各々の四角はクラスタを示している。また、図10では、複数のクラスタから1ブロックが構成されていることを示している(図10では、3つのブロック(論理ブロック)を示している)。図9を用いて説明した書き込み処理手順において、リアルタイム情報記録システム1000では、動画ファイル用、管理ファイル用で、各々異なる空きブロックが割り当てられ、先頭から順にデータが書き込まれる。
動画ファイルは、新規作成されるため、上書き処理は発生せず、割り当てられたブロックの先頭から順にシーケンシャルにデータが書き込まれる(図中の「動1」「動2」の部分)。
一方、管理ファイルは、上書き処理となる場合もあるが、新しいデータは、必ず割り当てられたブロックの先頭から順にシーケンシャルにデータが書き込まれる(図10中の「管1(新)」「管2(新)」の部分)。また、リアルタイム情報記録システム1000では、管理ファイルの上書き処理の場合、FAT(305、306)上のリンクを張り替え、古いデータが新しいデータで上書きされたようにFAT(305、306)を更新する(図中の「管1(旧)」、「管2(旧)」が「管1(新)」、「管2(新)」に上書きされたように張り替える)。
このように、リアルタイム情報記録システム1000では、動画ファイル、管理ファイルの各々に異なるブロックを割り当て、追記(データ追記処理)、上書き(データ上書き処理)のいずれの処理が実行される場合であっても、常に、ブロック先頭から順にシーケンシャルにデータを書き込む。これにより、リアルタイム情報記録システム1000では、情報記録モジュール2へのシーケンシャル記録が常に保証される。その結果、リアルタイム情報記録システム1000では、データ記録を高速化することが可能となる。
(1.2.4:格納アドレス決定処理(アクセスモジュール1側の処理))
次に、図11(a)を用いて、格納アドレス決定処理の詳細について説明する。図11(a)は、格納アドレス決定処理のフローチャート図である。
格納アドレス決定処理は、図9の処理手順において、S905、S907で示した手順に該当する。
≪動画ファイル/管理ファイル判定処理≫
(S1101):
S1101では、アクセスモジュール1の格納アドレス決定処理部104が、記録対象のファイルが動画ファイルか、管理ファイルかを判定する。動画ファイルの場合は、S1102の処理に進む。管理ファイルの場合は、S1107の処理に進む。
≪動画ファイル用処理≫
(S1102):
S1102では、格納アドレス決定処理部104は、現在動画ファイル用論理ブロックとして割り当てているブロックに対する書き込み処理が論理ブロック終端まで完了しているかを判定する。そして、判定の結果、完了している場合はS1103の処理に進み、完了していない場合はS1106の処理に進む。本実施形態における説明では、書き込み処理サイズをクラスタサイズ(=16KB)、ブロックサイズを512KBと仮定している。そのため、動画ファイル用論理ブロックとして、512KB単位の空き領域を割り当てており、S1102での判定処理では、当該512KB内の終端まで動画ファイルのデータ書き込み処理が完了しているか否かが判定されることになる。
(S1103):
S1103では、動画ファイル用論理ブロック終端まで書き込み処理が完了しているため、ファイルシステム制御部102は、新しい空き論理ブロックを取得する。即ち、ファイルシステム制御部102は、512KB全てが空きクラスタから構成されている論理ブロックを取得する。
(S1104):
S1104では、アクセスモジュール1は、S1103で取得した空き論理ブロックの位置情報を動画ファイル用格納ブロックの位置情報として、情報記録モジュール2に通知する。情報記録モジュール2は、動画ファイル用一時ブロック管理情報401に、アクセスモジュール1から通知された情報を設定し、当該ブロックを動画ファイル記録用の領域として管理する。この処理は、図9のS902の処理と同じ処理であり、詳細については後述する。
(S1105):
S1105では、格納アドレス決定処理部104は、S1103で取得した空き論理ブロックの開始アドレスを動画ファイル格納アドレスとして決定し、処理を終了する。
(S1106):
S1106では、格納アドレス決定処理部104は、現在動画ファイル用論理ブロックとして割り当てているブロックの書き込み済み領域の次のアドレスを動画ファイル格納アドレスとして決定し、処理を終了する。例えば、図11(b)に示すように、動画ファイル用論理ブロックAの終端までデータ記録済みの場合、格納アドレス決定処理部104は、動画ファイル用論理ブロックBの最初のクラスタ(図11(b)の「動1(新)」で示したクラスタ)の先頭アドレスを、動画ファイル格納アドレスとして決定する。
≪管理ファイル用処理≫
(S1107〜S1111):
S1107〜S1111では、S1102からS1106までの動画ファイル用の処理と同様の処理を、管理ファイル用の処理として実施する。詳細内容については、動画ファイル用の処理とほぼ同じため、説明を割愛する。
このように、リアルタイム情報記録システム1000では、図11に示した処理を行うことで、動画ファイル、管理ファイルの各々について、空き論理ブロックを割り当て、先頭から順にデータを記録するため、該当ブロック内の書き込み済み領域の次のアドレスをファイルデータ格納アドレスとして決定する。
(1.2.5:格納ブロック情報登録処理(情報記録モジュール2側の処理))
次に、図12を用いて、格納ブロック情報登録処理の詳細について説明する。
格納ブロック情報登録処理は、図9の処理手順において、S902、S904で示した手順をアクセスモジュール1が実施した場合に情報記録モジュール2側で実施される処理に該当する。即ち、アクセスモジュール1が動画ファイル/管理ファイルのデータ格納ブロックを決定した後、情報記録モジュール2にその位置情報を通知する。その際に、情報記録モジュール2側で実施される処理が、図12の格納ブロック情報登録処理となる。
≪動画ファイル/管理ファイル判定処理≫
(S1201):
情報記録モジュール2の記録ブロック管理制御部217が、記録対象のファイルが動画ファイルであるのか、あるいは、管理ファイルであるのかを判定する。いずれのファイルの記録であるかはアクセスモジュール1から情報記録モジュール2に通知されるものとする。動画ファイルの場合は、S1202の処理に進む。管理ファイルの場合は、S1207の処理に進む。
≪動画ファイル用処理≫
(S1202):
S1202では、情報記録モジュール2の記録ブロック管理制御部217は、現在動画ファイル用一時ブロックとして割り当てているブロックに対する書き込み処理が物理ブロック終端まで完了しているか判定する。判定の結果、完了している場合はS1204の処理に進み、完了していない場合はS1203の処理に進む。本実施形態における説明では、書き込み処理サイズをクラスタサイズ(=16KB)、ブロックサイズを512KBと仮定している。そのため、動画ファイル用一時ブロックとして512KB単位の空き領域を割り当てている。したがって、本実施形態のリアルタイム情報記録システム1000では、当該512KB内の終端まで動画ファイルのデータ書き込み処理を完了しているか否かを判定することになる。
(S1203):
格納ブロック情報登録処理において、リアルタイム情報記録システム1000では、動画ファイル用一時ブロックを、現在割り当てられている論理ブロック以外の他の論理ブロックに割り当てるため、以下の(1)、(2)の処理を行う必要がある。なお、ここでは、後で説明する図13の対応部分を、説明便宜のため、例示する。
(1)現在、動画ファイル用一時ブロック(図13における物理ブロック番号0x0F03の物理ブロック)を割り当てられている論理ブロック(図13における論理ブロック番号0x0004の論理ブロック)に対応する物理ブロック(図13における物理ブロック番号0x0104の物理ブロック)に格納されているデータ(旧データ)と、動画ファイル用一時ブロック(図13における物理ブロック番号0x0F03の物理ブロック)のデータとをマージする(有効データをマージする)。
(2)そして、動画ファイル用一時ブロック(図13における物理ブロック番号0x0F03の物理ブロック)の領域を解放する。
この(1)、(2)の処理を行う必要があるため、S1203では、情報記録モジュール2は、旧ブロック(図13における物理ブロック番号0x0104の物理ブロック)内の有効データを動画ファイル用一時ブロック(図13における物理ブロック番号0x0F03の物理ブロック)領域にコピーする。
(S1204):
S1204では、記録ブロック管理制御部217は、アドレス管理情報216内のアドレス変換情報403を更新し、現在動画ファイル用一時ブロックに割り当てられている物理ブロックを、対応する論理ブロック番号に対応付ける(紐付ける)。
(S1205):
S1205では、情報記録モジュール2は、新しく動画ファイル用一時ブロックに割り当てるため、空き物理ブロックを取得する。
(S1206):
S1206では、記録ブロック管理制御部217は、アドレス管理情報216内の動画ファイル用一時ブロック管理情報401を更新し、S1205で取得した空き物理ブロックを動画ファイル用一時ブロックとして登録し、処理を終了する。
≪管理ファイル用処理≫
(S1207〜S1211):
S1207〜S1211では、S1202からS1206までの動画ファイル用の処理と同様の処理を管理ファイル用の処理として実施する。詳細内容については、動画ファイル用の処理とほぼ同じため、説明を割愛する。
このように、リアルタイム情報記録システム1000では、図12に示した処理を行うことにより、動画ファイル、管理ファイルの各々について必要に応じて、現在の一時ブロックの情報を整理した上で、新しい空き物理ブロックを取得し、新しい一時ブロックとして登録する。
図13は、格納ブロック情報登録処理における、不揮発性メモリ22の状態およびアドレス管理情報216の状態を示した図である。
図13(a)は、論理ブロック番号0x0004に割り当てられた動画ファイル用一時ブロック(物理ブロック番号:0x0F03)領域に途中までデータが記録された状態(物理ブロック番号が0x0F03の動画ファイル用一時ブロックの物理ページ番号0x0000〜0x0003の合計4ページ分にデータが記録された状態)を示している。そして、図13(a)に示すように、アドレス変換情報403において、論理ブロック番号0x0004の論理ブロックは、物理ブロック番号0x0104の物理ブロックに対応付けられているので、論理ブロック番号0x0004の論理ブロックの旧データは、物理ブロック番号0x0104の物理ブロックに格納(記録)されている。
リアルタイム情報記録システム1000では、格納ブロック情報登録処理により、動画ファイル用一時ブロック領域を、論理ブロック番号0x000Fに割り当て直す場合、物理ブロック番号0x0104内の有効データを動画ファイル用一時ブロック領域内にコピーし、別の空き物理ブロックを新たな動画ファイル用一時ブロック領域として登録する。具体的には、図13の場合、リアルタイム情報記録システム1000では、以下の(1)〜(4)の処理により、格納ブロック情報登録処理が実行される。
(1)物理ブロック番号が0x0104の物理ブロックの「DATA_A1」〜「DATA_A31」が有効データである(物理ページ番号0x0000のページに記録されているデータ「DATA_A0」は、動画用一時ブロックの対応する物理ページ(物理ページ番号0x0000)にデータ「DATA_B0」(有効データ)が存在するため、無効データである。)。したがって、物理ブロック番号0x0F03の動画ファイル用一時ブロックに、物理ブロック番号0x0104の有効データ「DATA_A1」〜「DATA_A31」がコピーされる(図12のS103の処理に相当)。
(2)論理ブロック番号0x0004の論理ブロックについてのアドレス変換情報が更新される(図12のS124の処理に相当)。
(3)空き物理ブロック(図3の場合では、物理ブロック番号0x0F05の物理ブロック)が取得される(図12のS1205の処理に相当)。
(4)動画ファイル用一時ブロック管理情報が更新される(図12のS1206の処理に相当)。
上記(1)〜(4)の処理の実行により、不揮発性メモリ22の状態およびアドレス管理情報216の状態は、図13(b)の状態となる。
このように、リアルタイム情報記録システム1000における格納ブロック情報登録処理では、現在の動画ファイル用一時ブロック領域に割り当てられている論理ブロック番号に対応するデータを整理し、新たな空き物理ブロックを新しい動画ファイル用一時ブロック領域としてアクセスモジュール1から指定された論理ブロック番号に割り当てる。
(1.2.6:リンク移動処理)
続いて、本実施形態のリアルタイム情報記録システム1000におけるリンク移動処理について、図14から図18を用いて説明する。
リンク移動処理は、図9の処理手順において、S909で示した手順(処理)に該当する。
図14は、追記処理を実行する場合のリンク移動処理手順を示した図である。
図15は、上書き処理を実行する場合のリンク移動処理手順を示した図である。
図16は、追記処理を実行する場合のFAT(305、306)の状態を示した図である。
図17は、小サイズデータを追記処理する場合のFAT(305、306)の状態を示した図である。
図18は、上書き処理を実行する場合のFAT(305、306)の状態を示した図である。
≪追記処理の場合のリンク移動処理手順≫
まず、図14を用いて、リアルタイム情報記録システム1000において追記処理を実行する場合のリンク移動処理手順について説明する。
(S1401):
S1401では、アクセスモジュール1のリンク移動処理部105が、FAT(305、306)上で新データ記録クラスタをリンク終端に設定する。
図16の例では、クラスタ番号33のクラスタが旧データ記録終端クラスタであるときに、データを追記し、新データをクラスタ番号66のクラスタに記録する場合を示している。この場合、S1401の処理では、FAT(305、306)上の対応クラスタ番号66の値を0xFFFFに設定することになる(図16(c)の状態に相当)。
(S1402):
S1402では、FAT(305、306)上で旧データ記録終端クラスタを新データ記録クラスタに接続し、処理を終了する。
図16の例では、FAT(305、306)上の対応クラスタ番号33の値を0x0042(10進数で「66」)に変更することになる(図16(d)の状態に相当)。
この追記処理を実行する場合のリンク移動処理は、通常のFATファイルシステムにおいてデータを追記する場合の処理とほぼ同じであるが、本実施形態のリアルタイム情報記録システム1000においては、新データ記録クラスタが、必ず、情報記録モジュール2に対して、シーケンシャルな記録となるように空きクラスタを割り当てる点が異なる。即ち、管理ファイルの追記処理において、情報記録モジュール2に設定した管理ファイル用論理ブロックの先頭から順に新データを記録し、リンク移動処理において、当該管理ファイルが追記されるようFAT(305、306)上のリンクを更新する(FATチェーン(クラスタチェーン)において、追記処理の対象となった管理ファイルの追記したクラスタが追加されるように、FAT(305、306)上のリンクを更新する)。
なお、リアルタイム情報記録システム1000において、小サイズデータ(例えば、数バイトのデータ)を追記する場合、以下の処理(S1〜S5の処理)によって、追記処理および当該追記処理のリンク移動処理を実行してもよい。これについて、図17を用いて説明する。
図17は、管理ファイル用論理ブロックのクラスタ番号が33のクラスタ(図17の「管N」のクラスタ)が終端クラスタである状態を示している。そして、クラスタ番号が33のクラスタ(図17の「管N」のクラスタ)には、(16KB−Mバイト)の有効データと、Mバイトの無効データ(パディングデータ)が記録されているものとする。そして、リアルタイム情報記録システム1000において、Kバイト(K<M)のデータを追記する場合について、以下、説明する。
(S1):
ファイルシステム制御部102は、クラスタ番号が33のクラスタ(図17の「管N」のクラスタ)の(16KB−Mバイト)の有効データをRAM12上に読み出す。
(S2):
そして、ファイルシステム制御部102は、RAM12上で、Kバイトの追記データを(16KB−Mバイト)の有効データに追記し、当該クラスタの残りの領域(M−Kバイト分の領域)に、無効データ(スタッフィングデータ)を追加し、1クラスタ分の書き込みデータを作成する。
(S3):
そして、アクセスモジュール1は、作成した1クラスタ分の書き込みデータを、クラスタ番号66のクラスタ(新たな管理ファイル用論理ブロックの先頭のクラスタ)に書き込む。
(S4):
そして、リンク移動処理部105は、FAT(305、306)上の対応クラスタ番号66の値を0xFFFF(終端クラスタを表す値)に変更する(図17(c)の状態)。
(S5):
さらに、リンク移動処理部105は、FAT(305、306)上の対応クラスタ番号32の値を0x0021(十進数で「33」)から0x0042(十進数で「66」)に変更する。また、リンク移動処理部105は、FAT(305、306)上の対応クラスタ番号33の値を0xFFFFから0x0000に変更する(図17(d)の状態)。
このように、最終クラスタの無効データの容量より小さいサイズのデータを追記する場合、リアルタイム情報記録システム1000において、上記(S1)〜(S5)の処理により、追記処理および当該追記処理のリンク移動処理を実行するようにしてもよい。
≪上書きする場合のリンク移動処理手順≫
次に、図15を用いて、リアルタイム情報記録システム1000において上書き処理を実行する場合のリンク移動処理手順について説明する。
(S1501):
S1501では、アクセスモジュール1のリンク移動処理部105が、FAT(305、306)上で新データ記録クラスタを旧データ記録クラスタのリンク先クラスタに接続する。
図18の例では、旧データ記録クラスタ(クラスタ番号3)のデータを上書きし、新データをクラスタ番号66のクラスタに記録する場合を示している。この場合、S1501の処理では、FAT(305、306)上の対応クラスタ番号66の値を、クラスタ番号3のリンク先クラスタである0x0004に設定することになる(図18(c)の状態に相当)。
(S1502):
S1502では、リンク移動処理部105が、FAT(305、306)上で旧データ記録クラスタのリンク元クラスタを新データ記録クラスタに接続する。
図18の例では、クラスタ番号3のリンク元クラスタであるクラスタ番号2に対応するFAT(305、306)上の値を0x0042(10進数で「66」)に変更することになる(図18(d)の状態に相当)。
(S1503):
S1503では、リンク移動処理部105が、FAT(305、306)上で旧データ記録クラスタを空きクラスタに設定し、処理を終了する。
図18の例では、クラスタ番号3に対応するFAT(305、306)上の値を0x0000に変更することになる(図18(e)の状態に相当)。
上書き処理を行う場合のリンク移動処理では、新データ記録クラスタが必ず情報記録モジュール2に対してシーケンシャルな記録となるように空きクラスタを割り当てる。即ち、管理ファイルの上書き処理においては、情報記録モジュール2に設定した管理ファイル用論理ブロックの先頭から順に新データを記録し、リンク移動処理において、当該管理ファイルが上書きされるようFAT(305、306)上のリンクを更新する(FATチェーン(クラスタチェーン)において、上書き処理の対象となった管理ファイルの上書きしたクラスタが含まれるように、FAT(305、306)上のリンクを更新する)。
図14から図18を用いて説明したように、本実施形態のリアルタイム情報記録システム1000では、管理ファイルの追記処理、上書き処理に関わらず、常に、情報記録モジュール2に設定した管理ファイル用論理ブロックの先頭から順に新データを記録し、リンク移動処理により該当ファイルに追記、上書きされるようFAT(305、306)上のリンクを更新する(FATチェーン(クラスタチェーン)において、追記処理、上書き処理の内容が反映されるように、FAT(305、306)上のリンクを更新する)。これにより、リアルタイム情報記録システム1000では、管理ファイルの記録においても、情報記録モジュール2に対して、常に、シーケンシャルな記録のみが生じることとなり、高速に管理ファイルを記録することが可能となる。
更に、これまでの説明では、書き込み処理サイズおよびクラスタサイズが共に16KBと同じである場合について説明した。
しかしながら、書き込み処理サイズがクラスタサイズよりも大きい場合、図14から図18で示した手順では、シーケンシャル記録による追記、上書き処理が実施できないことになる。この場合、同一書き込み処理サイズ内に存在する処理対象外の有効クラスタのデータを読み出し、処理対象の新データと共に情報記録モジュール2に記録することにより、シーケンシャル記録による追記処理、上書き処理を実施することが可能となる。
≪書き込み処理サイズが32KB、クラスタサイズが16KBの場合における管理ファイルの上書き処理≫
書き込み処理サイズがクラスタサイズよりも大きい場合のリアルタイム情報記録システム1000における管理ファイルの上書き処理について、以下、説明する。
図19は、書き込み処理サイズが32KB、クラスタサイズが16KBの場合における管理ファイルの上書き処理時のFAT(305、306)の状態を示した図である。クラスタ番号4のクラスタに存在するデータを上書きする場合、図14から図18で示した処理手順であれば、上書き対象の1クラスタの新データのみをクラスタ番号66のクラスタに記録していた。しかしながら、書き込み処理サイズが32KBであるため、上書き対象クラスタのデータのみを書き込むことはできない。そのため、リアルタイム情報記録システム1000では、クラスタ番号4のクラスタと同じ書き込み処理単位に含まれるクラスタ番号5のデータを読み出し、新データと共に管理ファイル用論理ブロックに書き込む。即ち、新データをクラスタ番号66のクラスタに書き込み、クラスタ番号5のデータをクラスタ番号67のクラスタに書き込む。そして、これら2クラスタが該当ファイル(上書き処理の対象としたファイル)に含まれるようFAT(305、306)上でリンクを更新する。
このように書き込み処理サイズがクラスタサイズよりも大きい場合、リアルタイム情報記録システム1000では、上書き対象クラスタの前後の有効データを読み出して、上書き対象データと共に、情報記録モジュール2に書き込む。これにより、リアルタイム情報記録システム1000では、情報記録モジュール2への書き込み処理を、常に、シーケンシャル記録とすることができ、情報記録モジュール2に対して高速に管理ファイルを記録することが可能となる。
以上のように、本実施形態のアクセスモジュール1と情報記録モジュール2を組み合わせて使用することにより、動画ファイル、管理ファイルなど、サイズの異なる複数のファイルを並行して情報記録モジュール2に記録する場合においても、情報記録モジュール2内で生じる無駄なコピー処理を削減し、管理ファイル記録による速度低下を防ぎ、リアルタイム記録を実現することが可能となる。
なお、本発明を上記の実施形態に基づいて説明してきたが、本発明は上記の実施形態に限定されないのは勿論である。本発明の趣旨を逸脱しない範囲で実施変更することができる。本実施形態で記載された数値は一例であり、他の値を使用しても良い。例えば、物理ブロックサイズやページサイズ等の値は全て一例であり、本実施形態で記載した値に限定されるものではない。
また、図1の説明において、情報記録モジュール2のコントローラ21の構成を説明したが、その他の構成としても良い。例えば、コントローラ21内のCPU212やRAM213等をコントローラ21の外部に配置しても良いし、逆に、その他の構成要素をコントローラ21内に含ませても良い。
また、本実施形態ではファイルシステムとしてFAT16を例として説明したが、その他のファイルシステムを用いても良い。
また、情報記録モジュール2に使用される不揮発性メモリ22の枚数は1枚である必要はなく、複数枚を組み合わせて使用しても良い。特に、複数の不揮発性メモリ22に対して並列にデータ書き込みできるように構成した場合、更に書き込み処理を高速化することが可能となる。
また、本実施形態では、動画ファイル、管理ファイルの2つのファイルを並行して書き込む場合の例について説明したが、3つ以上のファイルを並行して書き込めるようにしても良い。例えば、動画ファイル用一時ブロックを2つ、管理ファイル用一時ブロックを2つ、各々管理できるように拡張することにより、動画ファイル、管理ファイルの組を2つ並行して書き込むことができるようになる。この拡張を適用することにより、例えば、DVDレコーダ等の機器における2番組同時録画などを実現することが可能となる。
また、本実施形態における一時ブロックとしては、ブロック内全てが空き領域であるブロックのみを取得して、書き込み対象のブロックとして割り当てていたが、空き領域の割合が多いブロックであれば記録速度をあまり低下させることなく記録することが可能である。そのため、所定の閾値以上の空き領域を含むブロックを一時ブロック割り当ての対象ブロックとしても良い。
また、本実施形態では、書き込み処理をクラスタ単位で実施する場合の例について説明した。実際のファイルデータ書き込み時にクラスタサイズ未満のデータ書き込みが発生する場合には、
(1)上書きであれば、同一クラスタ内の旧データを読み出した後に新データとマージして情報記録モジュール2に書き込むようにし、
(2)追記であれば、同様に旧データとマージすると共に、必要に応じて記録領域終端に0x00、0xFFなどの無効データ(パディングデータ)を付加してクラスタサイズのデータを生成し、情報記録モジュール2に書き込むようにすることで、本発明を適用することが可能である。
また、本実施形態では、アクセスモジュール1が情報記録モジュール2に動画ファイル用論理ブロック、管理ファイル用論理ブロックの位置を通知し、各々のブロックに対して動画ファイルデータ、管理ファイルデータを記録する方法について説明したが、必ずしも個別のブロックに分割する必要はなく、同一ブロックを用いて管理しても良い。例えば、処理対象とする空きブロックの先頭から順に、書き込み処理サイズの整数倍単位で動画ファイルデータ、管理ファイルデータを混在させながら記録し、空きブロック終端まで記録が完了した時点で、次の空きブロックを1つ取得し、同様の記録を継続するようにしてもよい。この場合、動画ファイル、管理ファイルの各書き込みにおいて発生する追記処理、上書き処理については、図14から図18で示した処理手順によりFAT(305、306)上のリンクを更新する。このようにすることで、情報記録モジュール2側は、動画ファイル用一時ブロック、管理ファイル用一時ブロックの2種類のブロックを個別に管理する必要がなくなる。そのため、シーケンシャル記録を実行する場合であって、リアルタイム情報記録システム1000において、ある程度の記録速度を保つことができる情報記録モジュール2を用いる場合、アクセスモジュール1から動画ファイル用論理ブロック、管理ファイル用論理ブロックの位置情報などを通知する必要がない。その結果、従来の情報記録モジュール2を用いることが可能となる。
更に、リアルタイム情報記録システム1000において、動画ファイル用論理ブロックと管理ファイル用論理ブロックとを分けるのではなく、記録するストリーム毎にブロックを分割して管理しても良い。図20(a)は、本実施形態で説明した例であるが、例えば、図20(b)のように、ストリーム毎に使用するブロックを分割しても良い。動画ファイルデータと管理ファイルデータとを同一ブロックに混在させる手法については、前述した通りである。このように記録するストリーム毎にブロックを分割した場合、一方のストリームを削除した際に生じる空き領域が固まって存在するため、以降のデータ記録に再利用する空きブロックが生じ易いという利点がある。
[他の実施形態]
なお、上記実施形態で説明したリアルタイム情報記録システム、アクセスモジュール(アクセス装置)および情報記録モジュール(情報記録装置)において、各ブロックは、LSIなどの半導体装置により個別に1チップ化されても良いし、一部又は全部を含むように1チップ化されても良い。
なお、ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてあり得る。
また、上記各実施形態の各機能ブロックの処理の一部または全部は、プログラムにより実現されるものであってもよい。そして、上記各実施形態の各機能ブロックの処理の一部または全部は、コンピュータにおいて、中央演算装置(CPU)により行われる。また、それぞれの処理を行うためのプログラムは、ハードディスク、ROMなどの記憶装置に格納されており、ROMにおいて、あるいはRAMに読み出されて実行される。
また、上記実施形態の各処理をハードウェアにより実現してもよいし、ソフトウェア(OS(オペレーティングシステム)、ミドルウェア、あるいは、所定のライブラリとともに実現される場合を含む。)により実現してもよい。さらに、ソフトウェアおよびハードウェアの混在処理により実現しても良い。
また、上記実施形態における処理方法の実行順序は、必ずしも、上記実施形態の記載に制限されるものではなく、発明の要旨を逸脱しない範囲で、実行順序を入れ替えることができるものである。
前述した方法をコンピュータに実行させるコンピュータプログラム及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体は、本発明の範囲に含まれる。ここで、コンピュータ読み取り可能な記録媒体としては、例えば、フレキシブルディスク、ハードディスク、CD−ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blue−ray Disc)、半導体メモリを挙げることができる。
上記コンピュータプログラムは、上記記録媒体に記録されたものに限られず、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク等を経由して伝送されるものであってもよい。
なお、本発明の具体的な構成は、前述の実施形態に限られるものではなく、発明の要旨を逸脱しない範囲で種々の変更および修正が可能である。
本発明に係るアクセスモジュールは、動画ファイル、管理ファイルの各ファイルデータを格納するアドレスを決定する格納アドレス決定処理部と、対象ファイルの書き込み処理において追記、上書きに関わらず情報記録モジュールにシーケンシャルにデータを記録し、FAT上のリンクを更新するリンク移動処理部を含む。また、本発明の情報記録モジュールは、アクセスモジュールの指示に従い動画ファイルを格納するブロックと、管理ファイルを格納するブロックを特別な領域として管理し、所定の書き込み処理サイズの倍数長で書き込まれた場合に高速にデータを書き込む記録ブロック管理制御部を含む。これらアクセスモジュールと情報記録モジュールを組み合わせることにより、動画ファイル、管理ファイルなど、サイズの異なる複数のファイルを並行して情報記録モジュールに記録する場合においても、情報記録モジュール内で生じる無駄なコピー処理を削減し、管理ファイル記録による速度低下を防ぎ、リアルタイム記録を実現することが可能となる。このようなアクセスモジュールは、音楽や静止画、動画などのデジタルコンテンツを取り扱う機器、とりわけコンテンツデータをリアルタイムに情報記録モジュールに記録する必要がある機器に最適であり、PCアプリケーション、オーディオレコーダ、DVDレコーダ、HDDレコーダ、ムービー、デジタルスチルカメラ、携帯電話端末等として利用することができる。また、本発明の情報記録モジュールは、上記デジタルコンテンツなどを格納するメモリカードなどのリムーバブルメディア、あるいは内蔵記録装置等として利用することができる。
1000 リアルタイム情報記録システム
1 アクセスモジュール
2 情報記録モジュール
11,212 CPU
12,213 RAM
13 情報記録モジュールインターフェース部
14,214 ROM
21 コントローラ
22 不揮発性メモリ
101 アプリケーション制御部
102 ファイルシステム制御部
103 情報記録モジュールアクセス部
104 格納アドレス決定処理部
105 リンク移動処理部
211 アクセスモジュールインターフェース部
215 不揮発性メモリインターフェース部
216 アドレス管理情報
217 記録ブロック管理制御部
301 ファイルシステム管理情報領域
302 ユーザデータ領域
303 マスターブートレコード・パーティションテーブル
304 パーティションブートセクタ
305,306 FAT
307 ルートディレクトリエントリ
308 ディレクトリエントリ
401 動画ファイル用一時ブロック管理情報
402 管理ファイル用一時ブロック管理情報
403 アドレス変換情報

Claims (17)

  1. データを格納する不揮発性メモリを備える情報記録装置にアクセスするアクセス装置であって、
    前記情報記録装置内のデータ格納領域を、所定ブロックサイズのブロック単位で区切って管理するとともに、ファイルのデータを格納する第1の格納ブロックと、該ファイルのデータをデータの管理単位に分割した際の管理単位間の繋がりを格納するFATを格納する第2の格納ブロックと、を設定する設定部と、
    前記設定部で設定された第1の格納ブロックのアドレスに基づいて、前記ファイルを記録するためのアドレスである第1アドレスを決定し、前記設定部で設定された第2の格納ブロックのアドレスに基づいて、前記FATを記録するためのアドレスである第2アドレスを決定する格納アドレス決定処理部と、
    前記第1アドレスにしたがって前記ファイルのデータの記録を前記情報記録装置に指示し、前記第2アドレスにしたがって前記FATの記録を前記情報記録装置に指示する情報記憶モジュールアクセス部と、を備え、
    前記格納アドレス決定処理部は、
    前記ファイルのデータを追記又は上書きのいずれの処理を行う場合でも、前記追記又は上書きに相当するデータに対応する前記管理単位前記FAT内部で未使用の領域に新たに記録する記第1および第2アドレスを決定する、
    アクセス装置。
  2. 前記格納アドレス決定処理部は、
    前記更新する部分に相当するデータに対応する前記管理単位を、前記第2の格納ブロックの未使用の領域のうちの最も低いアドレスが示す領域から記録するよう前記第2アドレスを決定する、
    請求項1に記載のアクセス装置。
  3. 前記格納アドレス決定処理部は、
    前記第1の格納ブロックの先頭アドレスから昇順に前記ファイルのデータを記録するよう前記第1アドレスを決定する、
    請求項1に記載のアクセス装置。
  4. 前記第2の格納ブロック内の前記FATの更新又は追加に基づいて、前記第2の格納ブロックに記録された前記FATに関する結合情報を更新する、リンク移動処理部を、
    さらに備える請求項1に記載のアクセス装置。
  5. 前記格納アドレス決定処理部は、
    前記情報記録装置に対するデータの書き込み処理が、前記ファイルへのデータ追記処理およびデータ上書き処理のいずれの処理であっても、
    前記第1格納ブロック内の先頭から順に所定書き込みサイズの倍数長単位で書き込んだ場合における最終書き込み位置の次のアドレスを前記ファイルのデータ書き込み開始位置とし、
    前記情報記録装置に対するデータの書き込み処理が、前記FATへの追加処理および更新処理のいずれの処理であっても、
    前記第2格納ブロック内の先頭から順に所定書き込みサイズの倍数長単位で書き込んだ場合における最終書き込み位置の次のアドレスを前記FATへの書き込み開始位置とする、
    請求項1から4のいずれかに記載のアクセス装置。
  6. 前記情報記憶モジュールアクセス部は、
    前記第1の格納ブロックおよび/または前記第2の格納ブロックのデータのクラスタ間結合の情報の記録を前記情報記録装置に指示する、
    請求項1から5のいずれかに記載のアクセス装置。
  7. 前記所定書き込みサイズ未満の書き込みが発生する場合、同一所定書き込みサイズ単位内に含まれるデータを読み出して、書き込み対象の新データと結合し、前記所定書き込みサイズ倍数長のデータを生成した後、生成したデータを前記情報記録装置に書き込むよう制御するファイルシステム制御部を、さらに備える、
    請求項1から6のいずれかに記載のアクセス装置。
  8. 前記ファイルは、コンテンツ本体を格納したファイルである、
    請求項1から7のいずれかに記載のアクセス装置。
  9. 前記所定書き込みサイズは、前記情報記録装置に含まれる不揮発性メモリの物理的なデータ記録処理単位サイズの倍数長である、
    請求項1から8のいずれかに記載のアクセス装置。
  10. 前記所定ブロックサイズは、前記情報記録装置に含まれる不揮発性メモリの物理的なデータ消去処理単位サイズの倍数長である、
    請求項1から9のいずれかに記載のアクセス装置。
  11. アクセス装置と通信することができるように接続されており、前記アクセス装置の指示に従ってデータの書き込みおよび/または読み出しを行う情報記録装置であって、
    データを格納する不揮発性メモリと、
    前記不揮発性メモリ内に第1の一時ブロック領域および第2の一時ブロック領域を設定し、
    前記アクセス装置から指定されるファイルのデータを格納する第1格納ブロックの位置情報と、前記アクセス装置から指定され、該ファイルのデータをデータの管理単位に分割した際の管理単位間の繋がりを格納するFATを格納する第2格納ブロックの位置情報とを格納するアドレス管理情報に基づき、前記第1格納ブロックに前記ファイルのデータが記録されると認識した場合、前記不揮発性メモリ内の第1の一時ブロック領域に前記ファイルのデータが格納されるように制御し、
    前記アドレス管理情報に基づき前記第2格納ブロックに前記FATが記録されると認識した場合、前記不揮発性メモリ内の第2の一時ブロック領域に前記FATが格納されるように制御する記録ブロック管理制御部と、
    を備え、
    前記記録ブロック管理制御部は、前記ファイルのデータを追記又は上書きのいずれの処理を行う場合でも、前記追記又は上書きに相当するデータに対応する前記管理単位前記FAT内部で未使用の領域に新たに記録るよう制御する、
    情報記録装置。
  12. 前記記録ブロック管理制御部は、
    前記アクセス装置が前記ファイルのデータ記録に先立ち予め通知する前記第1格納ブロックおよび/または前記第2格納ブロックの位置情報に基づいて、前記アドレス管理情報を設定する、
    請求項11に記載の情報記録装置。
  13. 前記記録ブロック管理制御部は、
    前記アクセス装置からの前記第1の格納ブロックおよび/または前記第2の格納ブロックの位置情報の通知に基づき、任意の空きブロックを取得し、取得した空きブロックを、前記第1の一時ブロック領域および/または前記第2の一時ブロック領域に割り当てる、
    請求項11または12に記載の情報記録装置。
  14. データを格納する不揮発性メモリを備える情報記録装置を制御するコントローラであって、
    前記不揮発性メモリ内に第1の一時ブロック領域および第2の一時ブロック領域を設定し、
    外部のアクセス装置から指定されるファイルのデータを格納する第1格納ブロックの位置情報と、前記アクセス装置から指定され、該ファイルのデータをデータの管理単位に分割した際の管理単位間の繋がりを格納するFATを格納する第2格納ブロックの位置情報とを格納するアドレス管理情報を参照し、
    前記第1格納ブロックに前記ファイルのデータが記録されると認識した場合、前記不揮発性メモリ内の第1の一時ブロック領域に前記ファイルのデータが格納されるように制御し、
    前記第2格納ブロックに前記FATが記録されると認識した場合、前記不揮発性メモリ内の第2の一時ブロック領域に前記FATを格納されるように制御する記録ブロック管理制御部、
    を備え、
    前記記録ブロック管理制御部は、前記ファイルのデータを追記又は上書きのいずれの処理を行う場合でも、前記追記又は上書きに相当するデータに対応する前記管理単位前記FAT内部で未使用の領域に新たに記録るよう制御する、
    コントローラ。
  15. 請求項1から10のいずれかに記載のアクセス装置と、
    請求項11から13のいずれかに記載の情報記録装置と、
    を備えるリアルタイム情報記録システム。
  16. データを格納する不揮発性メモリを備える情報記録装置にアクセスするアクセス装置で用いられるメモリへのアクセス方法あって、
    前記情報記録装置内のデータ格納領域を、所定ブロックサイズのブロック単位で区切って管理するとともに、ファイルのデータを格納する第1の格納ブロックと、該ファイルのデータをデータの管理単位に分割した際の管理単位間の繋がりを格納するFATを格納する第2の格納ブロックと、を設定する設定ステップと、
    前記設定ステップで設定された第1の格納ブロックのアドレスに基づいて、前記ファイルを記録するためのアドレスである第1アドレスを決定し、前記設定ステップで設定された第2の格納ブロックのアドレスに基づいて、前記FATを記録するためのアドレスである第2アドレスを決定する格納アドレス決定処理ステップと、
    前記第1アドレスにしたがって前記ファイルのデータの記録を前記情報記録装置に指示し、前記第2アドレスにしたがって前記FATの記録を前記情報記録装置に指示する情報記憶モジュールアクセスステップと、
    を備え、
    前記格納アドレス決定処理ステップでは、
    前記ファイルのデータを追記又は上書きのいずれの処理を行う場合でも、前記追記又は上書きに相当するデータに対応する前記管理単位前記FAT内部で未使用の領域に新たに記録する記第1および第2アドレスを決定する、
    アクセス方法。
  17. データを格納する不揮発性メモリを備える情報記録装置にアクセスするアクセス装置で用いられるメモリへのアクセス方法あって、
    前記情報記録装置内のデータ格納領域を、所定ブロックサイズのブロック単位で区切って管理するとともに、ファイルのデータを格納する第1の格納ブロックと、該ファイルのデータをデータの管理単位に分割した際の管理単位間の繋がりを格納するFATを格納する第2の格納ブロックと、を設定する設定ステップと、
    前記設定ステップで設定された第1の格納ブロックのアドレスに基づいて、前記ファイルを記録するためのアドレスである第1アドレスを決定し、前記設定ステップで設定された第2の格納ブロックのアドレスに基づいて、前記FATを記録するためのアドレスである第2アドレスを決定する格納アドレス決定処理ステップと、
    前記第1アドレスにしたがって前記ファイルのデータの記録を前記情報記録装置に指示し、前記第2アドレスにしたがって前記FATの記録を前記情報記録装置に指示する情報記憶モジュールアクセスステップと、
    を備え、
    前記格納アドレス決定処理ステップでは、
    前記ファイルのデータを追記又は上書きのいずれの処理を行う場合でも、前記追記又は上書きに相当するデータに対応する前記管理単位前記FAT内部で未使用の領域に新たに記録する記第1および第2アドレスを決定する、
    アクセス方法をコンピュータに実行させるプログラム
JP2011540396A 2009-11-11 2010-10-19 アクセス装置、情報記録装置、コントローラ、リアルタイム情報記録システム、アクセス方法、および、プログラム Active JP5481493B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011540396A JP5481493B2 (ja) 2009-11-11 2010-10-19 アクセス装置、情報記録装置、コントローラ、リアルタイム情報記録システム、アクセス方法、および、プログラム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2009257856 2009-11-11
JP2009257856 2009-11-11
JP2011540396A JP5481493B2 (ja) 2009-11-11 2010-10-19 アクセス装置、情報記録装置、コントローラ、リアルタイム情報記録システム、アクセス方法、および、プログラム
PCT/JP2010/006192 WO2011058700A1 (ja) 2009-11-11 2010-10-19 アクセス装置、情報記録装置、コントローラ、リアルタイム情報記録システム、アクセス方法、および、プログラム

Publications (2)

Publication Number Publication Date
JPWO2011058700A1 JPWO2011058700A1 (ja) 2013-03-28
JP5481493B2 true JP5481493B2 (ja) 2014-04-23

Family

ID=43991374

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011540396A Active JP5481493B2 (ja) 2009-11-11 2010-10-19 アクセス装置、情報記録装置、コントローラ、リアルタイム情報記録システム、アクセス方法、および、プログラム

Country Status (3)

Country Link
US (1) US8977802B2 (ja)
JP (1) JP5481493B2 (ja)
WO (1) WO2011058700A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190061549A (ko) * 2017-11-28 2019-06-05 지인정보기술 주식회사 파일 시스템 및 상기 파일 시스템을 이용한 파일 저장 방법

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8209305B2 (en) * 2006-04-19 2012-06-26 Microsoft Corporation Incremental update scheme for hyperlink database
JP5917163B2 (ja) * 2011-01-27 2016-05-11 キヤノン株式会社 情報処理装置、その制御方法及びプログラム並びに記憶媒体
JP5633484B2 (ja) * 2011-08-10 2014-12-03 株式会社Jvcケンウッド 記録装置及び記録方法
US9213645B2 (en) * 2011-12-29 2015-12-15 Sandisk Technologies Inc. Command aware partial page programming
TWI454912B (zh) * 2012-01-06 2014-10-01 Phison Electronics Corp 資料處理方法、記憶體控制器與記憶體儲存裝置
JP2014044490A (ja) * 2012-08-24 2014-03-13 Toshiba Corp ホスト装置及びメモリデバイス
CN103823633A (zh) * 2012-11-16 2014-05-28 上海华虹集成电路有限责任公司 小文件管理电路
US20140310493A1 (en) * 2013-04-11 2014-10-16 International Business Machines Corporation Migrating data across storages with dissimilar allocation sizes
US9848120B2 (en) * 2015-05-08 2017-12-19 Fast Model Technology Llc System and method for preserving video clips from a handheld device
KR101758331B1 (ko) * 2015-12-22 2017-07-31 성균관대학교산학협력단 비휘발성 메모리 기반의 파일 기록 장치 및 그 방법
CN112023377B (zh) * 2020-09-14 2021-11-09 成都拟合未来科技有限公司 一种健身练习实时互动方法、系统、终端及介质

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06266587A (ja) * 1993-03-16 1994-09-22 Nec Corp フラッシュメモリのファイル管理方式
JP2001202282A (ja) * 2000-01-21 2001-07-27 Matsushita Electric Ind Co Ltd データファイリングシステム及びデータファイリング方法
JP2005108304A (ja) * 2003-09-29 2005-04-21 Toshiba Corp 半導体記憶装置及びその制御方法
JP2006164017A (ja) * 2004-12-09 2006-06-22 Sony Corp 情報処理装置、情報処理方法、プログラム
JP2008003932A (ja) * 2006-06-23 2008-01-10 Sony Corp データ記憶装置、データ記憶方法およびコンピュータプログラム
JP2008226254A (ja) * 2001-01-19 2008-09-25 Sandisk Corp 不揮発性メモリにおける部分的ブロックデータのプログラミング動作および読出し動作
JP2009134513A (ja) * 2007-11-30 2009-06-18 Panasonic Corp メモリコントローラ、不揮発性記憶モジュール、アクセスモジュール、及び不揮発性記憶システム
JP2009187184A (ja) * 2008-02-05 2009-08-20 Sony Corp 記録装置、記録装置の制御方法、記録装置の制御方法のプログラム及び記録装置の制御方法のプログラムを記録した記録媒体
JP2009199625A (ja) * 2004-06-21 2009-09-03 Toshiba Corp メモリカードおよびメモリカードの制御方法および不揮発性半導体メモリの制御方法
WO2009107393A1 (ja) * 2008-02-29 2009-09-03 パナソニック株式会社 アクセス装置、情報記録装置、コントローラ、及び情報記録システム
JP2009205591A (ja) * 2008-02-29 2009-09-10 Panasonic Corp アクセスモジュール、情報記録モジュール、及び情報記録システム
JP2009205590A (ja) * 2008-02-29 2009-09-10 Panasonic Corp アクセスモジュール、情報記録モジュール、コントローラ、及び情報記録システム
JP2009231900A (ja) * 2008-03-19 2009-10-08 Canon Inc 撮像装置
WO2009122743A1 (ja) * 2008-04-04 2009-10-08 パナソニック株式会社 アクセス装置、情報記録装置、情報記録システム、ファイル管理方法、およびプログラム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0546459A (ja) 1991-08-09 1993-02-26 Toshiba Corp メモリカード装置
EP0528280B1 (en) 1991-08-09 1997-11-12 Kabushiki Kaisha Toshiba Memory card apparatus
JP4135049B2 (ja) 1999-03-25 2008-08-20 ソニー株式会社 不揮発性メモリ
JP4009840B2 (ja) 2002-06-27 2007-11-21 ソニー株式会社 情報処理装置、情報処理方法および情報処理プログラム
WO2005043394A1 (ja) 2003-10-31 2005-05-12 Matsushita Electric Industrial Co., Ltd. 情報記録媒体、情報記録媒体に対するアクセス装置及びアクセス方法
JP4608434B2 (ja) 2003-12-03 2011-01-12 パナソニック株式会社 情報記録媒体のデータ処理装置及びデータ記録方法
JP2007012124A (ja) 2005-06-29 2007-01-18 Victor Co Of Japan Ltd 再生装置
JP4991320B2 (ja) 2007-01-12 2012-08-01 株式会社東芝 ホスト装置およびメモリシステム
US8572307B2 (en) 2007-07-20 2013-10-29 Panasonic Corporation Memory controller, memory card, and nonvolatile memory system

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06266587A (ja) * 1993-03-16 1994-09-22 Nec Corp フラッシュメモリのファイル管理方式
JP2001202282A (ja) * 2000-01-21 2001-07-27 Matsushita Electric Ind Co Ltd データファイリングシステム及びデータファイリング方法
JP2008226254A (ja) * 2001-01-19 2008-09-25 Sandisk Corp 不揮発性メモリにおける部分的ブロックデータのプログラミング動作および読出し動作
JP2005108304A (ja) * 2003-09-29 2005-04-21 Toshiba Corp 半導体記憶装置及びその制御方法
JP2009199625A (ja) * 2004-06-21 2009-09-03 Toshiba Corp メモリカードおよびメモリカードの制御方法および不揮発性半導体メモリの制御方法
JP2006164017A (ja) * 2004-12-09 2006-06-22 Sony Corp 情報処理装置、情報処理方法、プログラム
JP2008003932A (ja) * 2006-06-23 2008-01-10 Sony Corp データ記憶装置、データ記憶方法およびコンピュータプログラム
JP2009134513A (ja) * 2007-11-30 2009-06-18 Panasonic Corp メモリコントローラ、不揮発性記憶モジュール、アクセスモジュール、及び不揮発性記憶システム
JP2009187184A (ja) * 2008-02-05 2009-08-20 Sony Corp 記録装置、記録装置の制御方法、記録装置の制御方法のプログラム及び記録装置の制御方法のプログラムを記録した記録媒体
WO2009107393A1 (ja) * 2008-02-29 2009-09-03 パナソニック株式会社 アクセス装置、情報記録装置、コントローラ、及び情報記録システム
JP2009205591A (ja) * 2008-02-29 2009-09-10 Panasonic Corp アクセスモジュール、情報記録モジュール、及び情報記録システム
JP2009205590A (ja) * 2008-02-29 2009-09-10 Panasonic Corp アクセスモジュール、情報記録モジュール、コントローラ、及び情報記録システム
JP2009231900A (ja) * 2008-03-19 2009-10-08 Canon Inc 撮像装置
WO2009122743A1 (ja) * 2008-04-04 2009-10-08 パナソニック株式会社 アクセス装置、情報記録装置、情報記録システム、ファイル管理方法、およびプログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CSNG200501364009; 天海 良治: 'Linux用ログ構造化ファイルシステムnilfsの設計と実装' 情報処理学会研究報告 Vol.2005 No.48(2005-, 20050527, p.61-68, 社団法人情報処理学会 *
JPN6013051919; 天海 良治: 'Linux用ログ構造化ファイルシステムnilfsの設計と実装' 情報処理学会研究報告 Vol.2005 No.48(2005-, 20050527, p.61-68, 社団法人情報処理学会 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190061549A (ko) * 2017-11-28 2019-06-05 지인정보기술 주식회사 파일 시스템 및 상기 파일 시스템을 이용한 파일 저장 방법
KR102094786B1 (ko) 2017-11-28 2020-03-31 지인정보기술 주식회사 파일 시스템 및 상기 파일 시스템을 이용한 파일 저장 방법

Also Published As

Publication number Publication date
US20110320692A1 (en) 2011-12-29
WO2011058700A1 (ja) 2011-05-19
JPWO2011058700A1 (ja) 2013-03-28
US8977802B2 (en) 2015-03-10

Similar Documents

Publication Publication Date Title
JP5481493B2 (ja) アクセス装置、情報記録装置、コントローラ、リアルタイム情報記録システム、アクセス方法、および、プログラム
JP5485163B2 (ja) アクセスモジュール、情報記録モジュール、コントローラ、及び情報記録システム
JP5577238B2 (ja) アクセス装置、情報記録装置、コントローラ、及び情報記録システム
KR100951107B1 (ko) 최적의 성능을 위한 파일 관리 방법
JP5129156B2 (ja) アクセス装置、および、ライトワンス記録システム
JP5400875B2 (ja) メモリコントローラ、不揮発性記憶装置、アクセス装置、不揮発性記憶システム、データ書き込み方法、および、プログラム
JP5976608B2 (ja) メモリデバイス
US7647470B2 (en) Memory device and controlling method for elongating the life of nonvolatile memory
US8019800B2 (en) Access device, information recording device, information recording system, file management method, and program
JPWO2005050453A1 (ja) ファイル記録装置
JP2006277737A (ja) アドレス予測機能をもつ不揮発性記憶装置
US9778857B2 (en) Recording device, access device, recording system, and recording method
JP5362594B2 (ja) アクセス装置、及び残容量算出方法
JP4608434B2 (ja) 情報記録媒体のデータ処理装置及びデータ記録方法
WO2011121870A1 (ja) データ記録装置、及びデータ記録方法
WO2010001606A1 (ja) コントローラ、情報記録装置、アクセス装置、情報記録システム、及び情報記録方法
JP2006252137A (ja) 不揮発性記憶装置の最適化方法
JP2009205591A (ja) アクセスモジュール、情報記録モジュール、及び情報記録システム
JP2009205590A (ja) アクセスモジュール、情報記録モジュール、コントローラ、及び情報記録システム
WO2018186455A1 (ja) 不揮発性メモリにおける空き容量管理方法、及び不揮発性メモリを含む情報記録装置にデータを記録するアクセス装置、情報記録装置および情報記録システム
JP2011133947A (ja) 不揮発性記憶装置、アクセス装置、及び不揮発性記憶システム
JP2007058671A (ja) 情報処理装置および方法、プログラム、並びに記録媒体
JP2006178632A (ja) 情報処理装置、情報処理方法、プログラム
JP2008152414A (ja) ライトワンス型情報記録装置、コントローラ、アクセス装置、及びライトワンス型情報記録システム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130416

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130612

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130716

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130912

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131022

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140121

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140217

R150 Certificate of patent or registration of utility model

Ref document number: 5481493

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250