(57)【特許請求の範囲】
【請求項１】
所定の記憶容量よりなる複数のブロックから構成され、ブロック単位でのみデータの消去が可能な記憶媒体と、この記憶媒体の少なくとも１つのブロックを未書き込みブロックとし、他のブロックをデータの書き込みを行う書き込みブロックとし、前記書き込みブロックにデータの使用率を設定し、その使用率を越えた場合、そのブロックへの書き込みを禁止し、全ての書き込みブロックが書き込み禁止となった場合に、新たなファイルの書き込み要求があると、書き込みブロックの空き領域に、その空き領域の大きさに応じて分割して書き込むようにする制御手段とを具備する記憶装置。
【請求項２】
所定の記憶容量よりなる複数のブロックから構成され、ブロック単位でのみデータの消去が可能な記憶媒体と、この記憶媒体の少なくとも１つのブロックを未書き込みブロックとし、他のブロックをデータの書き込みを行う書き込みブロックとし、前記書き込みブロックにデータの使用率を設定し、その使用率を越えた場合、そのブロックへの書き込みを禁止し、全ての書き込みブロックが書き込み禁止となった場合に、新たなファイルの書き込み要求があると、書き込みブロックの空き領域に、その空き領域の大きさに応じて分割して書き込むようにし、いずれかの書き込みブロックが消去された場合、分割されて書き込まれたファイルを消去されたブロックに１つのファイルとして書き込む制御手段とを具備する記憶装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ブロック単位でのみ消去が可能な記憶媒体を有する記憶装置に関する。
【０００２】
【従来の技術】
送受信の情報を一旦メモリに格納して通信または記録を行うファクシミリ装置では、従来格納用メモリとしてダイナミックＲＡＭ（ＤＲＡＭ）やスタティックＲＡＭ（ＳＲＡＭ）が広く用いられる。しかし、これらＤＲＡＭやＳＲＡＭは電源がないとデータを保持できない。これに対してフラッシュメモリは電源がなくてもデータを保持できるため、近年使用されるようになってきた。
【０００３】
【発明が解決しようとする課題】
フラッシュメモリは複数のブロックから構成され、ブロック単位でしかデータの消去ができない。ブロックの大きさはメモリ製造メーカによって異なるが、例えば６４ＫＢ（キロバイト）など、かなり大きな容量となっている。新しいデータは既存のデータを消去した後でないと書き込めないという制約があるため、１つのブロックに複数のファイル（取り扱う文書の単位）が蓄積さている場合、その内の１つまたはいくつかのファイルが通信を終了して消去可能となっても、他のファイルが残っている場合、そのブロックを消去できない。つまり、不要となったファイルの上に新たなファイルを上書きすることはできないため、結果的に通信を終了したファイルは、そのファイルの存在するブロックの全てのファイルが消去可能となるまで消すことができず残ったままとなる。このためそのブロックの使用効率が極めて悪くなっている。また、ユーザの立場からも、通信が終了しているのにメモリの使用率が減らないので故障でもしたのかと思ったりする。
【０００４】
本発明は、上述の問題点に鑑みてなされたもので、ブロック単位にしか消去できない記憶媒体を効率的に使用することを目的とする。
【０００５】
【課題を解決するための手段】
本発明の記録装置は、所定の記憶容量よりなる複数のブロックから構成され、ブロック単位でのみデータの消去が可能な記憶媒体と、この記憶媒体の少なくとも１つのブロックを未書き込みブロックとし、他のブロックをデータの書き込みを行う書き込みブロックとし、前記書き込みブロックにデータの使用率を設定し、その使用率を越えた場合、そのブロックへの書き込みを禁止し、全ての書き込みブロックが書き込み禁止となった場合に、新たなファイルの書き込み要求があると、書き込みブロックの空き領域に、その空き領域の大きさに応じて分割して書き込むようにする制御手段とを具備するものである。これにより、各ブロックにはファイルごとに記憶され１つのファイルが２つのブロックに分かれて記憶されることを防止する。このため、１つのファイルが不要になった場合は１つのブロックの消去ができる。また、全ての書き込みブロックにファイルごとに記憶された後に新たなファイルの書き込みが生じた場合は、各ブロックの空の領域にファイルを分割して記憶する。これにより各ブロックに残った空領域を有効に使用することができる。
【０００６】
【発明の実施の形態】
請求項１の発明では、所定の記憶容量よりなる複数のブロックから構成され、ブロック単位でのみデータの消去が可能な記憶媒体と、この記憶媒体の少なくとも１つのブロックを未書き込みブロックとし、他のブロックをデータの書き込みを行う書き込みブロックとし、前記書き込みブロックにデータの使用率を設定し、その使用率を越えた場合、そのブロックへの書き込みを禁止し、全ての書き込みブロックが書き込み禁止となった場合に、新たなファイルの書き込み要求があると、書き込みブロックの空き領域に、その空き領域の大きさに応じて分割して書き込むようにする制御手段とを具備する。
【００１１】
ブロックを少なくとも１つの未書き込みブロックと、書き込みブロックに設定して使用し、書き込みブロックには所定の使用率を定め、その使用率を越えて記憶されている場合はそれ以上の書き込みを禁止する。これにより、各ブロックにはファイルごとに記憶され１つのファイルが２つのブロックに分かれて記憶されることを防止する。このため、１つのファイルが不要になった場合は１つのブロックの消去ができる。
【００１３】
ブロックを少なくとも１つの未書き込みブロックと、書き込みブロックに設定して使用し、書き込みブロックには所定の使用率を定め、その使用率を越えて記憶されている場合はそれ以上の書き込みは禁止する。しかし全ての書き込みブロックにファイルごとに記憶された後に新たなファイルの書き込みが生じた場合は、各ブロックの空の領域にファイルを分割して記憶する。これにより各ブロックに残った空領域を有効に使用することができる。
【００１４】
請求項２の発明では、所定の記憶容量よりなる複数のブロックから構成され、ブロック単位でのみデータの消去が可能な記憶媒体と、この記憶媒体の少なくとも１つのブロックを未書き込みブロックとし、他のブロックをデータの書き込みを行う書き込みブロックとし、前記書き込みブロックにデータの使用率を設定し、その使用率を越えた場合、そのブロックへの書き込みを禁止し、全ての書き込みブロックが書き込み禁止となった場合に、新たなファイルの書き込み要求があると、書き込みブロックの空き領域に、その空き領域の大きさに応じて分割して書き込むようにし、いずれかの書き込みブロックが消去された場合、分割されて書き込まれたファイルを消去されたブロックに１つのファイルとして書き込む制御手段とを具備する。
【００１５】
ブロックを少なくとも１つの未書き込みブロックと、書き込みブロックに設定して使用し、書き込みブロックには所定の使用率を定め、その使用率を越えて記憶されている場合はそれ以上の書き込みは禁止する。しかし全ての書き込みブロックにファイルごとに記憶された後に新たなファイルの書き込みが生じた場合は、各ブロックの空の領域にファイルを分割して記憶する。いずれかの書き込みブロックが消去され、未書き込みブロックが２個以上になった場合は、その内の１個に分割されているファイルを１つのファイルにまとめて記憶する。これにより書き込みブロックで１つのファイルが不要となった場合、そのファイルのあるブロックの消去が可能となる。
【００１６】
以下、本発明の実施の形態について図面を参照して説明する。
図１は本実施の形態のファクシミリ装置の構成を示すブロック図である。主制御部１はファクシミリ装置全体を制御する回路である。読取部２は送信する原稿や複写する原稿の読み取りを行う。網制御部３は通信回線と発呼、復旧、ダイヤル等の回線交換網の接続制御を行い、モデム４は送信する画情報を変調し、受信した画情報を復調する。記録部５は受信した画情報または読取部２で読み取った画情報を印刷する。画像処理部６は受信した画情報や読み取った画情報の符号化、復号化処理、拡大縮小回転などの画像処理を行う。メモリ制御部７はフラッシュメモリ８の書き込み、読み出し、データの消去などの制御を行う。フラッシュメモリ８は電源がなくともデータを保持できるメモリで、データの消去はブロック単位で行われる。
【００１７】
図２はフラッシュメモリの構成を示す図である。フラッシュメモリは複数のブロックから構成され、各ブロックは所定の記憶容量を有する。このブロックの記憶容量はメーカがそれぞれ独自に定めている。図２は８ブロックからなるフラッシュメモリを示し、１ブロックの容量は、例えば６４ＫＢ（キロバイト）である。ブロック数もフラッシュメモリの容量に応じて８個，１６個，３２個など種々のものがある。
【００１８】
フラッシュメモリではデータを消去すると各ビットを格納するセルは全て１となり、書き込みは１を書き込むときはそのままであり、０を書き込むときは１を０にする。しかし、０を１にすることは消去するときしかできない。たのためＤＲＡＭなどのようにデータの上に重ね書きするいわゆる上書きができない。つまり書き込む前のメモリは全て１になっていなければならない。このためブロック単位で消去が行われる。
【００１９】
次に第１実施の形態について説明する。本実施の形態は１つのブロックで不要なファイルが発生した場合に、そのファイルの記憶されていたブロックを消去するもので、あたかもファイル単位にメモリを消去しているようなメモリ制御を行う。図３は第１実施の形態の各ブロックの使用状況を説明する図で、（ａ）はフラッシュメモリにフルに記憶した状態を示し、（ｂ）は１つのブロックに不要なファイルが発生した場合のブロック消去方法を示す。
【００２０】
８個のブロックのうち１個（ブロック８）を未書き込みブロック（以降書き換えブロックと称する）とし、残り７個（ブロック１〜７）のブロックを書き込みブロックとする。書き込みブロックにはファイルを順次蓄積してゆき７個の書き込みブロックにファイルが書き込まれると、これ以上の蓄積は行われない。書き換えブロックは空白のまま残しておく。図３（ａ）はこの状態を示す。
【００２１】
次にブロック１のファイルＡが通信を終了して不要になり、消去待ちとなる。しかしファイルＢが存在するためブロック１はそのままでは消去できない。このため、図３（ｂ）に示すようにブロック１の残りのファイル全て（この場合ファイルＢのみ）を書き換えブロック８に移動した後、ブロック１を消去する。このブロック１は書き換えブロックとなり、ブロック８は書き込みブロックとなる。ブロック８はファイルＡ分空きができるので、新たなファイルを蓄積することができる。これによりあたかもファイル単位で消去するのと同じとなる。
【００２２】
次に第２実施の形態を説明する。本実施の形態はブロックの利用率を所定の値に定め、その利用率を越えたときはそのブロックへの書き込みを禁止する。但し全ての書き込みブロックにその利用率に基づいて書き込まれた後に新たなファイルが発生した場合は、各書き込みブロックの空領域にその空領域の大きさに分割して蓄積する。この場合書き換えブロックの外に書き込みブロックが空となったときは、いずれかの空のブロックに分割したファイルを１つのファイルにして移動する。これにより、１つのファイルは１つのブロックに蓄積されるようになり、ブロックの消去が容易となる。全ての書き込みブロックにファイルが所定の利用率で蓄積された後は、各ブロックの空領域に１つのファイルを分割して蓄積し、メモリの利用率を向上させるが、空きブロックが発生すると分割して蓄積されているファイルを１つにして空いたブロックまたは書き換えブロックに蓄積するので、１つのファイルを分割して蓄積する弊害を防止することができる。
【００２３】
図４はブロックの書き込みが所定の利用率以上のときはそのブロックへのファイルの書き込みを禁止して次のブロックに書き込みを行う場合を示す。第２実施の形態では所定の利用率として７５％を用いる。この利用率は送受信する原稿や複写する原稿に応じて適切な値を選ぶようにする。
【００２４】
ファイルを順次ブロックに蓄積してゆくとき、蓄積終了毎に蓄積したブロックの使用率を計算し、その使用率が予め定められた使用率（この場合は７５％）を超えた場合、このブロックにはこれ以上蓄積せず次のブロックを使用する。図４で説明すると、（ａ）はブロック１にファイルＡを蓄積した場合で、まだ使用率が７５％に達しない状態を示す。（ｂ）はさらにファイルＢをブロック１に蓄積した場合で、これにより使用率が７５％を超える。このため次のファイルＣは（ｃ）に示すようにブロック２に蓄積する。これにより各ブロックはファイルごとに蓄積され、１つのファイルが２つのブロックに分割されて蓄積されないようになる。１つのファイルが２つのブロックに分割されて蓄積されると、このファイルは２つのブロックの消去が終わらないと消去されずメモリの使用率が悪くなる。
【００２５】
図５（ａ）は、図４に示す方法で書き込みブロック１〜７にファイルを順次蓄積していった状態を示す。このような状態で、さらに新しいファイルの蓄積要求がある場合は、各ブロック１〜７の空き領域を調べ、空き領域にファイルを分割して蓄積する。なお、１つのブロックの空き領域に新しいファイルが入る場合は分割する必要はない。このように各ブロックの空き領域を使用することにより、メモリの使用率が向上する。
【００２６】
しかし、１つのファイルが分割されて複数のブロックに蓄積されていると分割されたファイルが不要になっても、複数のブロックが同時に消去されることは通常生じないので、不要ファイルの一部分を長く消去せずに保存することになる。このような弊害を防止するため、書き換えブロック８以外の１つのブロックが消去され空ブロックとなると、優先的に分割されたファイルを１つのファイルにして、消去されたブロックに移動する。図５（ｂ）はこの様子を示す。これにより、移動したファイルを消去するときは、そのファイルの蓄積されたブロックの消去のみでよい。
【００２７】
図５（ｂ）において分割されたファイルが蓄積されていたエリアは新たなファイルを書き込むことができない。このため、例えばブロック１の使用中のファイルを書き換えブロック８に移動し、ブロック１を消去し、これを書き換えブロックとする。ブロック８ではブロック１の使用中のファイルのみブロック８に移動しているで、そのファイルを蓄積したエリア以外のエリアは空きのエリアとなり、書き込みが可能となる。同様にしてブロック２〜ブロック４も分割されたファイルが蓄積されたエリアを空にし、書き込み可能にすることができる。つまり図５（ａ）のように使用中のファイルが蓄積されている領域以外の空の領域に書き込みができるようになる。
【００２８】
次に第２実施の形態の動作をフロー図を用いて説明する。
図６はファイルを書き込む場合のフロー図を示し、図７はファイルが不要となったときのブロック消去動作を示す図である。図６において、ファイル書き込みの処理を開始（Ｓ１）すると、まず現在使用途中のブロックがあるか調べ（Ｓ２）、あればそのブロックの使用率が所定値、この場合７５％を越えているかを調べる（Ｓ３）。越えている場合、およびステップＳ２で現在使用途中のブロックがない場合は、書き換え用ブロック以外の空ブロックがあるか調べる（Ｓ４）。あればその空ブロックを獲得する（Ｓ５）。この状態は図４（ｂ）に相当する。
【００２９】
また、ステップＳ３で７５％を越えていない時は、その使用途中のブロックを獲得する（Ｓ６）。この状態は図４（ａ）に相当する。ステップＳ４で空のブロックがない場合、他の使用中ブロックに空きエリアがあるかを調べ（Ｓ７）、あればその使用中ブロックの空きエリアを獲得する（Ｓ８）。この状態は図５（ａ）の状態に相当し、１つのファイルを複数のブロックの空きエリアに分割して蓄積することになる。このようにして獲得したブロックにファイルを書き込む（Ｓ９）。ステップＳ６の場合の書き込みを行うと図４（ｂ）の状態となり、ステップＳ５の場合は、図４（ｃ）の状態となる。ステップＳ８の場合は図５（ｂ）の状態となる。
【００３０】
ファイルを書き込み中にブロックが一杯になった場合は（Ｓ１０）、ファイルを分割して残りを他のブロックに蓄積する。このためステップＳ２に戻り、現在使用途中のブロックが有るか調べ（Ｓ２）、有ればそのブロックの使用率が７５％を越えているかを調べ（Ｓ３）、越えていなければその使用中のブロックを獲得し（Ｓ６）、越えていれば書き換えブロック以外の空ブロックがあるか調べ（Ｓ４）、あればそのブロックを獲得する（Ｓ５）。ない場合、他の使用中ブロックに空エリアがあるか調べ（Ｓ７）、あればその使用中のブロックの空エリアを獲得する（Ｓ８）。このようにしてステップＳ５，Ｓ６，Ｓ８のいずれかで獲得したブロックに分割したファイルの未書き込み分を書き込んでゆく（Ｓ９）。このようにしてブロックの空きエリアに分割したファイルを書き終わるまで、ステップＳ２〜Ｓ９を繰り返し、ファイルの書き込みが終わったときにファイル書き込み処理が正常に終了する（Ｓ１１）。なお、ステップＳ７で他の使用中ブロックに空きエリアがない場合、メモリオーバフローとしてそれ以上の蓄積は中止される（Ｓ１２）。
【００３１】
次に図７を用いて不要になったファイル消去、つまりブロック消去の動作を説明する。ファイル削除処理を開始する（Ｓ２１）。まず送信が終了したファイルや受信し記録が終了したファイルを無効にする（Ｓ２２）。この無効にしたファイルが蓄積されていたブロックに他の有効なファイルがあるか調べ（Ｓ２３）、なければ無効にしたファイルの蓄積されたブロックを消去する（Ｓ２７）。他の有効なファイルがある場合は、その有効なファイルが複数のブロックに分割されて蓄積されているか調べ（Ｓ２４）、分割されていなければ書き換え用ブロックを獲得する（Ｓ２５）。次にその有効なファイルを書き換え用ブロックに移動し（Ｓ２６）、無効にしたファイルの蓄積されたブロックを消去し（Ｓ２７）、ファイル削除処理を終了する（Ｓ３１）。ステップＳ２２〜Ｓ２７の動作は図４（ｂ）で説明した状態を表している。
【００３２】
ステップＳ２４で有効なブロックが複数に分割されているときは、書き換え用ブロック以外の空ブロックがあるか調べ（Ｓ２８）、あればこの空ブロックを獲得し（Ｓ２９）、分割された有効なファイルを他のブロックに蓄積されているものも含めて全て、この空のブロックに移動し（Ｓ３０）、無効にしたファイルの蓄積されたブロックを消去し（Ｓ２７）、ファイル削除処理を終了する（Ｓ３１）。また、ステップＳ２８で書き換え用ブロック以外に空ブロックがない場合は、無効にされたファイルの蓄積されたブロックを消去することができないので、無効にされたファイルを蓄積した状態で放置し、ファイル削除処理を終了する（Ｓ３１）。
【００３３】
【効果】
以上の説明より明らかなように、ブロック単位でしか消去できないメモリに対して、少なくとも１つのブロックを未書き込みブロックとして設定し、各ブロックの使用率を定め、その使用率を越えたブロックにはファイルを蓄積しないようにすることにより、１つのファイルが２つのブロックに分割されて蓄積することを防止する。これにより不要となったファイルが発生した場合、１つのブロックを消去すれば、その不要ファイルを消去できるので効率的なブロックの消去が行える。また、全ての書き込みブロックが空きブロックでなくなった時点で、１つのファイルを各ブロックの空き領域に分割して蓄積することにより、各ブロックに空き領域が残ってしまうことがなく、メモリの使用率を向上することができる。さらに、書き込みブロックの１つのブロックが空きブロックとなった時、優先的に分割されて蓄積されたファイルをこの空きブロックに移動して１つのファイルとすることにより、分割されたファイルが不要となった場合に複数のブロックの消去を必要とせず、ブロックの消去を効率的に行うことができる。
【図面の簡単な説明】
【図１】本実施の形態のファクシミリ装置のブロック図
【図２】フラッシュメモリの構成を示す図
【図３】第１実施の形態の各ブロックの使用状況を説明する図で、（ａ）はフラッシュメモリにフルに記憶した状態を示し、（ｂ）は１つのブロックに不要なファイルが発生した場合のブロックの消去方法を示す図
【図４】ブロックの書き込みが所定の利用率を越えている時そのブロックへのファイルの書き込みを禁止する場合の説明で、（ａ）はブロック１にファイルＡを蓄積した場合、（ｂ）はさらにファイルＢを蓄積し、所定の使用率を越えた場合、（ｃ）はファイルＣをブロック２に蓄積する状態を示す図
【図５】（ａ）は所定の使用率で全ての書き込みブロックに蓄積が終わり、各ブロックに生じた空エリアに新たなファイルを分割して蓄積する状態を示し、（ｂ）は空ブロックが発生した場合、各ブロックに分割して蓄積されていたファイルを空ブロックに移す状態を示す図
【図６】ファイルをブロックに蓄積する動作フロー図
【図７】ファイル消去の動作フロー図
【符号の説明】
１  主制御部
２  読取部
３  網制御部
４  モデム
５  記憶部
６  画像処理部
７  メモリ制御部
８  フラッシュメモリ
【図１】
0003580929.tif 000002
【図２】
0003580929.tif 000003
【図３】
0003580929.tif 000004
【図４】
0003580929.tif 000005
【図５】
0003580929.tif 000006
【図６】
0003580929.tif 000007
【図７】
0003580929.tif 000008