(57)【特許請求の範囲】
【請求項１】
記憶領域が所定のブロック長を有するブロック単位に分割され、各ブロック（３）毎にブロックアドレスが割当てられ、且つ、各ブロックの先頭にブロックラベル（３０）が所定の長さで格納される書換え可能ＲＯＭ（１）と、主メモリ（２０）を具え、ファイルデータ（４１）及び該ファイルデータ（４１）の先頭または後尾に配備されるファイルラベル（４０）からなるファイル（４）を形成して該主メモリ（２０）に格納し、該書換え可能ＲＯＭ（１）への書込み動作において、前記ブロックラベル（３０）に基づいてブロックアドレスを指定して、ファイル（４）を空きブロックにブロック単位で書込むＣＰＵ（２）とを具える記憶装置に於て、
スタート、リセットまたは書換え可能ＲＯＭ（１）の交換時に、
（ａ）書換え可能ＲＯＭ（１）の全記憶領域をスキャンして、ブロックラベル（３０）を、またはブロックラベル（３０）及びファイルラベル（４０）を読出す工程、
（ｂ）前記読出す工程において、ブロックラベル（３０）またはファイルラベル（４０）が書込まれるべき領域の中の所定の位置に、ブロックラベル（３０）またはファイルラベル（４０）と区別でき、且つ上書きによってブロックラベル（３０）またはファイルラベル（４０）に書換えできる書込開始マーク（９）が、書込まれている空きブロックを調べる工程、及び
（ｃ）前記調べる工程に基づいて、書込開始マーク（９）を有する空きブロックが存在しなければ、任意の１空きブロックの前記所定位置に、書込開始マーク（９）を書込む工程を含み、
さらに、ファイル（４）の書込み動作において、
（ａ）書込開始マーク（９）を有する空きブロックを先頭にして、下流方向の空きブロックへ次々と、ブロックラベル（３０）及びファイル（４）を書込む工程、
（ｂ）前記書込む工程において、下流方向に空きブロックが無ければ、書換え可能ＲＯＭ（１）の先頭のブロックに戻って、再び、下流方向の空きブロックへ次々と、ブロックラベル（３０）及びファイル（４）を書込む工程、
（ｃ）前記書込む工程の終了後、下流方向の空きブロックを探す工程、
（ｄ）前記探す工程において、下流方向に空きブロックが無ければ、書換え可能ＲＯＭ（１）の先頭のブロックに戻って、再び、下流方向の空きブロックを探す工程、及び、
（ｅ）前記探す工程によって、見つかった空きブロックの前記所定位置に書込開始マーク（９）を書込む工程
を含む、書換え可能ＲＯＭ（１）にファイルを記憶する方法。
【請求項２】
スタート、リセットまたは書換え可能ＲＯＭ（１）の交換時における、書込開始マーク（９）を書込む工程の代りに、ブロックラベル（３０）及びファイル（４）を書込む工程が、書込開始マーク（９）を有する空きブロックが存在しなければ、任意の空きブロックを先頭にして、存在すれば、書込開始マーク（９）を有する空きブロックを先頭にして、下流方向の空きブロックへ次々と、ブロックラベル（３０）及びファイル（４）を書込む工程である、請求項１に記載の書換え可能ＲＯＭ（１）にファイルを記憶する方法。
【請求項３】
記憶領域が所定のブロック長を有するブロック単位に分割され、各ブロック（３）毎にブロックアドレスが割当てられ、且つ、各ブロックの先頭にブロックラベル（３０）が所定の長さで格納される書換え可能ＲＯＭ（１）と、主メモリ（２０）を具え、ファイルデータ（４１）及び該ファイルデータ（４１）の先頭または後尾に配備されるファイルラベル（４０）からなるファイル（４）を形成して該主メモリ（２０）に格納し、該書換え可能ＲＯＭ（１）への書込み動作において、前記ブロックラベル（３０）に基づいてブロックアドレスを指定して、ファイル（４）を空きブロックにブロック単位で書込むＣＰＵ（２）とを具える記憶装置に於て、
ＣＰＵ（２）は、スタート、リセットまたは書換え可能ＲＯＭ（１）の交換時に、書換え可能ＲＯＭ（１）の全記憶領域をスキャンして、ブロックラベル（３０）を、またはブロックラベル（３０）及びファイルラベル（４０）を読出す読出し手段を具え、該読出し手段は、ブロックラベル（３０）またはファイルラベル（４０）が書込まれるべき領域の中の所定の位置に、ブロックラベル（３０）またはファイルラベル（４０）と区別でき、且つ上書きによってブロックラベル（３０）またはファイルラベル（４０）に書換え可能な書込開始マーク（９）が、書込まれている空きブロックが存在するかを調べる調査手段、及び該調査手段に基づいて、書込開始マーク（９）を有する空きブロックが存在しなければ、任意の１空きブロックの前記所定位置に、書込開始マーク（９）を書込む書込開始マーク書込み第１手段を具え、
さらに、ファイル（４）の書込み動作において、書込開始マーク（９）を有する空きブロックを先頭にして、下流方向の空きブロックへ次々と、ブロックラベル（３０）及びファイル（４）を書込むファイル書込み手段と、前記ファイル書込み手段の終了後、下流方向の空きブロックを探すサーチ手段と、前記サーチ手段によって、見つかった空きブロックの前記所定位置に書込開始マーク（９）を書込む書込開始マーク書込み第２手段を具え、前記ファイル書込み手段及びサーチ手段は、下流方向に空きブロックが無ければ、書換え可能ＲＯＭ（１）の先頭のブロックに戻って、再び、下流方向の空きブロックにそれぞれの動作を繰り返す手段を具える記憶装置。
【請求項４】
書込開始マーク書込み第１手段の代りに、ファイル書込み手段は、書込開始マーク（９）を有する空きブロックが存在しなければ、任意の空きブロックを先頭にして、存在すれば、書込開始マーク（９）を有する空きブロックを先頭にして、下流方向の空きブロックへ次々と、ブロックラベル（３０）及びファイル（４）を書込む手段である、請求項３に記載の記憶装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、フラッシュメモリ等の書換え可能ＲＯＭに、デジタルデータを記憶する方法及び装置に関する。
【０００２】
【従来の技術】
コンピュータの如く、デジタル化されたデータを処理する電子機器は、通常、デジタルデータを蓄積し、且つ該機器の電源を切ってもデータが消えない外部記憶装置を具えており、外部記憶装置として、磁気ディスク、書換え可能ＲＯＭ等が利用されている。
図２に示すように、書換え可能ＲＯＭ（１）等の外部記憶装置に対するデジタルデータの書込み、読出し、消去等の読み書き動作は、ＣＰＵ（２）によって制御される。ＣＰＵ（２）は、書換え可能ＲＯＭ（１）に対して、所定のデータ長でデータの書込みまたは読出し動作を行なうため、書換え可能ＲＯＭ（１）の記憶領域は、該所定のデータ長毎に区切られる。この区切られた小領域をブロック（３）と呼び、前記ブロック（３）の長さをブロック長と呼ぶことにする。さらに、読み書き動作を行なうべきブロック（３）を特定するために、ブロック（３）毎にブロックアドレスが割当てられる。
また、デジタルデータは、１つのまとまった単位で処理される。このまとまったデジタルデータをファイル（４）と呼び、各ファイルの長さをファイル長と呼ぶことにする。ファイル長は、可変であり、前記ブロック長よりも短いファイルもあれば、長いファイルもある。
従って、ＣＰＵ（２）が書換え可能ＲＯＭ（１）に対してファイルを書込みまたは読出しするためには、ブロック（３）毎に、データが記憶されているか否かを示す情報、複数のブロックにまたがって記憶されるファイルにおける、ブロック同士の繋がりを示す情報、等を示す情報データを、書換え可能ＲＯＭ（１）の所定位置に記憶しておく必要がある。各ブロック（３）の所定位置に格納される情報データをブロックラベル（３０）と呼ぶことにする。
【０００３】
【発明が解決しようとする課題】
然して、ＣＰＵ（２）が書換え可能ＲＯＭ（１）にファイルを書込むときには、図８に示すように、ＣＰＵ（２）は、上記の如く書換え可能ＲＯＭ（１）の所定位置に書込まれているブロックラベル（３０）等の情報データを参照して（Ｓ３０）、通常、ブロックアドレスの小さい方から順番に空き（未記憶）ブロックを探し（Ｓ３１）、見つかった空きブロックにファイル（４）及びブロックラベル（３０）を書込み（Ｓ３２）、これを、ファイル内の全デジタルデータが書込まれるまで繰り返し（Ｓ３３、Ｓ３４）、情報データを更新する（Ｓ３５）。
例えば、図１（ａ）のように、書換え可能ＲＯＭ（１）がブロック（３）単位に分割されており、情報データとして、各ブロック（３）の先頭に所定の長さでブロックラベル（３０）が格納されるとする。デジタルデータが記憶されていない初期状態の書換え可能ＲＯＭ（１）（図１（ａ））に、２個のブロックに格納できる程度のファイル長を有するファイルＦ１と、３個のブロックに格納できる程度のファイル長を有するファイルＦ２を書込むとき、図１（ｃ）のように、ファイルＦ１は、最初の２個のブロックに書込まれ（▲１▼）、ファイルＦ２は、ファイルＦ１の直後の３個のブロックに書込まれる（▲２▼）。上記記憶状態にある書換え可能ＲＯＭ（１）に対して、ファイルＦ２を削除してから（▲３▼）、１個のブロックに格納できる程度のファイル長を有するファイルＦ３を書込むとき、通常は、ファイルＦ３は、ファイルＦ２の書込みと同様、ファイルＦ１の直後の１個のブロックに書込まれる（▲４▼）。そのため、ブロックアドレスが小さいブロックに偏って書換えられることが多い。
外部記憶装置は、たとえ一部分であっても書換え不能部分が発生すると、外部記憶装置としての信頼性が損われる。特に、書換え可能ＲＯＭ（１）は、書換え可能回数が有限であり、フラッシュメモリ（１０）においては約１万回程度である。この回数は、フラッシュメモリ（１０）の記憶領域に略均一に書換えが行なわれると、未だ十分な期間使用できる回数であっても、従来の記憶方法では、一部の領域に偏ってデータが書換えられるため、早期に書換え不能領域が発生し、信頼性を損う結果となる。
【０００４】
【発明の目的】
本発明は、前記情報データが記憶される領域を利用することにより、書換え可能ＲＯＭに対して、書換え可能ＲＯＭの一部の領域に偏ることなく、書換え可能ＲＯＭの全領域へ平均的に書込み動作を行うことのできる方法及び装置を提供することを目的とする。
【０００５】
【課題を解決する為の手段】
上記課題を解決するため、ＣＰＵは、以下のように、書換え可能ＲＯＭに書込み動作を行なう。
まず、スタート、リセットまたは書換え可能ＲＯＭの交換時において、書換え可能ＲＯＭの全記憶領域をスキャンして、ブロックラベルを読出す。このとき同時に、ブロックラベルが書込まれるべき領域の中の所定の位置に、ブロックラベルと区別でき、且つ上書きによってブロックラベルに書換えできる書込開始マークが既に書込まれている空きブロックを調べる。書込開始マークを有する空きブロックが存在しなければ、任意の空きブロックの前記所定位置に、書込開始マークを書込む。
次に、ファイルの書込み動作において、書込開始マークを有する空きブロックを先頭にして、下流方向の空きブロックへ次々と、ブロックラベル及びファイルを書込む。このとき、下流方向に空きブロックが無ければ、書換え可能ＲＯＭの先頭のブロックに戻って、再び、下流方向の空きブロックへ次々と、ブロックラベル及びファイルを書込む。ブロックラベル及びファイルの書込み終了後、下流方向の空きブロックを探す。このときも、下流方向に空きブロックが無ければ、書換え可能ＲＯＭの先頭のブロックに戻って、再び、下流方向の空きブロックを探す。そして、見つかった空きブロックに、ブロックラベルが書込まれるべき領域内の所定位置に書込開始マークを書込む。
【０００６】
【作用】
前記記憶方法により、例えば、図１（ａ）のように、書換え可能ＲＯＭ（１）の記憶領域がブロック単位に分割されており、各ブロック（３）の先頭にブロックラベル（３０）が格納されるとする。デジタルデータが記憶されていない初期状態の書換え可能ＲＯＭ（１）（図１（ａ））に、例えば、２個のブロックに格納できる程度のファイル長を有するファイルＦ１と、３個のブロックに格納できる程度のファイル長を有するファイルＦ２を書込んだ後、ファイルＦ２を削除し、次に、１個のブロックに格納できる程度のファイル長を有するファイルＦ３を書込む場合を検討する。図１（ｂ）のように、ファイルＦ１は、最初の２個のブロックに書込まれ、ファイルＦ１の書込み完了後、次の空きブロック（３ａ）のブロックラベル（３０）が書込まれる領域の所定位置に書込開始マーク（９）が書込まれる（▲１▼）。次に、ファイルＦ２は、前記書込開始マーク（９）を有する空きブロック（３ａ）を先頭にして３個の空きブロック（３）に書込まれる。このとき、書込開始マーク（９）は、上書きされて、ブロックラベル（３０）に変更される。ファイルＦ２の書込み完了後、最も近くにある次の空きブロック（３ｂ）に書込開始マーク（９）が書込まれる（▲２▼）。次に、ファイルＦ２を削除するが、書込開始マーク（９）の位置は変らない（▲３▼）。そして、ファイルＦ３は、削除されたファイルＦ２の直後にある書込開始マーク（９）が書込まれている空きブロック（３ｂ）に書込まれる。このときも、書込開始マーク（９）は、上書きされて、ブロックラベル（３０）に変更される。ファイルＦ３の書込み完了後、次の空きブロック（３ｃ）に書込開始マーク（９）が書込まれる（▲４▼）。
【０００７】
【効果】
上記作用により、書込開始マークが書込まれた空きブロックより上流側にあるブロックのファイルが消去されても、該消去されたブロックから、再びファイルが書込まれることはないので、書き替え領域の偏りを防止できる。従って、記憶領域に対して略均一に書込み動作を行うことができるので、書換え可能ＲＯＭの外部記憶装置としての信頼性を早期に損うことを防止できる。
【０００８】
【発明の実施の形態】
以下、本発明の実施形態について、図面に沿って詳述する。
図２は、本発明を用いた固体録音再生システムである。固体録音再生システムとは、記録媒体として、磁気テープの代りに半導体メモリを用いた録音再生システムのことである。
固体録音再生システムは、音声等のサウンドをアナログ信号に変換するマイクロフォン（７）及びアナログ信号をサウンドに変換するスピーカ（８）を具え、マイクロフォン（７）及びスピーカ（８）に接続し、デジタル信号処理を行うＤＳＰ（デジタルシグナルプロセッサ）（５）を具える。ＤＳＰ（５）は、後記するＣＰＵ（２）の指示により、マイクロフォン（７）からのアナログ信号をデジタル信号へ変換して圧縮し、或いは圧縮されたデジタル信号を伸張してアナログ信号に変換する。また、録音再生システムは、圧縮されたデジタル信号を書込みまたは読出す外部記憶装置として、半導体メモリを具える。本実施形態では、前記半導体メモリは、フラッシュメモリ（１０）等の書換え可能ＲＯＭ（１）が使用される。さらに、録音再生システムは、書換え可能ＲＯＭ（１）への読出しまたは書込み動作を制御し、且つＤＳＰ（５）の前記動作を指示するＣＰＵ（２）を具える。ＣＰＵ（２）には、前記制御及び指示を実行するプログラムを具える制御用ＲＯＭ（２１）が接続される。また、ＣＰＵ（２）は、上述の圧縮されたデジタル信号、前記プログラム、及び書換え可能ＲＯＭ（１）からの情報データ（９）を記憶する主メモリ（２０）を具える。圧縮されたデジタル信号は、ＣＰＵ（２）及びＤＳＰ（５）間を接続するバス（５０）によって転送されるが、ＣＰＵ（２）が他の処理を行うことによりＣＰＵ（２）及びＤＳＰ（５）間にて生じる処理速度の差を調整するために、該バス（５０）の間にはバッファ装置（６）が具えられる。
【０００９】
次に、録音再生システムの動作を説明する。該システムの電源がオンになると、ＣＰＵ（２）は、制御用ＲＯＭ（２１）から所望のプログラムを読み出す。
録音時には、サウンドをマイクロフォン（７）に入力し、マイクロフォン（７）によって、アナログ電圧信号に変換され、ＤＳＰ（５）に転送される。次に、ＣＰＵ（２）からの指示によって、ＤＳＰ（５）は、該アナログ信号をデジタル信号に変換し（Ａ／Ｄ変換）、且つ圧縮する。圧縮されたデジタル信号は、一旦バッファ装置（６）に一時記憶されてから、ＣＰＵ（２）内の主メモリ（２０）に読み出され、そして、書換え可能ＲＯＭ（１）に記憶される。以下これを繰り返す。
また、再生時には、ＣＰＵ（２）は、書換え可能ＲＯＭ（１）から所望の圧縮されたデジタル信号を主メモリ（２０）に読み出して、該信号を一旦バッファ装置（６）に一時記憶する。次に、ＣＰＵ（２）からの指示により、ＤＳＰ（５）は、バッファ装置（６）から転送される圧縮されたデジタル信号を伸張してからアナログ信号に変換して、スピーカ（８）に転送する。スピーカ（８）は、該アナログ信号をサウンドに変換して、サウンドを出力する。
【００１０】
本実施形態において、半導体メモリとして使用されるフラッシュメモリ（１０）等の書換え可能ＲＯＭ（１）は、電源を切っても、蓄積されたデジタルデータは消えず、且つ、電気等により該データを消去することにより、新たなデータの書込みが可能な半導体メモリである。書換え可能ＲＯＭは、磁気ディスク装置と異なり、駆動メカニズムを持たず、電気的に書込みまたは読出しできるため、外部記憶装置の小型化及び軽量化に有利である。そのため、最近では、ＩＣカードまたはＰＣカード等の記憶素子として広く利用されている。
しかしながら、書換え可能ＲＯＭ（１）は、上述のように、書換え可能回数が有限であり、フラッシュメモリ（１０）においては約１万回程度であるから、一部の領域に偏ってデータが書換えられるならば、早期に書換え不能領域が発生し、外部記憶装置としての信頼性を損う結果となる。
【００１１】
そこで、本発明の記憶方法を利用する。以下、本実施形態における、フラッシュメモリ（１０）の構造及びフラッシュメモリ（１０）に書込まれるファイルの構造、並びにＣＰＵ（２）からフラッシュメモリ（１０）への書込み動作について詳述する。
フラッシュメモリ（１０）の記憶領域は、一定のブロック長（本実施例では、１０２４バイト）を有するブロック単位に分割され、各ブロック（３）毎にブロックアドレスが割当てられる。
ある録音期間にＣＰＵ（２）に転送される一連の圧縮されたデジタル信号をライブラリと呼ぶことにする。ライブラリは、データ長が可変で且つ非常に長い。例えば、２０分間の録音データは、圧縮されたデジタル信号に変換すると、約２ＭＢ（メガバイト）弱にもなる。従って、フラッシュメモリ（１０）に記憶する際には、ＤＳＰ（５）がＡ／Ｄ変換する際のサンプリングレート毎、並びに、フラッシュメモリ（１０）において、連続している空きブロックのブロック数毎のファイル（４）に分割される。これにより、ファイル（４）は、連続する記憶領域にシーケンシャルに書込まれるため、あるファイル（４）が書込まれている各ブロック同士の繋がりを示すような情報データは不要となる。
【００１２】
本実施形態においては、あるライブラリ中でのファイル同士の繋がり、サンプリングレート等のライブラリ及びファイルに関する情報データが必要である。従って、図３の如く、ブロックに関する情報データは、ブロックラベル（３０）として各ブロック（３）の先頭に格納し、ライブラリ及びファイルに関する情報データは、ファイルラベル（４０）として、ファイル（４）の先頭に配備されることとする。すなわち、ファイル（４）は、情報データである前記ファイルラベル（４０）と、実際のデータ、すなわち圧縮されたデジタル信号であるファイルデータ（４１）から構成される。
図３にて示されるように、ブロックラベル（３０）は、各ブロック（３）の先頭に所定のバイト数で書込まれ、ファイル（４）は、ブロックラベル（３０）の後に書込まれる。また、ファイルラベル（４０）とファイルデータ（４１）は、それぞれを明確に区別するために、別々のブロックに書込まれる。
ブロックラベル（３０）は、そのブロックが、空きブロックか、ファイルラベル（４０）が書込まれたブロックか、ファイルデータ（４１）が書込まれたブロックか、書換え不能ブロックか等、当該ブロックの情報を示すデータである。また、ファイルラベル（４０）は、ライブラリを特定するライブラリ番号、ライブラリ内のファイルの順番を示すファイル番号、ファイルデータ（４１）の容量等のファイルの情報を示すデータである。
【００１３】
そして、ある空きブロックにおいて、ブロックラベル（３０）及びファイルラベル（４０）が書込まれるべき領域の中の所定の位置に、ブロックラベル（３０）またはファイルラベル（４０）と区別でき、且つ上書きによってブロックラベル（３０）またはファイルラベル（４０）に書換えできる書込開始マーク（９）が書込まれている。
例えば、図４のように、ブロック（３）の先頭１バイト（８ビット）にブロックラベル（３０）が格納されるとする。そのブロックが空きブロックのときは、データ１１１１１１１１（２）が格納され、また、そのブロックにファイルラベル（４０）または書込開始マーク（９）が書込まれるときは、データ０１０１０１０１（２）が格納されるとする。また、ファイルラベル（４０）の先頭１バイトにライブラリ番号が格納されるとする。なお、フラッシュメモリ（１０）またはＥＥＰ−ＲＯＭにおいては、データが書込まれると０（Ｌレベル）となり、データが消去されると１（Ｈレベル）となる。このとき、ライブラリ番号は、１バイトのデータによって０から２５４（１０）までに制限しておく。図４（ａ）のような空きブロックに対しては、図４（ｂ）のように、ブロックラベルとして、データ０１０１０１０１（２）を格納し、ライブラリ番号として、データ１１１１１１１１（２）（＝２５５（１０））を格納すれば、ライブラリ番号の制限を越えているから、ライブラリ番号の位置に記録されているのは、書込開始マーク（９）であることが識別できる。そして、書込開始マーク（９）を意味するデータ１１１１１１１１（２）は、図４（ｃ）のように、ライブラリ番号データ００１１０００１（２）（＝４９（１０））の如く実際のファイルラベル（４０）に変更することができる。
【００１４】
次に、ＣＰＵ(２)がフラッシュメモリ(10)にデジタルデータを書込むときの動作について、図５乃至図７のフローチャートに沿って説明する。
まず、固体録音再生システムがスタートまたはリセットして再スタートするとき、或いはフラッシュメモリ(10)が交換されたときには、図５のように、ＣＰＵ(２)は、フラッシュメモリ(10)をスキャンして、ブロックラベル(30)及びファイルラベル(40)を主メモリ(20)に読み出す（Ｓ10）。次に、主メモリ(20)に読み出されたブロックラベル(30)及びファイルラベル(40)を参照して、空きブロックが無ければ（Ｓ11）、空き容量なしのエラー処理を行ない（Ｓ12）、前記書込開始マーク(９)を有する空きブロックが無い場合（例えば、購入直後で未使用のフラッシュメモリである場合）には（Ｓ13）、ある１つの空きブロックに書込開始マーク(９)を書込む（Ｓ14）。
【００１５】
録音時には、図６のように、書込開始マーク（９）を有するブロック（３）のアドレスに書込み位置をセットする（Ｓ２０）。次に、ＤＳＰ（５）から転送されるライブラリを、ファイル（４）として、ＤＳＰ（５）がＡ／Ｄ変換する際のサンプリングレート毎、並びに、フラッシュメモリ（１０）において、連続している空きブロックのブロック数毎に分割して主メモリ（２０）に格納する（Ｓ２１）。このとき、ファイル（４）内のファイルラベル（４０）には、ライブラリ番号、ファイル番号及びファイルデータ（４１）の容量等、必要なデータを格納する。次に、主メモリ（２０）からフラッシュメモリ（１０）に、前記ファイル（４）及びブロックラベル（３０）を書込む（Ｓ２２）。ファイル（４）の書込み完了後、最後に書込んだブロックを起点として下流側に向って空きブロックを探す（Ｓ２３）。このとき、最後のブロックまで探しても見つからないときには、最初のブロックに戻って、再び下流側に空きブロックを探し、前記最後に書込んだブロックまで探しても見つからないときには、「空きブロックなし」のエラー処理を行なう（Ｓ２４）。空きブロックが見つかれば、そのライブラリの全信号の書込みが完了したか否かを判断し（Ｓ２５）、完了していなければ、見つかった空きブロックに書込み位置をセットして（Ｓ２６）、上記ファイル（４）の分割（Ｓ２１）まで戻る。書込みが完了しておれば、見つかった空きブロックに書込開始マーク（９）を書込んで（Ｓ２７）、書込み動作が終了する。
【００１６】
主メモリ（２０）からフラッシュメモリ（１０）に、前記ファイル（４）及びブロックラベル（３０）を書込む（Ｓ２２）ステップを、詳しく説明する。図７のように、まず書込開始マーク（９）を有するブロックの先頭に、ファイルラベル（４０）が書込まれていることを示すブロックラベル（３０）を書込み（Ｓ２２０）、続いてファイルラベル（４０）を書込む（Ｓ２２１）。このとき、書込開始マーク（９）は、上書きされて、ブロックラベル（３０）またはファイルラベル（４０）に変更される。次に、書込み位置を次のブロックにセットして（Ｓ２２２）、セットしたブロックに、ファイルデータ（４１）が書込まれていることを示すブロックラベル（３０）を書込み（Ｓ２２３）、続いてファイルデータ（４１）を書込む（Ｓ２２４）。そして、書込まれていないファイルデータ（４１）が存在すれば、再び次のブロックへ書込み位置をセットするステップ（Ｓ２２２）に戻り、存在しなければ、元のルーチンに戻る。
なお、フラッシュメモリ（１０）にブロックラベル（３０）、ファイルラベル（４０）及び書込開始マーク（９）の情報データを書込む際には、常に主メモリ（２０）内に格納されている情報データも更新する。
【００１７】
従って、書込開始マーク（９）が書込まれたブロックより上流側のブロックのファイルが消去されても、該消去されたブロックからファイルが書込まれることがなく、常に最後に書込まれたブロックの下流側に存在する、書込開始マーク（９）が書込まれた空きブロックから書込み動作を行なうので、書き替え領域の偏りを防止できる。従って、記憶領域に対して略均一に書込み動作を行うことができるので、フラッシュメモリ（１０）の信頼性を早期に損うことを防止できる。
さらに、書込開始マーク（９）は、上書きされて、ブロックラベル（３０）及びファイルラベル（４０）に変更できるから、フラッシュメモリ（１０）内に書込開始マーク（９）のみが書込まれる領域を新たに確保する必要がなく、さらに、書込開始マーク（９）を消すために、フラッシュメモリ（１０）において時間のかかる消去動作を行う必要がない。
【００１８】
上記実施形態の説明は、本発明を説明するためのものであって、特許請求の範囲に記載の発明を限定し、或は範囲を減縮する様に解すべきではない。又、本発明の各部構成は上記実施形態に限らず、特許請求の範囲に記載の技術的範囲内で種々の変形が可能であることは勿論である。
例えば、本実施形態においては、フラッシュメモリ（１０）等の書換え可能ＲＯＭ（１）を用いたが、磁気ディスク装置においても、頻繁に書換えを行なった記憶領域は、書換え不能となりやすいことから、他の外部記憶装置においても、本発明を利用できる。特に、フラッシュメモリ（１０）と同じように、既存のデータを上書きして新規のデータに変更する時に、一旦消去動作を行う必要がある光磁気ディスク装置においては効果的である。
また、ファイルラベル（４０）には、ライブラリ番号、ファイル番号及びデータ容量の他にも、直前または直後のファイル番号を有するファイルの先頭のブロックアドレスのような、ファイルの繋がりに関する情報、ビットレートのような、ＤＳＰ（５）に関する情報等を格納することができ、その格納位置を書込開始マーク（９）に用いることもできる。
また、本実施形態では、図５のように、フラッシュメモリ（１０）内の何れの空きブロックにも書込開始マーク（９）が無ければ、どれか１つの空きブロックに書込開始マーク（９）を書込むようにして（Ｓ１４）、フラッシュメモリ（１０）がファイル（４）を書込む動作の前に、常に書込開始マーク（９）が存在するようにしたが、これを省略して、図６の書込み動作において、何れの空きブロックにも書込開始マーク（９）が無ければ、任意の空きブロックから書込みを始めるようにしても、書込み完了後には書込開始マーク（９）を書込むこととなり、本発明の効果は変わらない。
また、本実施形態では、ファイルラベル（４０）を、ファイル（４）のヘッダのように、ファイルの先頭に格納したが、これをファイル（４）のフッタのように、ファイルの最後に格納することもできる。
さらに、本実施形態では、ファイルラベル（４０）とファイルデータ（４１）を別々のブロックに書込んだが、これは区別を明確にするために過ぎず、記憶領域の有効利用という観点から、ファイルラベル（４０）に続いてファイルデータ（４１）を書込むこともできる。
【図面の簡単な説明】
【図１】書換え可能ＲＯＭにおけるメモリマップであり、（ａ）はデジタルデータが記憶されていない状態を示し、（ｂ）は本発明における書込み動作を示し、且つ、（ｃ）は従来の書込み動作を示す。
【図２】本発明に係るフラッシュメモリを用いた固体録音再生システムを示すブロック図である。
【図３】本実施形態において、フラッシュメモリに書込まれるファイルの構造を示すメモリマップである。
【図４】フラッシュメモリにおける、あるブロックの先頭領域に書込まれるデジタルデータを示したものであり、（ａ）は空きブロックのとき、（ｂ）は書込開始マークを書込んだとき、（ｃ）はファイルラベルを書込んだときを示す。
【図５】録音再生システムのスタートまたはリセット時、或いはフラッシュメモリの交換時において、ＣＰＵがフラッシュメモリに対して行う動作を示すフローチャートである。
【図６】録音時に、ＣＰＵがフラッシュメモリに対して行う書込み動作を示すフローチャートである。
【図７】書込みサブルーチンを示すフローチャートである。
【図８】従来の書込み動作を示すフローチャートである。
【符号の説明】
（１）  書換え可能ＲＯＭ
（２）  ＣＰＵ
（３）  ブロック
（４）  ファイル
（９）  書込開始マーク
（１０）  フラッシュメモリ
【図１】
0003615299.tif 000002
【図２】
0003615299.tif 000003
【図３】
0003615299.tif 000004
【図４】
0003615299.tif 000005
【図５】
0003615299.tif 000006
【図６】
0003615299.tif 000007
【図７】
0003615299.tif 000008
【図８】
0003615299.tif 000009