JP2010128605A - 情報記憶装置、データ記憶方法、およびプログラム - Google Patents
情報記憶装置、データ記憶方法、およびプログラム Download PDFInfo
- Publication number
- JP2010128605A JP2010128605A JP2008300039A JP2008300039A JP2010128605A JP 2010128605 A JP2010128605 A JP 2010128605A JP 2008300039 A JP2008300039 A JP 2008300039A JP 2008300039 A JP2008300039 A JP 2008300039A JP 2010128605 A JP2010128605 A JP 2010128605A
- Authority
- JP
- Japan
- Prior art keywords
- data
- storage
- information
- file
- block
- 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
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】連続録音中や録音終了中に電源の瞬断等により正常に終了処理ができなかった場合でも、ファイル修復が可能な情報記憶装置、データ記憶方法、およびプログラムを提供する。
【解決手段】音声データを所定の記憶サイズのブロックに記憶するデータ領域と、音声データを記憶するブロックの連鎖を記憶するFATと、音声データをファイルとして記憶するためのエントリーを有するメモリを有し、音声データのサイズが制限サイズより大きいと判定された場合には(#13、#15)、制限サイズ内にファイルを分割し(#19〜#29)、制限サイズに収まるファイルが全て生成された後に、終了情報を記憶エリアに記憶する(#31参照)。
【選択図】図2
【解決手段】音声データを所定の記憶サイズのブロックに記憶するデータ領域と、音声データを記憶するブロックの連鎖を記憶するFATと、音声データをファイルとして記憶するためのエントリーを有するメモリを有し、音声データのサイズが制限サイズより大きいと判定された場合には(#13、#15)、制限サイズ内にファイルを分割し(#19〜#29)、制限サイズに収まるファイルが全て生成された後に、終了情報を記憶エリアに記憶する(#31参照)。
【選択図】図2
Description
本発明は、情報記憶装置、データ記憶方法、およびプログラムに関し、詳しくは、記憶媒体にWAVEファイル等をFAT形式でフォーマットされた記憶媒体に記憶する情報記憶装置、データ記憶方法、およびプログラムに関する。
近年、音声データをWAVE形式等のファイルフォーマットで録音することが一般的に行われている。しかし、WAVE形式の1ファイルは2GBの制限があるために、ビットレートによっては実質的に1ファイルで約1時間程度しか録音することができない。そこで、この制限の下で、より長時間の録音を行うための提案がなされている。
例えば、2GBを超えたら、ファイルを一旦閉じ、擬似的に再度、録音釦が操作されたと同じ状況を作り、録音を繰り返す方法が提案されている。この方法では、ファイルを閉じ、再び開くまでの間、音声データが失われるため、ギャップが発生してしまうという不具合がある。また、別の方法として、ファイルを閉じてから開くまでの間、音声データをバッファリングしておき、ファイルを開いた際に、バッファリングした音声データを書き込むようにした方法も提案されている。この方法では、ギャップの不具合を解消することができるが、しかし、バッファリングするためのメモリ(RAM)が必要となり、メモリ増設の必要がある。また、バッファリングデータから音声データを書き込むための制御が必要となり、実装が増え、全体として複雑化してしまう。
また、別の方法として、2GBを超えても録音を続行し、停止されるまで音声データを書き込み続け、録音の停止時に、音声データを分割し、ファイルとして仕上げる方法がある(特許文献1参照)。この方法では、追加のメモリが必要とならず、また、ギャップも発生することがない。
特開2001−228895号公報
上述の特許文献1に記載の方法では、前述したような不具合を解消することができる。しかし、連続録音中や録音終了中に電源瞬断等により、正常に終了処理ができなった場合には、データを回復することができないという不具合がある。
本発明は、このような事情を鑑みてなされたものであり、連続録音中や録音終了中に電源の瞬断等により正常に終了処理ができなかった場合でも、ファイル修復が可能な情報記憶装置、データ記憶方法、およびプログラムを提供することを目的とする。
前記目的を達成するため第1の発明に係わる情報記憶装置は、任意のサイズのデータを所定の記憶サイズの1以上のブロックに記憶する第1の記憶エリアと、前記データを記憶するブロックの連鎖を記憶する第2の記憶エリアと、前記データをファイルとして記憶するための情報を記憶する第3の記憶エリアを有する記憶媒体にデータを記憶する情報記憶装置であって、前記データを入力するデータ入力手段と、使用者の操作により、前記データ入力手段で入力したデータを前記記憶媒体に記憶することを開始するデータ記憶開始手段と、前記データ記憶開始手段により、前記入力したデータの記憶が開始されると、少なくとも新しい第1のファイル名及びその第1のファイル名で特定されるデータを記憶する最初のブロックを指定する第1の開始ブロック情報を第3の記憶エリアに記憶するファイルエントリー手段と、前記データ入力手段により前記データの入力が進むに従って、順次前記第1の記憶エリア中の未使用のブロックにデータを書き込むと共に、そのデータが書き込まれたブロックの連鎖を表す連鎖情報を前記第2の記憶エリアに記憶するデータ記憶手段と、使用者の操作により前記データの記録を終了した場合、最後にデータが書き込まれたブロックから連鎖するブロックが無いことを示す終了情報を、前記第2の記憶エリアに記憶するデータ記憶終了手段と、前記第1のファイル名で特定されるデータのサイズが、1つのファイルに許された第2の所定サイズに収まるか否かを判定するデータサイズ判定手段と、前記データサイズ判定手段で、前記第1のファイル名で特定されるデータのサイズが、前記第2の所定サイズを超えると判断された場合、新たな第2のファイル名を生成して第3の記憶エリアに記憶すると共に、その第2のファイル名で特定されるデータを記憶した最初のブロックを、前記第1のファイル名で特定されるデータのブロック連鎖中のブロックから指定し、その指定された第2の開始ブロック情報を前記第3の記憶エリアに記憶して前記第2の所定サイズに収まる第1のファイルを生成するファイル生成手段と、前記データサイズ判定手段によって、前記データサイズが前記第2の所定サイズに収まらないと判定された場合、前記ファイル生成手段によって、前記第2の所定サイズに収まる前記第1のファイルが全て生成された後に、前記ファイル生成手段によって生成された前記第1のファイルの全てについて、前記連鎖情報より、前記第2の開始ブロックへ連鎖するブロックを特定し、その特定されたブロックから連鎖するブロックが無いことを示す終了情報を前記第2の記憶エリアに記憶する記憶データ縮小手段と、を有する。
第2の発明に係わる情報記憶装置は、前記第1の発明において、前記記憶データ縮小手段は、前記第1のファイル名で特定されるデータのブロック連鎖の最後のブロックから最初のブロックに向かって、前記特定されたブロックに対応する前記終了情報を前記第2の記憶エリアに記憶する。
第3の発明に係わる情報記憶装置は、前記第2の発明において、前記入力手段は、マイクロフォンであって、前記データは音声データであり、前記情報記憶装置は音声レコーダである。
第4の発明に係わる情報記憶装置は、前記第3の発明において、前記記憶媒体のフォーマットはFATフォーマットであり、前記第1の記憶エリアはデータ領域に対応し、前記第2の記憶エリアはFAT領域に対応し、前記第3の記憶エリアはルートディレクトリエントリー領域に対応する。
第3の発明に係わる情報記憶装置は、前記第2の発明において、前記入力手段は、マイクロフォンであって、前記データは音声データであり、前記情報記憶装置は音声レコーダである。
第4の発明に係わる情報記憶装置は、前記第3の発明において、前記記憶媒体のフォーマットはFATフォーマットであり、前記第1の記憶エリアはデータ領域に対応し、前記第2の記憶エリアはFAT領域に対応し、前記第3の記憶エリアはルートディレクトリエントリー領域に対応する。
第5の発明に係わるデータ記憶方法は、情報装置において、任意のサイズのデータを所定の記憶サイズの1以上のブロックに記憶する第1の記憶エリアと、前記データを記憶するブロックの連鎖を記憶する第2の記憶エリアと、前記データをファイルとして記憶するための情報を記憶する第3の記憶エリアを有する記憶媒体にデータを記憶するデータ記憶方法であって、使用者の操作により、当該情報記憶装置に入力されたデータを前記記憶媒体に記憶することを開始するデータ記憶開始工程と、前記入力したデータの記憶が開始されると、少なくとも第1のファイル名を生成し、前記第1のファイル名及びデータを記憶する最初のブロックを特定する第1の開始ブロック情報を前記第3の記憶エリアに記憶するファイルエントリー記憶工程と、前記データの入力が進むに従って、順次前記第1の記憶エリア中の未使用のブロックにデータを書き込むと共に、そのデータが書き込まれたブロックの連鎖を表す連鎖情報を前記第2の記憶エリアに記憶するデータ記憶工程と、使用者の操作により前記データの記録を終了した場合、最後にデータが書き込まれたブロックから連鎖するブロックが無いことを示す終了情報を、前記第2の記憶エリアに記憶するデータ記憶終了工程と、前記第1のファイル名で特定されるデータのサイズが、1つのファイルに許された第2の所定サイズに収まるか否かを判定するデータサイズ判定工程と、前記データサイズ判定工程で、前記第1のファイル名で特定されるデータのサイズが、前記第2の所定サイズを超えると判断された場合には、新たな第2のファイル名を生成して第3の記憶エリアに記憶すると共に、その第2のファイル名で特定されるデータを記憶した最初ブロックを、前記第1のファイル名で特定されるデータのブロック連鎖中のブロックから指定し、その指定された第2の開始ブロック情報を前記第3の記憶エリアに記憶して前記第2の所定サイズに収まる第1のファイルを生成するファイル生成工程と、前記データサイズ判定工程によって、前記データサイズが前記第2の所定サイズに収まらないと判定された場合、前記ファイル生成工程によって、前記第2の所定サイズに収まる前記第1のファイルが全て生成された後に、前記ファイル生成工程において生成された前記第1のファイルの全てについて、前記連鎖情報より、前記第2の開始ブロックへ連鎖するブロックを特定し、その特定されたブロックから連鎖するブロックが無いことを示す終了情報を前記第2の記憶エリアに記憶する記憶データ縮小工程と、を有する。
第6の発明に係わるデータ記憶方法は、前記第5の発明において、前記データ縮小工程は、前記第1のファイル名で特定されるデータのブロック連鎖の最後のブロックから最初のブロックに向かって、前記特定されたブロックに対応する前記終了情報を前記第2のエリアに記憶する。
第7の発明に係わるデータ記憶方法は、前記第6の発明において、前記データは音声データであり、前記情報記憶装置は音声レコーダである。
第8の発明に係わるデータ記憶方法は、前記第7の発明において、前記記憶媒体のフォーマットはFATフォーマットであり、前記第1の記憶エリアはデータ記憶領域に対応し、前記第2の記憶エリアはFAT領域に対応し、前記第3の記憶エリアはルートディレクトリエントリー領域に対応する。
第7の発明に係わるデータ記憶方法は、前記第6の発明において、前記データは音声データであり、前記情報記憶装置は音声レコーダである。
第8の発明に係わるデータ記憶方法は、前記第7の発明において、前記記憶媒体のフォーマットはFATフォーマットであり、前記第1の記憶エリアはデータ記憶領域に対応し、前記第2の記憶エリアはFAT領域に対応し、前記第3の記憶エリアはルートディレクトリエントリー領域に対応する。
第9の発明に係わるプログラムは、情報装置において、任意のサイズのデータを所定の記憶サイズの1以上のブロックに記憶する第1の記憶エリアと、前記データを記憶するブロックの連鎖を記憶する第2の記憶エリアと、前記データをファイルとして記憶するための情報を記憶する第3の記憶エリアを有する記憶媒体にデータの記憶を実行させるプログラムであって、使用者の操作により、当該情報記憶装置に入力されたデータを前記記憶媒体に記憶することを開始するデータ記憶開始工程と、前記入力したデータの記憶が開始されると、少なくとも第1のファイル名を生成し、前記第1のファイル名及びデータを記憶する最初のブロックを特定する第1の開始ブロック情報を前記第3の記憶エリアに記憶するファイルエントリー記憶工程と、前記データの入力が進むに従って、順次前記第1の記憶エリア中の未使用のブロックにデータを書き込むと共に、そのデータが書き込まれたブロックの連鎖を表す連鎖情報を前記第2の記憶エリアに記憶するデータ記憶工程と、使用者の操作により前記データの記録を終了した場合、最後にデータが書き込まれたブロックから連鎖するブロックが無いことを示す終了情報を、前記第2の記憶エリアに記憶するデータ記憶終了工程と、前記第1のファイル名で特定されるデータのサイズが、1つのファイルに許された第2の所定サイズに収まるか否かを判定するデータサイズ判定工程と、前記データサイズ判定工程で、前記第1のファイル名で特定されるデータのサイズが、前記第2の所定サイズを超えると判断された場合には、新たな第2のファイル名を生成して第3の記憶エリアに記憶すると共に、その第2のファイル名で特定されるデータを記憶した最初ブロックを、前記第1のファイル名で特定されるデータのブロック連鎖中のブロックから指定し、その指定された第2の開始ブロック情報を前記第3の記憶エリアに記憶して前記第2の所定サイズに収まる第1のファイルを生成するファイル生成工程と、前記データサイズ判定工程によって、前記データサイズが前記第2の所定サイズに収まらないと判定された場合、前記ファイル生成工程によって、前記第2の所定サイズに収まる前記第1のファイルが全て生成された後に、前記ファイル生成工程において生成された前記第1のファイルの全てについて、前記連鎖情報より、前記第2の開始ブロックへ連鎖するブロックを特定し、その特定されたブロックから連鎖するブロックが無いことを示す終了情報を前記第2の記憶エリアに記憶する記憶データ縮小工程と、を有する。
第10の発明に係わるプログラムは、前記第9の発明において、前記記憶データ縮小工程は、前記第1のファイル名で特定されるデータのブロック連鎖の最後のブロックから最初のブロックに向かって、前記特定されたブロックに対応する前記終了情報を前記第2の記憶エリアに記憶する。
第11の発明に係わるプログラムは、前記第10の発明において、前記データは音声データであり、前記情報記憶装置は音声レコーダである。
第12の発明に係わるプログラムは、前記第11の発明において、前記記憶媒体のフォーマットはFATフォーマットであり、前記第1の記憶エリアはデータ記憶領域に対応し、前記第2の記憶エリアはFAT領域に対応し、前記第3の記憶エリアはルートディレクトリエントリー領域に対応する。
第11の発明に係わるプログラムは、前記第10の発明において、前記データは音声データであり、前記情報記憶装置は音声レコーダである。
第12の発明に係わるプログラムは、前記第11の発明において、前記記憶媒体のフォーマットはFATフォーマットであり、前記第1の記憶エリアはデータ記憶領域に対応し、前記第2の記憶エリアはFAT領域に対応し、前記第3の記憶エリアはルートディレクトリエントリー領域に対応する。
第13の発明に係わる情報記憶装置は、データを入力するデータ入力手段と、前記データを記憶可能な第1の記憶エリアと、前記データを記憶するブロックの連鎖を記憶する第2の記憶エリアを有する記憶媒体と、前記データを前記入力手段によって連続的に記録する際には、制限サイズを超えても、前記記憶媒体中の前記第1の記憶エリアに前記データを記録するデータ記録手段と、前記データ記録手段による前記データの終了後に、前記データが制限サイズを超えているか否かを判定するサイズ判定手段と、前記サイズ判定手段によって前記制限サイズを超えていることが判定された場合には、前記第1の記憶エリアに記録された前記データを、前記制限サイズを超えない範囲内に前記データを分割してファイルを生成するファイル生成手段と、前記ファイル生成手段によって全てのファイルの生成を完了後に、終了情報を前記第2の記憶エリアに記憶するデータ終了情報記録手段と、を有する。
第14の発明に係わる情報記憶装置は、前記第13の発明において、前記データの記録の開始にあたって、リカバリー情報を記憶するリカバリー情報記憶手段と、前記リカバリー情報に基づいて、データの復元を実行するリカバリー手段と、を有し、前記リカバリー情報は前記データの記憶されている先頭位置に関連する情報を含み、前記リカバリー手段は、前記先頭位置に関連する情報と、前記ブロックの連鎖に関する情報に基づいて、前記データを読み出す。
第15の発明に係わる情報記憶装置は、前記第14の発明において、前記リカバリー手段は、前記終了情報を前記第2の記憶エリアに記憶するにあたって、前記連鎖の後ろの位置から順次、前記終了情報を書き込む。
第15の発明に係わる情報記憶装置は、前記第14の発明において、前記リカバリー手段は、前記終了情報を前記第2の記憶エリアに記憶するにあたって、前記連鎖の後ろの位置から順次、前記終了情報を書き込む。
本発明によれば、連続録音中や録音終了中に電源の瞬断等により正常に終了処理ができなかった場合でも、ファイル修復が可能な情報記憶装置、データ記憶方法、およびプログラムを提供することができる。
以下、図面に従って本発明を適用したICレコーダを用いて好ましい一実施形態について説明する。図1は、本発明の一実施形態に係わるICレコーダの電気回路の要部を示すブロック図である。CPU1は中央制御装置であり、プログラムメモリ19に記憶されているプログラムに従って、ICレコーダ全体の制御を行う。操作部17は、録音開始釦、録音停止釦、再生釦等の種々の操作部材から構成され、操作状態はCPU1に送信される。
マイクロフォン11は、音声をアナログ信号に変換する。増幅器13は、マイクロフォン11に接続され、音声アナログ信号の増幅を行う。AD変換器15は、増幅器13に接続され、増幅された音声アナログ信号をデジタルデータに変換する。AD変換器15は前述のCPU1に接続されており、CPU1は記録用の音声データに変換する。メモリ9はフラッシュメモリ等の電気的に書き換え可能な不揮発性メモリであり、CPU1に接続されており、CPU1によって変換された音声データを記録する。
DA変換器7は、CPU1に接続され、メモリ9に記憶された音声データを再生する際に、音声デジタルデータをアナログ音声信号に変換する。増幅器5は、DA変換器7に接続され、DA変換器7によってアナログ信号に変換されたアナログ音声信号を増幅する。スピーカ3は、増幅器5に接続され、増幅されたアナログ音声信号に基づいて音声に変換する。表示部21は、CPU1に接続され、ICレコーダの状態や、記録されている音声情報の表示を行う。
次に、本実施形態における録音について、図2乃至図8を用いて説明する。図3に音声データを含むメモリ9のメモリマップ(記憶領域)を示す。メモリ9のメモリ領域には、図3(a)に示すように、大きく分けてシステム領域とデータ領域がある。システム領域はメモリ9の制御を行うために必要なデータを記憶する領域であり、データ領域は音声データおよびこれに付随する制御用のデータを記憶する領域である。
システム領域は、ブートセクタ101、FAT1 102、FAT2 103、およびフォルダAのエントリー104a、フォルダBのエントリー104b、・・・を含むディレクトリエントリーから構成される。ブートセクタ101には、ブートに必要な情報が記憶されている。FAT1 102は、FAT(ファイル・アロケーション・テーブル File Allocation Table)の格納領域であり、メモリ9内のファイルの位置情報を連鎖的に記憶する。FAT2 103は、FAT1のコピーである。ディレクトリエントリーに、フォルダAのエントリー104a、フォルダBのエントリー104b、・・・が記憶されている。これらは、ルートディレクトリー内の格納領域である。
データ領域内には、フォルダA内のエントリー格納領域105、フォルダB内のエントリー格納領域106、・・・が設けてあり、フォルダA内のエントリー格納領域内には、リカバリー情報のエントリーの記憶領域105aが設けられている。また、データ領域内には、リカバリー情報の実データを記憶する領域107が設けられている。さらに、データ領域内には、ヘッダ109および音声データ110から構成される音声ファイル108を記憶する領域が設けられている。この音声ファイルを記憶する領域は多数、設けられている。
次に、録音動作を図2に示すフローチャートを用いて説明する。操作部17の内の録音開始釦が操作されると、このフローの実行を開始する。録音を開始すると、まず、リカバリー情報の書き込みを行う(#1)。リカバリー情報は、録音中の電源遮断等により、録音動作等を中断された後、電源が回復した際に、ファイルを回復するために使用する情報であり、図3に示したエリア105a、107に書き込まれる。このリカバリー情報については、図8等を用いて後述する。
リカバリー情報の書き込みを行うと、次に、エントリー登録およびヘッダの書き込みを行う(#3)。エントリーは、図3(a)に示したように、例えば、フォルダA内のエントリー格納領域105内の105bに書き込まれる。このエントリーは、エントリー格納領域ディレクトリ内のファイルの情報を示し、基本的には32バイトで表わされ、図4に示すような情報が記録される。すなわち、図4中のAには、ファイル名が8バイトで記録され、Bには、拡張子が3バイトで記録され、例えば、WAVE形式であれば、拡張子WAVが記録される。Cには、例えば、ディレクトリや隠しファイル等のファイル属性が1バイトで記録される。
また、図4中のDには、1バイトで予約情報が記録され、Eには、10msec単位の作成時刻が1バイトで記録され、Fには時分秒単位の作成時刻が2バイトで記録される。Gには、作成日付が2バイトで記録され、Hにはアクセス日付が2バイトで記録される。Iには、音声データの記録されているアドレスの先頭を表す開始クラスタ番号の上位が2バイトで記録され、Lには開始クラスタ番号の下位が2バイトで記録される。Jには、更新時刻が2バイトで記録され、Kには更新日付が2バイトで記録される。また、Mには音声データのファイルサイズが4バイトで記録される。
ファイルのエントリーとして、IとLの位置に、前述したように、「開始クラスタ番号」が記録されている。この開始クラスタ番号は、音声データが実際に格納されているメモリの位置を示しており、この開始クラスタ番号を参照することにより、音声データの読み出しを行うことができる。すなわち、エントリーを指定すれば、この指定されたエントリーに記録されている開始クラスタ番号に基づいて音声データの読み出しを行うことができる。
本実施形態においては、録音開始時にステップ#1において、リカバリー情報を書き込んでおり、その中に、フォルダ番号やエントリー番号が含まれている。このため、リカバリー時には、このリカバリー情報に含まれているエントリー番号に基づいてエントリーを読み出し、その中に記憶されている開始クラスタ番号により、実際の音声データを読み出し、データを回復することが可能となる。
ステップ#3において、エントリー登録を行うと共に、2セクタ分のヘッダの書き込みを行う。本実施形態においては、WAVEファイルの形式はリニアPCMである。サンプルデータが単純に無圧縮で並んでいるだけであるが、ヘッダにサンプルデータがどのようなものかを記録する。ヘッダ109は、図3(b)に示すように、音声データ110を含むファイルの冒頭部分に2セクタ分の領域を用いて記録される。また、WAVE形式におけるヘッダ109の最小の単位を図5に示す。ヘッダ109があれば、最低限WAVEファイルとして成り立つ。ここで、オフセット0〜43がヘッダの領域であり、オフセット44以降は、音声データの記録領域である。
また、オフセットの「4」の位置には、RIFFチャンクのデータサイズが格納される。これは、4バイト(32ビット)で表わされるサイズであり、バイト単位でサイズが書き込まれ、32ビットであることから最大サイズは4GBとなる。ただし、WAVEファイルでは最上位のビットは符号ビットとして扱うことから、実質的には最大サイズは2GBに制限される。なお、録音容量がこの制限容量(2GB)に達すると、録音停止するようにした場合には、ビットレートによっては、約1時間程度しか録音できない。
ステップ#3において、エントリー登録と、ヘッダの書き込みを行うと、次に、音声データの書き込み処理を行う(#5)。このステップでは、マイクロフォン11から入力し、増幅器13、AD変換器15によって処理された音声データが、逐次、メモリ9に記録される。続いて、書き込まれた音声データのサイズが分割サイズ(2GB)を超えたか否かの判定を行う(#7)。ここでは、既に記録された音声データのセクタ数をカウントすることにより判定する。
ステップ#7における判定の結果、分割サイズを超えていた場合には、表示の更新を行う(#9)。分割サイズを超えた場合には、後述するように録音停止時、またはメモリ9がフルになった時にファイルを分割サイズである2GB以下で分割する。しかし、このステップ#9では、ファイルの分割処理を行うことなく、音声データの書き込み処理を続行状態とし、表示部21に表示する情報、例えば、ファイル名、ファイルの数、経過時間等について更新を行う。
ステップ#9における表示の更新を行うと、またはステップ#7における判定の結果、分割サイズを超えていなかった場合には、次に、録音停止、またはメモリ9がフルか否かの判定を行う(#11)。すなわち、このステップでは、操作部17内の録音停止釦が操作されたか、またはメモリ9の記憶容量が一杯になったか否かの判定を行う。この判定の結果、録音停止でも、メモリフルでもなかった場合には、ステップ#5に戻り、音声データの書き込み等を続行する。なお、音声データの記憶にあたっては、順次未使用のエリアにデータを書き込むと共に、FAT1 102、FAT2 103に連鎖を表す連鎖情報を書き込む。
ステップ#11における判定の結果、録音停止またはメモリフルであった場合には、次に、現サイズで何ファイル作成されるかを計算する(#13)。録音停止時、またはメモリフル時において、今回の録音で作成された音声データのバイト数、セクタ数、またはクラスタ数に基づいて、分割サイズ以内とするためのファイル数を、このステップで計算する。
次に、ファイル数の計算結果に基づいて、ファイル数が2ファイル以上か否かの判定を行う(#15)。この判定の結果、ファイル数が1であった場合には、1ファイル目のヘッダとエントリーを更新してファイルを閉じる(#17)。すなわち、録音中に作成されたデータの容量が制限容量である2GBを超えていないことから、ファイルを分割する必要がなく、ヘッダとエントリーを更新してファイルを閉じる。
続いて、リカバリー情報の消去を行う(#33)。ステップ#1において、リカバリー情報の書き込みを行ったが、ファイルを閉じるまでの間に電源遮断等により処理が中断することなく、正常に終了したことから、異常終了時のためのリカバリー情報を消去している。リカバリー情報を消去すると、録音のための処理を終了する。
一方、ステップ#15における判定の結果、計算されたファイルの数が2ファイル以上であった場合には、分割するクラスタ番号とその連鎖先クラスタ番号を取得する(#19)。前述したように、本実施形態においては、音声データの録音中に、記憶容量が制限サイズ(2GB)を超えた場合であっても、そのまま音声データの録音を続け、ファイルを分割していない。録音が終了した後、このステップにおいて、ファイル分割を行うが、記録単位が16ビットと24ビットの特性を考慮した位置で分割しないと、記録したサンプルが壊れてしまうおそれがある。そこで、2GBより小さい都合のよいところで分割する。
図3(c)に示すように分割位置121を、クラスタ内の2セクタの位置とする。この場合には、次ファイルのヘッダを新クラスタに書き込んだ際に、残りの音声データをそのままコピーして、クラスタの連鎖をつなげば、音声データのギャップなくファイルを作成することができる。もし、これ以外の位置で分割する場合には、以降のデータ全てについてコピー操作が必要なり、処理が煩雑となる。
次に、分割できるクラスタについて調べる。16ビットの場合、サンプルデータがセクタをまたがることがないため、どのクラスタであっても問題がない。しかし、24ビットの場合、セクタやクラスタをまたがることがあり得る。1セクタ/クラスタという場合を考慮しなければ、3クラスタ毎でもよいが、一般的には6クラスタ毎に分割可能なクラスタがある。このことを踏まえると、2GB以下のクラスタ数を図6に示す。図6によると、例えば、1クラスタが32セクタで構成され、1セクタが512バイトで構成される場合には、131070クラスタ毎に分割位置を決める。分割するクラスタ番号が決まると、その連鎖先のクラスタ番号も取得する。
続いて、1ファイル目のヘッダとエントリーを更新してファイルを閉じる(#21)。すなわち、図5に示したヘッダのデータと、図4に示したデータサイズ等のエントリーのデータを1ファイル目の内容に合わせて更新する。このとき、連鎖先を示すFATについては、書き換えを行わない。
ファイルを閉じると、次に、新ファイルを開いてヘッダを作成する(#23)。このステップにおいては、1ファイル目が終了している場合には、2ファイル目を開き、2ファイル目が終了している場合には、3ファイル目と順次、ファイル番号を繰り上げて、ヘッダを作成する。続いて、ヘッダを書いたクラスタに、分割したクラスタの残りデータをコピーする(#25)。ここでは、図3(c)に示すように、ヘッダ109aを書いたクラスタに、残りのデータをコピーする。コピーを行うと、次に、新ファイルのヘッダとエントリーを更新して、ファイルを閉じる(#27)。なお、ステップ#21においても説明したが、連鎖先を示すFATについては、書き換えを行わない。
次に、作成予定数のファイルを作ったか否かを判定する(#29)。ここでは、ステップ#21〜#27において、生成したファイル数が、ステップ#13において計算したファイル数に達したかを判定する。この判定の結果、作成予定数に達していなかった場合には、ステップ#23に戻り、前述の処理を行う。
一方、ステップ#29における判定の結果、作成予定数のファイルを生成した場合には、FATのクラスタ連鎖を分割クラスタ位置で終わらせる(#31)。このステップでは、FATにおいて、分割した各ファイルの終了位置に終了を示す印(本実施形態の例では、FAT16なので、0xFFFF)を書き込む。このとき、終了位置を示す印は、後ろから順次作成していく。これは、ステップ#15〜ステップ#29において、ファイルの分割処理を行うが、この分割処理を行っている際に、電源遮断等により処理を異常終了した場合であっても、リカバリー処理によって、分割処理を回復することができるようにするためである。リカバリー処理については、図7等を用いて後述する。
ステップ#31におけるFATのクラスタ連鎖を分割クラスタ位置で終わらせると、リカバリー情報を消去し(#33)、録音動作を終了する。
次に、リカバリー処理について、図7及び図8を用いて説明する。前述したように、通常の録音開始時にはリカバリー情報を固定位置(図3の例では、エリア105a、107)に書き込んであり(ステップ#1参照)、正常に処理が終了した場合には、リカバリー情報は消去される(ステップ#33参照)。ここで、リカバリー情報の消去とは、ファイルそのものを消すのではなく、書き込まれた内容のみを消去する。録音中の電源遮断等により、正常に終了処理が行われなかった場合には、リカバリー情報が残されているので、このリカバリー情報を用いて、次回の起動時にリカバリー処理を行う。このリカバリー処理により、FATの連鎖が続くまでのファイルの復活が可能となる。
本実施形態におけるリカバリー情報を図8に示す。リカバリー情報としては、リカバリーフラグを示すflag、フォルダ番号を示すfolder_no、リカバリー対象ファイルのエントリー番号を示すentry_noがある。また、今回、リカバリー情報として、次の3つを追加している。すなわち、機種名を示すid、作成ファイル番号を示すnumber、および拡張子情報を示すextである。
このように新たにリカバリー情報として3つのメンバーを追加したのは、エントリーを検索するためである。処理が遮断されたタイミングによっては、エントリーは登録されたが、FATの連鎖はまだ切られておらず、ファイルとして完成していない状態が起こり得る。そこで、リカバリー処理の際に、エントリーを消去して、再度、エントリーを作成し直す。エントリーを消去するにあたって、処理が遮断されたときのファイル名が不明であると、このファイル(エントリー)を検索することができない。そこで、録音開始時に作成予定のファイル名を取得しておけばよい。本実施形態においては、ファイル名をそのままリカバリー情報として保持する代わりに、リカバリー処理内でヘッダを生成する際に、idとnumberが必要となることから、これらの情報をリカバリー情報として書き込むことにした。リカバリー処理内において、これらの情報からファイル名を作成して検索することにした。
次に、図7に示すフローチャートを用いてリカバリー処理のフローについて説明する。このフローに入ると、まず、リカバリー情報があるか否かの判定を行う(#41)。前述したように、電源瞬断等による異常終了の場合には、リカバリー情報が消去されずに残されていることから、このステップでは、リカバリー情報の在否を判定する。この判定の結果、リカバリー情報がなかった場合には、リカバリー処理を実行する必要がないことから、そのままリカバリー処理を終了する。
一方、ステップ#41における判定の結果、リカバリー情報が有った場合には、次に、リカバリー情報を読み出し、エントリーNoよりエントリーを読み出す(#43)。読み出されたリカバリー情報の中には、リカバリー対象ファイルのエントリー番号を表すentry_noが格納されており、これからエントリーを読み出すことができる。
続いて、開始クラスタ番号を取得し、FAT連鎖を追えるだけ追う(#45)。ステップ#43において読み出したエントリーには、図4を用いて説明したように、IとLの位置に開始クラスタ番号が格納されていることから、この開始クラスタ番号を読み出し、この開始クラスタ番号からデータの読み出しを行う。FATには、ファイルの位置情報が連鎖的に格納されていることから、このファイルの位置情報を用いて、最終位置(本実施形態においては0xFFFF)までファイルを追跡する。
ファイルを最終位置まで追跡すると、次に、ファイルサイズを取得し、何ファイル作成されるかを計算する(#47)。前のステップで、ファイルを最終位置まで追跡したので、この間にあるクラスタ数からファイルサイズを取得する。ファイルサイズが求めると、分割サイズ(2GB)を基に、作成されるファイル数を計算する。
ファイル数を求めると、次に、そのファイル数が2ファイル以上か否かの判定を行う(#49)。この判定の結果、2ファイル以上ない場合、すなわち、1ファイルしかない場合には、1ファイル用リカバリー処理を行う(#51)。ここでは、ファイルの分割が必要ないことから、通常のリカバリー処理を行う。
一方、ステップ#49における判定の結果が、2ファイル以上であった場合には、次に、リカバリー情報よりファイル名を作成し、同名ファイルがエントリーにあるかを検索する(#53)。前述したように、リカバリー情報には、id、number、およびextが格納されていることより、これらからファイル名を作成することができる。すなわち、ファイル名は、idの頭4文字と、numberの下4桁を合わせて8文字とし、これに拡張子情報3文字を合わせて作成する。ファイル名を作成すると、エントリーに同名のファイルが記憶されているか否か検索する。
続いて、検索結果、同名ファイルをエントリーの中に発見したか否かの判定を行う(#55)。この判定の結果、同名ファイルを発見した場合には(1ファイル目を除く)、エントリーを消去し、FATを未使用にする(#57)。このステップでは、録音動作中に、電源瞬断等により異常終了したことから、ファイルを復元するために、復元対象のファイルのエントリーを消去し、また、FATにおいて、未使用のクラスタを示す印(本実施形態の例はFAT16なので、0x0000)を書き込む。
ステップ#57においてエントリー消去とFAT未使用を行うと、またはステップ#55における判定の結果、同名ファイルをエントリー中に発見できなかった場合には、次に、作成数分の検索が終わったか否かの判定を行う(#59)。すなわち、ステップ#47において、ファイル数を計算しているので、このファイル数分、検索を行ったかを判定する。この判定の結果、検索が終わっていなかった場合には、ステップ#53に戻り、前述の動作を行い、ファイル数分、処理を繰り返す。
一方、ステップ#59における判定の結果、作成数分の検索が終わった場合には、次に、エントリーやヘッダを作成する(#65)。ここでは、図2のフローのステップ#17、もしくは#19〜#31と基本的に同様な処理を行い、エントリーやヘッダを作成する。すなわち、前述したように、分割サイズを超えない範囲で、ファイルを分割し、ファイルを分割するたびにヘッダとエントリーを作成しファイルを作成する。ただし、連鎖先を格納するFATは予定のファイル作成が終わった後に、最後にまとめて作成する。このとき、分割位置を示すクラスタ位置は、後ろから順次作成していく。
エントリーやヘッダの作成が終わると、リカバリー情報を消去する(#67)。すなわち、リカバリー処理がすべて終了し、リカバリー情報が必要なくなったことから、リカバリー情報を消去する。リカバリー情報が残っていると、次回、電源が入った際に、再び、同じリカバリー処理を行ってしまうので、このステップで消去しておく。リカバリー情報を消去すると、リカバリーを終了する。
次に、FATファイルシステムについて図9および図10を用いて説明する。図9は従来のFATシステムを示す。FATファイルのそれぞれの各列T1〜T3の左側の数字は、クラスタ番号を表し、そのクラスタ番号の右側の箱の中の数字は、続きのデータが格納されているクラスタ番号が格納されている。なお、図9および図10において記載されている数字は、説明のための仮の値であり、実際には表記通りではない。図9の例では、0x0010には、0x0011が格納されている。すなわち、0x0010番のクラスタ内のデータは0x0011番のクラスタ内のデータに続くことを示している。
このように、箱の中に格納されているクラスタ番号を追いかけていくことにより、データの格納されている位置を追跡することができる。この追跡を続けていくと、最終的に0xFFFFという値が格納されている(一番下の箱であり、0x0C12の位置)。0xFFFFは、このクラスタが最終であることを示している。このように、クラスタの連鎖を追いかけていくことにより、全データを読み出すことができる。本実施形態においては、制限容量以上のファイルの場合には、録音終了時に1つのファイルを分割し、例えば、2つのファイルにしている。したがって、ファイル中のクラスタの連鎖を途中で切るために、0xFFFFを書き込めば良い。
従来例におけるFATシステムのファイル分割は、図9に示すように、例えば、0x0010番に1ファイル目のヘッダが格納されているとすると、タイミングT2において、0x0411番に連鎖終わりを示す0xFFFFが書き込まれる。その後、0x0C13番に新たにヘッダを書き込み、この連鎖先を0x0412番とすることで、2ファイル目を作成している。
さらに、タイミングT3において、3ファイル目を作成している。ここで問題となるのは、タイミングT2において、電源が瞬断等により、処理が異常終了してしまった場合である。つまり、このT2の段階で停止してしまうと、録音開始時に記録したリカバリー情報では、0x0010番からデータの読み出しを開始すると、0x0411番まで追うと、連鎖終了となってしまい、残りのデータを追うことができなくなる。
そこで、本実施形態においては、このような不具合を解消している。図10は本実施形態におけるFATシステムにおけるファイル分割の様子を示す。タイミングT11は、図9におけるタイミングT1と同じである。タイミングT12においては、0x0C13に連鎖先のクラスタ番号である0x0412を格納するが、0x0411番に連鎖終わりを示す0xFFFFを書き込んではいない。また、タイミングT13においても、0x0C14に連鎖先のクラスタ番号である0x0812を格納するが、0x0811番に連鎖終わりを示す0xFFFFを書き込んではいない。
タイミングT14になると、0x0811番に連鎖終わりを示す0xFFFFを書き込み、クラスタ連鎖を切っている。この段階で、初めて3つ目のファイルが完成する。次に、タイミングT15において、0x0411番でクラスタ連鎖を切り、この段階で、すべてのファイルが完成する。もし、仮に、タイミングT13の段階で処理が異常終了により停止してしまっても、タイミングT13の段階では、連鎖終わりを示す0xFFFFは0x0C12に書き込まれているだけであるので、リカバリー情報を頼りに、0x0010〜0x0C12までのデータを読み出すことができる。データ読み出しができれば、再度、ファイルの分割処理を行うことにより、ファイルの復活が可能である。
なお、リカバリー処理にあたっては、0x0C13番および0x0C14番に作成したヘッダ情報は消去しなければならない。このため、リカバリー情報にこのヘッダを登録したエントリーのファイル名を予め登録しておくことで、エントリーを検索し、消去できるようにしている。
以上、説明したように、本実施形態においては、データサイズが制限サイズより大きいと判定された場合には(#13、#15参照)、制限サイズ内にファイルを分割し(#19〜#29参照)、制限サイズに収まるファイルが全て生成された後に、終了情報を記憶エリアに記憶している(#31参照)。このため、連続録音中や録音終了中に電源の瞬断等により正常に終了処理ができなかった場合でも、ファイル修復が可能となる。すなわち、終了情報は、ファイルの分割処理が終わるまでは書き込みを行っていないために、分割処理中に電源が瞬断等しても、終了情報によってファイルが分断され、FATによる追跡が不能となることがない。
なお、本実施形態においては、ICレコーダに本発明を適用した例について説明した。しかし、ICレコーダに限らず、パソコンや携帯電話等の種々の音声記録機能付き装置にも本発明を適用できることはいうまでもない。また、本実施形態においては、1ファイル2GBの制限の例を用いて説明したが、これに限らず、任意のサイズにも適用できる。
また、本実施形態においては、WAVE形式によるデータの記録の例を説明したが、これに限らず、例えばMP3形式によるデータの記録でも良く、また、音声データに限らず、動画データ等の他のデータにも適用できることはいうまでもない。動画データ等のデータを入力する場合には、マイクロフォン11に代えて、撮像部等を設ければ良い。
本発明は、上記実施形態にそのまま限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素の幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
1・・・CPU、3・・・スピーカ、5・・・増幅器、7・・・DA変換器、9・・・メモリ、11・・・マイクロフォン、13・・・増幅器、15・・・AD変換器、17・・・操作部、19・・・プログラムメモリ、21・・・表示部、101・・・ブートセクタ、102・・・FAT1、103・・・FAT2、104a・・・フォルダAのエントリー、104b・・・フォルダBのエントリー、105・・・エントリー格納領域、105a・・・リカバリー情報のエントリーの記憶領域、105b・・・録音ファイルのエントリーの記憶領域、106・・・エントリー格納領域、107・・・リカバリー情報の実データを記憶する領域、108・・・音声ファイル、109・・・ヘッダ、110・・・音声データ
Claims (15)
- 任意のサイズのデータを所定の記憶サイズの1以上のブロックに記憶する第1の記憶エリアと、前記データを記憶するブロックの連鎖を記憶する第2の記憶エリアと、前記データをファイルとして記憶するための情報を記憶する第3の記憶エリアを有する記憶媒体にデータを記憶する情報記憶装置であって、
前記データを入力するデータ入力手段と、
使用者の操作により、前記データ入力手段で入力したデータを前記記憶媒体に記憶することを開始するデータ記憶開始手段と、
前記データ記憶開始手段により、前記入力したデータの記憶が開始されると、少なくとも新しい第1のファイル名及びその第1のファイル名で特定されるデータを記憶する最初のブロックを指定する第1の開始ブロック情報を第3の記憶エリアに記憶するファイルエントリー手段と、
前記データ入力手段により前記データの入力が進むに従って、順次前記第1の記憶エリア中の未使用のブロックにデータを書き込むと共に、そのデータが書き込まれたブロックの連鎖を表す連鎖情報を前記第2の記憶エリアに記憶するデータ記憶手段と、
使用者の操作により前記データの記録を終了した場合、最後にデータが書き込まれたブロックから連鎖するブロックが無いことを示す終了情報を、前記第2の記憶エリアに記憶するデータ記憶終了手段と、
前記第1のファイル名で特定されるデータのサイズが、1つのファイルに許された第2の所定サイズに収まるか否かを判定するデータサイズ判定手段と、
前記データサイズ判定手段で、前記第1のファイル名で特定されるデータのサイズが、前記第2の所定サイズを超えると判断された場合、新たな第2のファイル名を生成して第3の記憶エリアに記憶すると共に、その第2のファイル名で特定されるデータを記憶した最初のブロックを、前記第1のファイル名で特定されるデータのブロック連鎖中のブロックから指定し、その指定された第2の開始ブロック情報を前記第3の記憶エリアに記憶して前記第2の所定サイズに収まる第1のファイルを生成するファイル生成手段と、
前記データサイズ判定手段によって、前記データサイズが前記第2の所定サイズに収まらないと判定された場合、前記ファイル生成手段によって、前記第2の所定サイズに収まる前記第1のファイルが全て生成された後に、前記ファイル生成手段によって生成された前記第1のファイルの全てについて、前記連鎖情報より、前記第2の開始ブロックへ連鎖するブロックを特定し、その特定されたブロックから連鎖するブロックが無いことを示す終了情報を前記第2の記憶エリアに記憶する記憶データ縮小手段と、
を有することを特徴とする情報記憶装置。 - 前記記憶データ縮小手段は、前記第1のファイル名で特定されるデータのブロック連鎖の最後のブロックから最初のブロックに向かって、前記特定されたブロックに対応する前記終了情報を前記第2の記憶エリアに記憶することを特徴とする請求項1に記載の情報記憶装置。
- 前記入力手段は、マイクロフォンであって、前記データは音声データであり、前記情報記憶装置は音声レコーダであることを特徴とする請求項2に記載の情報記憶装置。
- 前記記憶媒体のフォーマットはFATフォーマットであり、前記第1の記憶エリアはデータ領域に対応し、前記第2の記憶エリアはFAT領域に対応し、前記第3の記憶エリアはルートディレクトリエントリー領域に対応することを特徴とする請求項3に記載の情報記憶装置。
- 情報装置において、任意のサイズのデータを所定の記憶サイズの1以上のブロックに記憶する第1の記憶エリアと、前記データを記憶するブロックの連鎖を記憶する第2の記憶エリアと、前記データをファイルとして記憶するための情報を記憶する第3の記憶エリアを有する記憶媒体にデータを記憶するデータ記憶方法であって、
使用者の操作により、当該情報記憶装置に入力されたデータを前記記憶媒体に記憶することを開始するデータ記憶開始工程と、
前記入力したデータの記憶が開始されると、少なくとも第1のファイル名を生成し、前記第1のファイル名及びデータを記憶する最初のブロックを特定する第1の開始ブロック情報を前記第3の記憶エリアに記憶するファイルエントリー記憶工程と、
前記データの入力が進むに従って、順次前記第1の記憶エリア中の未使用のブロックにデータを書き込むと共に、そのデータが書き込まれたブロックの連鎖を表す連鎖情報を前記第2の記憶エリアに記憶するデータ記憶工程と、
使用者の操作により前記データの記録を終了した場合、最後にデータが書き込まれたブロックから連鎖するブロックが無いことを示す終了情報を、前記第2の記憶エリアに記憶するデータ記憶終了工程と、
前記第1のファイル名で特定されるデータのサイズが、1つのファイルに許された第2の所定サイズに収まるか否かを判定するデータサイズ判定工程と、
前記データサイズ判定工程で、前記第1のファイル名で特定されるデータのサイズが、前記第2の所定サイズを超えると判断された場合には、新たな第2のファイル名を生成して第3の記憶エリアに記憶すると共に、その第2のファイル名で特定されるデータを記憶した最初ブロックを、前記第1のファイル名で特定されるデータのブロック連鎖中のブロックから指定し、その指定された第2の開始ブロック情報を前記第3の記憶エリアに記憶して前記第2の所定サイズに収まる第1のファイルを生成するファイル生成工程と、
前記データサイズ判定工程によって、前記データサイズが前記第2の所定サイズに収まらないと判定された場合、前記ファイル生成工程によって、前記第2の所定サイズに収まる前記第1のファイルが全て生成された後に、前記ファイル生成工程において生成された前記第1のファイルの全てについて、前記連鎖情報より、前記第2の開始ブロックへ連鎖するブロックを特定し、その特定されたブロックから連鎖するブロックが無いことを示す終了情報を前記第2の記憶エリアに記憶する記憶データ縮小工程と、
を有することを特徴とするデータ記憶方法。 - 前記データ縮小工程は、前記第1のファイル名で特定されるデータのブロック連鎖の最後のブロックから最初のブロックに向かって、前記特定されたブロックに対応する前記終了情報を前記第2のエリアに記憶することを特徴とする請求項5に記載のデータ記憶方法。
- 前記データは音声データであり、前記情報記憶装置は音声レコーダであることを特徴とする請求項6に記載のデータ記憶方法。
- 前記記憶媒体のフォーマットはFATフォーマットであり、前記第1の記憶エリアはデータ記憶領域に対応し、前記第2の記憶エリアはFAT領域に対応し、前記第3の記憶エリアはルートディレクトリエントリー領域に対応することを特徴とする請求項7に記載のデータ記憶方法。
- 情報装置において、任意のサイズのデータを所定の記憶サイズの1以上のブロックに記憶する第1の記憶エリアと、前記データを記憶するブロックの連鎖を記憶する第2の記憶エリアと、前記データをファイルとして記憶するための情報を記憶する第3の記憶エリアを有する記憶媒体にデータの記憶を実行させるプログラムであって、
使用者の操作により、当該情報記憶装置に入力されたデータを前記記憶媒体に記憶することを開始するデータ記憶開始工程と、
前記入力したデータの記憶が開始されると、少なくとも第1のファイル名を生成し、前記第1のファイル名及びデータを記憶する最初のブロックを特定する第1の開始ブロック情報を前記第3の記憶エリアに記憶するファイルエントリー記憶工程と、
前記データの入力が進むに従って、順次前記第1の記憶エリア中の未使用のブロックにデータを書き込むと共に、そのデータが書き込まれたブロックの連鎖を表す連鎖情報を前記第2の記憶エリアに記憶するデータ記憶工程と、
使用者の操作により前記データの記録を終了した場合、最後にデータが書き込まれたブロックから連鎖するブロックが無いことを示す終了情報を、前記第2の記憶エリアに記憶するデータ記憶終了工程と、
前記第1のファイル名で特定されるデータのサイズが、1つのファイルに許された第2の所定サイズに収まるか否かを判定するデータサイズ判定工程と、
前記データサイズ判定工程で、前記第1のファイル名で特定されるデータのサイズが、前記第2の所定サイズを超えると判断された場合には、新たな第2のファイル名を生成して第3の記憶エリアに記憶すると共に、その第2のファイル名で特定されるデータを記憶した最初ブロックを、前記第1のファイル名で特定されるデータのブロック連鎖中のブロックから指定し、その指定された第2の開始ブロック情報を前記第3の記憶エリアに記憶して前記第2の所定サイズに収まる第1のファイルを生成するファイル生成工程と、
前記データサイズ判定工程によって、前記データサイズが前記第2の所定サイズに収まらないと判定された場合、前記ファイル生成工程によって、前記第2の所定サイズに収まる前記第1のファイルが全て生成された後に、前記ファイル生成工程において生成された前記第1のファイルの全てについて、前記連鎖情報より、前記第2の開始ブロックへ連鎖するブロックを特定し、その特定されたブロックから連鎖するブロックが無いことを示す終了情報を前記第2の記憶エリアに記憶する記憶データ縮小工程と、
を有することを特徴とするプログラム。 - 前記記憶データ縮小工程は、前記第1のファイル名で特定されるデータのブロック連鎖の最後のブロックから最初のブロックに向かって、前記特定されたブロックに対応する前記終了情報を前記第2の記憶エリアに記憶することを特徴とする請求項9に記載のプログラム。
- 前記データは音声データであり、前記情報記憶装置は音声レコーダであることを特徴とする請求項10に記載のプログラム。
- 前記記憶媒体のフォーマットはFATフォーマットであり、前記第1の記憶エリアはデータ記憶領域に対応し、前記第2の記憶エリアはFAT領域に対応し、前記第3の記憶エリアはルートディレクトリエントリー領域に対応することを特徴とする請求項11に記載のプログラム。
- データを入力するデータ入力手段と、
前記データを記憶可能な第1の記憶エリアと、前記データを記憶するブロックの連鎖を記憶する第2の記憶エリアを有する記憶媒体と、
前記データを前記入力手段によって連続的に記録する際には、制限サイズを超えても、前記記憶媒体中の前記第1の記憶エリアに前記データを記録するデータ記録手段と、
前記データ記録手段による前記データの終了後に、前記データが制限サイズを超えているか否かを判定するサイズ判定手段と、
前記サイズ判定手段によって前記制限サイズを超えていることが判定された場合には、前記第1の記憶エリアに記録された前記データを、前記制限サイズを超えない範囲内に前記データを分割してファイルを生成するファイル生成手段と、
前記ファイル生成手段によって全てのファイルの生成を完了後に、終了情報を前記第2の記憶エリアに記憶するデータ終了情報記録手段と、
を有することを特徴とする情報記憶装置。 - 前記データの記録の開始にあたって、リカバリー情報を記憶するリカバリー情報記憶手段と、
前記リカバリー情報に基づいて、データの復元を実行するリカバリー手段と、
を有し、
前記リカバリー情報は前記データの記憶されている先頭位置に関連する情報を含み、前記リカバリー手段は、前記先頭位置に関連する情報と、前記ブロックの連鎖に関する情報に基づいて、前記データを読み出すことを特徴とする請求項13に記載の情報記憶装置。 - 前記リカバリー手段は、前記終了情報を前記第2の記憶エリアに記憶するにあたって、前記連鎖の後ろの位置から順次、前記終了情報を書き込むことを特徴とする請求項14に記載の情報記憶装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008300039A JP2010128605A (ja) | 2008-11-25 | 2008-11-25 | 情報記憶装置、データ記憶方法、およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008300039A JP2010128605A (ja) | 2008-11-25 | 2008-11-25 | 情報記憶装置、データ記憶方法、およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010128605A true JP2010128605A (ja) | 2010-06-10 |
Family
ID=42328978
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008300039A Pending JP2010128605A (ja) | 2008-11-25 | 2008-11-25 | 情報記憶装置、データ記憶方法、およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010128605A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012203659A (ja) * | 2011-03-25 | 2012-10-22 | Olympus Imaging Corp | 録音装置 |
US9978427B2 (en) | 2014-01-23 | 2018-05-22 | Teac Corporation | Data recorder |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001228895A (ja) * | 2000-02-18 | 2001-08-24 | Nippon Columbia Co Ltd | オーディオデータ記憶装置およびオーディオデータ記憶方法 |
JP2002278808A (ja) * | 2001-03-22 | 2002-09-27 | Sony Corp | 情報処理装置および方法、記録媒体、並びにプログラム |
JP2007025001A (ja) * | 2005-07-12 | 2007-02-01 | Sony Corp | 音声記録装置、音声記録方法及び音声記録プログラム |
JP2008009754A (ja) * | 2006-06-29 | 2008-01-17 | Sony Corp | 情報処理装置および方法、並びにプログラム |
-
2008
- 2008-11-25 JP JP2008300039A patent/JP2010128605A/ja active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001228895A (ja) * | 2000-02-18 | 2001-08-24 | Nippon Columbia Co Ltd | オーディオデータ記憶装置およびオーディオデータ記憶方法 |
JP2002278808A (ja) * | 2001-03-22 | 2002-09-27 | Sony Corp | 情報処理装置および方法、記録媒体、並びにプログラム |
JP2007025001A (ja) * | 2005-07-12 | 2007-02-01 | Sony Corp | 音声記録装置、音声記録方法及び音声記録プログラム |
JP2008009754A (ja) * | 2006-06-29 | 2008-01-17 | Sony Corp | 情報処理装置および方法、並びにプログラム |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012203659A (ja) * | 2011-03-25 | 2012-10-22 | Olympus Imaging Corp | 録音装置 |
US9978427B2 (en) | 2014-01-23 | 2018-05-22 | Teac Corporation | Data recorder |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4418439B2 (ja) | 不揮発性記憶装置およびそのデータ書込み方法 | |
US7921083B2 (en) | File management device and electronic equipment | |
JP2005215894A (ja) | データ処理装置、データ処理方法及びデータ処理プログラム | |
JP6123766B2 (ja) | データ読み出し装置、プログラムおよびデータ読み出し方法 | |
JP2002358248A (ja) | データ記録装置およびデータ消去装置 | |
JP2007233638A (ja) | 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム | |
JP5216003B2 (ja) | 記録装置 | |
JP2002269952A (ja) | オーディオ再生装置、情報処理装置、オーディオデータ管理方法及びコンテンツデータ管理方法 | |
JP2010128605A (ja) | 情報記憶装置、データ記憶方法、およびプログラム | |
US20050149493A1 (en) | Data recording apparatus and data recording method | |
JP5002944B2 (ja) | 情報処理装置、撮像装置、および情報処理方法、並びにコンピュータ・プログラム | |
JP6264059B2 (ja) | データ記録装置 | |
JP2005078378A (ja) | データ記憶装置及び不揮発性メモリに対するデータ書き込み方法 | |
TW569128B (en) | Method, apparatus and computer program product for recording additional information on a rewritable recording medium | |
JP2008269520A (ja) | 記録装置及び記録方法 | |
US8775383B2 (en) | File editing apparatus and file editing method | |
US20170115926A1 (en) | Information processing device, information processing method and program | |
JP2005301885A (ja) | データ記憶媒体へのアクセス方法,情報処理装置,データ記憶媒体へのアクセスプログラム | |
JP2005222531A (ja) | データ記録装置及びデータ記録方法 | |
JP4178564B2 (ja) | 記録再生装置及び記録再生方法 | |
JP5945448B2 (ja) | 電子装置、記録方法およびプログラム | |
JP2009169682A (ja) | データアクセス方法およびデータアクセス装置 | |
JP2009181603A (ja) | デジタル情報記録再生装置 | |
JP4201510B2 (ja) | デジタルメモリプレーヤ | |
JP4058776B2 (ja) | 記録再生装置及び記録再生方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20111024 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130425 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130430 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20130830 |