(57)【要約】【課題】不揮発性保存装置にマルチメディアデータをブロック単位で保存する方法及び装置を提供する。【解決手段】マルチメディアデータを受信するステップ、不揮発性メモリに含まれたブロックのうちの全ページが空いているブロックに順次に前記受信したマルチメディアデータを保存するステップ、及びメモリでデータが保存されたページがブロックの一部を構成する切片化されたブロックを検索し、切片化されたブロックのページを１つのブロックに移動させるステップを含む不揮発性保存装置にマルチメディアデータをブロック単位で保存する方法。【選択図】図３
2006172458.tif 000002
【特許請求の範囲】
【請求項１】
マルチメディアデータを受信するステップと、
不揮発性メモリに含まれたブロックのうちの全ページが空いているブロックに順次に前記受信したマルチメディアデータを保存するステップと、
前記メモリからデータの保存されたページがブロックの一部を構成する切片化されたブロックを検索し、前記切片化されたブロックのページを１つのブロックに移動させるステップと、を含むことを特徴とする不揮発性保存装置にマルチメディアデータをブロック単位で保存する方法。
【請求項２】
前記ブロックは、前記メモリで一度に削除できる領域であって、２つ以上のページを含み、前記ページは、前記メモリで一度に保存できる領域であることを特徴とする請求項１に記載の不揮発性保存装置にマルチメディアデータをブロック単位で保存する方法。
【請求項３】
前記全ページが空いているブロックは、有効でないデータであるガーベッジの保存されたページを含まないブロックであることを特徴とする請求項１に記載の不揮発性保存装置にマルチメディアデータをブロック単位で保存する方法。
【請求項４】
前記保存するステップは、前記マルチメディアデータの大きさが、前記ブロックサイズより大きい場合、前記マルチメディアデータの第１部分を所定ブロックの全ページに保存し、前記マルチメディアデータの第２部分を他のブロックの少なくとも一部ページに保存するステップを含むことを特徴とする請求項１に記載の不揮発性保存装置にマルチメディアデータをブロック単位で保存する方法。
【請求項５】
前記マルチメディアデータの第２部分を保存したブロックは、前記第１部分を保存したブロックと論理的または物理的に隣接したブロックであることを特徴とする請求項４に記載の不揮発性保存装置にマルチメディアデータをブロック単位で保存する方法。
【請求項６】
前記メモリはフラッシュメモリ、ＰＲＡＭ、ＭＲＡＭのうちの何れか１つであることを特徴とする請求項１に記載の不揮発性保存装置にマルチメディアデータをブロック単位で保存する方法。
【請求項７】
前記メモリでガーベッジの保存されたページを含むブロックで前記ガーベッジを削除するステップをさらに含むことを特徴とする請求項１に記載の揮発性保存装置にマルチメディアデータをブロック単位で保存する方法。
【請求項８】
前記マルチメディアデータを、受信するステップ後に、揮発性メモリに臨時に保存するステップをさらに含むことを特徴とする請求項４に記載の不揮発性保存装置にマルチメディアデータをブロック単位で保存する方法。
【請求項９】
一般のデータを受信するステップと、
前記メモリに含まれたブロックのうちの少なくとも一部ページが空いているブロックに前記受信した一般データを保存するステップと、
前記メモリでデータの保存されたページがブロックの一部を構成する切片化されたブロックを検索し、前記切片化されたブロックのページを１つのブロックに移動させるステップと、をさらに含むことを特徴とする請求項１に記載の不揮発性保存装置にマルチメディアデータをブロック単位で保存する方法。
【請求項１０】
マルチメディアデータを受信するデータ受信部と、
全ページが空いているブロックに順次に前記受信したマルチメディアデータを保存する保存部と、
前記保存部でデータの保存されたページがブロックの一部を構成する切片化されたブロックを検索し、前記切片化されたブロックのページを１つのブロックに移動させる制御部と、を備えることを特徴とする保存装置。
【請求項１１】
前記ブロックは、前記保存部で一度に削除できる領域であって、２枚以上のページを含み、前記ページは、前記保存部で一度に保存できる領域であることを特徴とする請求項１０に記載の保存装置。
【請求項１２】
前記全ページが空いているブロックは、有効でないデータであるガーベッジの保存されたページを含まないブロックであることを特徴とする請求項１０に記載の保存装置。
【請求項１３】
前記保存部は、前記マルチメディアデータの大きさが前記ブロックサイズより大きい場合、前記マルチメディアデータの第１部分を所定ブロックの全ページに保存し、前記マルチメディアデータの第２部分を他のブロックの少なくとも一部ページに保存することを特徴とする請求項１０に記載の保存装置。
【請求項１４】
前記マルチメディアデータの第２部分を保存したブロックは、前記第１部分を保存したブロックと論理的または物理的に隣接したブロックであることを特徴とする請求項１３に記載の保存装置。
【請求項１５】
前記保存部は、フラッシュメモリ、ＰＲＡＭ、ＭＲＡＭのうちの何れか１つを含むことを特徴とする請求項１０に記載の保存装置。
【請求項１６】
前記制御部は、前記保存部でガーベッジの保存されたページを含むブロックから前記ガーベッジを削除することを特徴とする請求項１０に記載の保存装置。
【請求項１７】
前記受信したマルチメディアデータを臨時に保存する臨時保存部をさらに含むことを特徴とする請求項１０に記載の保存装置。
【請求項１８】
前記データ受信部は、一般のデータを受信し、前記保存部は、少なくとも一部ページが空いているブロックに前記受信した一般のデータを保存し、前記制御部は、前記保存部でデータの保存されたページがブロックの一部を構成する切片化されたブロックを検索し、前記切片化されたブロックのページを１つのブロックに移動させることを特徴とする請求項１０に記載の保存装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性保存装置にマルチメディアデータをブロック単位で保存する方法及び装置に関する。
【背景技術】
【０００２】
マルチメディア技術の発達によってデータが大容量化されている。また、コンピュータではないデジタルカメラ、デジタルカムコーダ、デジタル録音機などマルチメディアデータの保存を必要とする機器が多様化されつつあり、マルチメディアデータを保存する不揮発性保存装置に対する関心も増加しつつある。このような不揮発性保存装置のうち、ＮＡＮＤフラッシュメモリのように書き込み作業の実行前に、削除作業を必要とするメモリがある。このようなメモリをブロックアクセスメモリ（Ｂｌｏｃｋ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）という。
【０００３】
ブロックアクセスメモリの場合、データを保存するには、削除を先行せねばならないが、一度に削除する単位が一度に保存する単位より大きい場合がある。保存単位が５１２［ｂｙｔｅ］、削除単位が１６［ｋｂｙｔｅ］である場合を例として挙げれば、通常の保存作業は５１２［ｂｙｔｅ］で行われる。ところで、保存が行われる部分が削除されていない部分に属しているならば、まず削除を行わねばならない。したがって、５１２［ｂｙｔｅ］を書き込むために１６［ｋｂｙｔｅ］を削除した後で、再び５１２［ｂｙｔｅ］を書き込む場合が発生する。これは、ブロックアクセスメモリの場合、削除された状態（Ｅｒａｓｅｄ）と削除されていない状態（Ｎｏｎｅｒａｓｅｄ）との２つが存在するからである。
【０００４】
図１は、従来のフラッシュメモリでページ単位でデータを記録する過程を示す例示図である。
【０００５】
フラッシュメモリ１００は、ページ単位で記録可能である。ページは、通常５１２［ｂｙｔｅ］または１０２４［ｂｙｔｅ］のように一定サイズを有する。したがって、１バイトを書き込もうとしても、そのバイトの保存される領域が属した１ページ全体に対して保存作業が行われる。図１のフラッシュメモリ１００は、ページで保存領域を区分して示している。０ｘ０００３ページに１バイトの情報を書き込むために、１ページサイズほどバッファリングをした後で、メモリ２００に保存された情報をフラッシュメモリ１００に保存することができる。フラッシュメモリ１００に保存する単位は、ページであるために、ページより小さい単位のデータを保存しても、１ページを占めるようになる。その結果、１バイトを書き込んだ後には、そのページに再びデータを保存することができず、削除して初めて保存することができる。バッファリングを行うメモリ２００は、レジスター（ｒｅｇｉｓｔｅｒ）のように情報を迅速に入出力する記憶素子である。
【０００６】
図２は、従来のフラッシュメモリで１ページのデータを保存するために１ブロックに保存されたガーベッジを削除した後で保存する過程を示す例示図である。
【０００７】
図１では、データを保存する場合、削除せずにデータを保存した場合を示す。しかし、フラッシュメモリの使用時、データを保存しようとするページは有効でないガーベッジを有することができる。ガーベッジとは、不要な情報であり、他のデータが保存されても良いが、まだメモリで削除されていないことを意味する。フラッシュメモリの場合、保存する位置にガーベッジがある場合、オーバーライト（ｏｖｅｒｗｒｉｔｅ）されず、必ず削除せねばならない。図１の場合は、ガーベッジのない場合であり、図２では、ガーベッジのあるページにデータを書き込むために行う一連の過程を示す。
【０００８】
符号１０１は、ページ単位で区別されているフラッシュメモリを示す。そして、１ブロック  ブロックＡは、３２ページで構成される。ページは、書き込み、読み込みの単位であり、ブロックは、削除の単位である。したがって、削除作業を行うには、１ブロック全体を削除する。
【０００９】
図２で示すフラッシュメモリのページの状態は、符号５０に羅列された３つの状態のうちの１つである。有効なデータの保存されたページは、符号１０のように濃い色で表し、ガーベッジの保存されて削除されていない状態は、符号２０のように表す。そして、ガーベッジが削除されたり、データが保存されたことがないために、データを直ちに書き込める状態は、符号３０のように表す。符号２０のように削除されていないページは、データを書き込む前に削除作業が先行されねばならない。
【００１０】
符号１０１のメモリは、データの保存されたページ０ｘ０００１、０ｘ０００２、０ｘ０００３、０ｘ００１Ｆ、０ｘ８０１２と削除されていないガーベッジの残っているページ０ｘ００００、０ｘ００１Ｃ、０ｘ００１Ｄ、０ｘ００１Ｅ、そして削除された状態のページ０ｘ８０１１、０ｘ８０１３などで構成される。ここで、０ｘ００１Ｃページにデータを保存しようとする。この場合、０ｘ００１Ｃページは、削除されていない状態で、データを保存するためには、削除を行わねばならない。ところで、フラッシュメモリは、前述したように削除の単位が保存単位より大きい。その結果、０ｘ００００から０ｘ００１Ｆのページで構成されたブロックＡのページ全体を削除した後で、０ｘ００１Ｃページにデータを保存することができる。ところが、ブロックＡには、有効なデータが保存されたページがあるために、有効なデータがあるページまで削除できない。したがって、ブロックＡの削除前に、ブロックＡを構成するページの情報をメモリ（バッファ）２００にコピーする。そして、０ｘ００１Ｃページに保存するデータをメモリ２００に保存する。これは臨時に保存することである。そして、符号１０２のようにフラッシュメモリ１００のブロックＡのページを削除してメモリに保存されたページを書き込める状態にする。以降、ブロックＡを構成するページは削除された状態の符号３０であって、直ちにデータを書き込める状態であるために、メモリ２００に保存されたページを保存する。この際、符号１０３で現れたように、以前のガーベッジを有していたページは書き込まず、有効なデータ０ｘ０００１、０ｘ０００２、０ｘ０００３、０ｘ０００１Ｃ、０ｘ０００１Ｆだけ保存すれば、以後のブロックＡの他のページには、削除作業なしにデータを保存することができる。
【００１１】
図２の例で提示されたように、１ページを書き込むためには、１ブロックを削除せねばならない。したがって、データがブロック内で一括的に削除されるわけではなく、一部だけ削除され、一部にデータが保存されている場合、図２の方式のように削除後保存を行わねばならないので、長い時間がかかる。
【００１２】
一方、マルチメディアデータは、リアルタイムでデータが受信され、連続的に多くのデータが保存される特性のために、削除作業が保存作業の中間に多く存在する場合、削除によって遅延時間が延びる。したがって、削除を最小限に減らしつつ保存する方式が必要である。そして、マルチメディアデータは、ファイル単位で削除されるので、ページ単位を超えた変更、削除が発生しうる。したがって、フラッシュメモリのようなブロック単位で削除を行う不揮発性保存装置でマルチメディアデータを迅速に保存する方法が必要である。
【特許文献１】特開２００１−５７０１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
本発明の技術的課題は、不揮発性保存装置にマルチメディアデータを保存する時間を短縮させるところにある。
【００１４】
本発明の他の技術的課題は、マルチメディアデータを読み込む時間を短縮させるところにある。
【００１５】
本発明の目的は、以上で言及した目的に制限されず、言及されていない他の目的は下の記載から当業者に明確に理解されうる。
【課題を解決するための手段】
【００１６】
本発明は、不揮発性保存装置にマルチメディアデータをブロック単位で保存する方法及び装置に関する。
【００１７】
本発明の一実施形態による不揮発性保存装置にマルチメディアデータをブロック単位で保存する方法は、マルチメディアデータを受信するステップ、不揮発性メモリに含まれたブロックのうちの全ページが空いているブロックに順次に前記受信したマルチメディアデータを保存するステップ、及び前記メモリでデータの保存されたページがブロックの一部を構成する切片化されたブロックを検索し、前記切片化されたブロックのページを１つのブロックに移動させるステップを含む。
【００１８】
本発明の一実施形態による保存装置は、マルチメディアデータを受信するデータ受信部、全ページが空いているブロックに順次に前記受信したマルチメディアデータを保存する保存部、及び前記保存部でデータの保存されたページがブロックの一部を構成する切片化されたブロックを検索し、前記切片化されたブロックのページを１つのブロックに移動させる制御部を含む。
【発明の効果】
【００１９】
本発明によれば、不揮発性保存装置にマルチメディアデータを保存する時間を短縮させうる。また、マルチメディアデータを読み込む時間を短縮させうる。
【発明を実施するための最良の形態】
【００２０】
説明に先立って本明細書で使用する用語の意味を簡略に説明する。ところで、用語の説明は本明細書の理解を助けるためのものであって、明示的に本発明を限定する事項として記載していない場合、本発明の技術的思想を限定する意味として使用するものではないということに注意せねばならない。
【００２１】
−ブロックアクセスメモリ（Ｂｌｏｃｋ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）
保存される位置のメモリ素子にガーベッジが存在する場合、これを削除した後で情報を保存する方式のメモリを含む。ＮＡＮＤフラッシュメモリは、現在ブロックアクセスメモリにおいて主流をなしている。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）の一種で電源が供給されない場合にも、一部の情報を保存するＰＲＡＭ（Ｐａｒａｍｅｔｅｒ  ＲＡＭ）、ビットを磁場（ｍａｇｎｅｔｉｃ  ｃｈａｒｇｅ）を用いて保存するＭＲＡＭ（Ｍａｇｎｅｔｏｒｅｓｉｓｔｉｖｅ  ＲＡＭ）などがブロックアクセスメモリに含まれる。
【００２２】
−フラッシュメモリ（Ｆｌａｓｈ  ｍｅｍｏｒｙ）
一種のＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  ａｎｄ  Ｐｒｏｇｒａｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）であって、バイト単位Ｉ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）を支援するＮＯＲ型と、ページ単位Ｉ／Ｏを支援するＮＡＮＤ型とに大別される。ＮＯＲ型フラッシュメモリは、読み込みが速い一方、書き込みが遅く、ＮＡＮＤ型メモリは、書き込み速度が速く、かつ単位単価が低くて、主に大容量データの保存装置に用いられる。不揮発性メモリであって、電源が供給されなくてもデータが保存される。本明細書では、ブロックアクセスメモリの一種であるＮＡＮＤ型フラッシュメモリを基準に説明するが、これは一実施形態であり、保存作業前に削除作業を必要とするメモリに適用可能である。
【００２３】
−バッファ（Ｂｕｆｆｅｒ）
メモリは、大きく不揮発性メモリと揮発性メモリとに分けられる。本明細書でバッファと称されるメモリは、上記の揮発性メモリを意味し、レジスター、ＲＡＭのように速い入出力を提供して、データを臨時に保存する。通常、フラッシュメモリには、レジスターが装着されてデータの入出力速度を速めることがある。
【００２４】
−保存単位（Ｗｒｉｔｉｎｇ  Ｕｎｉｔ、書き込み単位、記録単位）
一度に保存（書き込み、記録）される単位を意味する。フラッシュメモリの場合、このような単位をページ（ｐａｇｅ）という。ページは、例えば、５１２［ｂｙｔｅ］のようにメモリの製造会社での製造時にあらかじめ決まったサイズに設定される。
【００２５】
−削除単位（Ｅｒａｓｉｎｇ  Ｕｎｉｔ、消去単位）
一度に削除が起きる単位を意味する。削除単位が保存単位より大きい場合、いくつかの保存単位が削除単位になりうる。フラッシュメモリの場合、このような削除単位をブロック（ｂｌｏｃｋ）と呼ぶ。ブロックの大きさが１６［ｋｂｙｔｅ］であり、ページが５１２［ｂｙｔｅ］である場合、このブロックは、３２ページより構成されると言える。ブロックの大きさ、ページの大きさ、そしてこれら間の相関関係はメモリの特性と製造会社、メモリ素子によって多様に導出されうる。
【００２６】
−ブロック（Ｂｌｏｃｋ）、ページ（Ｐａｇｅ）
削除単位のメモリ領域をブロックと称し、保存単位のメモリ領域をページと称する。
【００２７】
−フラッシュメモリの状態
フラッシュメモリには大きく３つの状態がある。読込み可能な有効なデータが保存された状態、データが保存されず、直ちに保存可能な状態（Ｅｒａｓｅｄ  Ｓｔａｔｅ）、そして有効でないガーベッジが保存されて、データを保存するためには削除が先行されねばならない状態（Ｎｏｎｅｒａｓｅｄ  Ｓｔａｔｅ）が存在する。前述した削除単位が保存単位より大きいために、保存作業時に削除作業を先に行うオーバーヘッドが発生しうる。
【００２８】
図３は、本発明の一実施形態によるマルチメディアデータがブロックアクセスメモリに保存される過程を示す例示図である。
【００２９】
図３のメモリ１１０、１１１、１１２は、図１および図２において、ページ単位でフラッシュメモリの区域を分けたものとは異なって、ブロック単位で表している。そして、１つのブロックには２つ以上のページが存在しうる。
【００３０】
フラッシュメモリは、ブロックアクセスメモリの一実施形態であり、ページ（ｐａｇｅ）は保存単位のメモリサイズを表し、ブロックは削除単位または消去単位のメモリサイズを表す。
【００３１】
マルチメディアデータは、前述したように、その特性上、連続的に保存され、連続的に読込まれるデータである。そして、データが修正される場合はさほど多くない。したがって、データを保存するためにブロック削除を行う時間を短縮させるように、マルチメディアデータの保存をブロック単位で行う。最後のデータは、ブロックサイズより小さい場合に例外的にページ単位で保存する。保存をブロック単位で行うということは、データの保存時、１ブロックの全ページにデータを保存することを意味する。通常、フラッシュメモリのような特性のメモリは、保存単位がページ単位であるが、本明細書では、マルチメディアデータの迅速な保存と切片化されたブロックの増加を抑制するために１ブロックの全ページにデータを保存する。また、削除なしにデータ保存が可能なブロックが複数個存在する場合、順次に保存してデータ入出力時の遅延時間を短縮させうる。順次的な保存は、１ブロック内でも１ブロックを構成するページに順次にデータを保存することを含む。
【００３２】
図３のメモリ１１０は、ブロック単位で２マルチメディアデータＡＶＤａｔａ＿１、ＡＶＤａｔａ＿２が保存されたフラッシュメモリの一部領域である。ＡＶＤａｔａ＿１は０ｘ００２８ブロックまでブロック単位で保存されており、最後のデータサイズがブロックサイズより小さくて０ｘ００２９ブロックの一部ページだけを満たしている。もちろん、０ｘ００２９ブロックの残りのページは削除作業なしにデータを保存しうる状態である。しかし、ＡＶ＿Ｄａｔａ＿２は、０ｘ００２９ブロックの残りのページにデータを保存するものではなく、０ｘ００３０ブロックからブロック単位でデータを保存する。そして、０ｘ００５２ブロックまでＡＶＤａｔａ＿２を保存して残ったデータは、０ｘ００５３ブロックに保存する。ＡＶＤａｔａ＿１とＡＶＤａｔａ＿２とをブロック単位で保存した結果、ブロックの一部だけ保存されている切片化（Ｆｒａｇｍｅｎｔａｔｉｏｎ）されたブロックが０ｘ００２９、０ｘ００５３存在する。切片化されているブロックが多く存在するほど、削除単位と保存単位とが一致せず、結果的にマルチメディアデータをブロック単位で保存するのに障害となりうる。したがって、このように切片化されたブロックを再び合わせる過程が必要である。合わせるということは、いろいろなブロックの一部に存在するデータの保存されたページをブロックを満たせるように移して保存することを意味する。
【００３３】
この過程は、再び２つの場合に分けて説明しうる。０ｘ００２９、０ｘ００５３２ブロックの一部を占めるページを合わせた大きさが１つのブロックより大きい場合と小さい場合とに分けうる。
【００３４】
（ａ）は、切片化されたブロックのページを合わせたとき、１ブロックより大きい場合を示す。例えば、３２個のページが１つのブロックを構成する場合に、２ブロックにあるページがいずれも３２個を超える場合である。ＡＶＤａｔａ＿１が保存された０ｘ００２９ブロックに、ＡＶＤａｔａ＿２の０ｘ００５３ブロックに保存された一部のデータを保存する。０ｘ００５３ブロックには、０ｘ００２９にコピーされていない一部のページが残っている。そして、０ｘ００２９は、ＡＶＤａｔａ＿１とＡＶＤａｔａ＿２のページを合わせ、ブロック全体が有効なデータで満たされるようになる。その結果、有効なデータが一部だけ残っている切片化されたブロックは０ｘ００５３に１つだけ存在する。保存された結果は、メモリ１１１と同じである。
【００３５】
（ｂ）は、切片化されたブロックのページを合わせたとき、１ブロックより小さいか、同じ場合を示す。ＡＶＤａｔａ＿１の保存された０ｘ００２９ブロックに、ＡＶＤａｔａ＿２の０ｘ００５３ブロックに保存されたあらゆるデータを保存する。０ｘ００５３ブロックには、それ以上有効なデータが存在していない。もし、ページを合わせた場合の大きさが１ブロックの大きさと同じならば、それ以上切片化されたブロックは存在しない。例えば、１ブロックを構成するページ数が３２個であり、０ｘ００２９ブロックと０ｘ００５３ブロックに存在するページが３２個ならば、０ｘ００２９ブロックに０ｘ００５３ブロックのページを移したとき、１ブロックをいずれも満たすようになる。０ｘ００５３は、これ以上有効なデータが存在せず、０ｘ００２９ブロックは全ページに有効なデータが）保存されたためである。
【００３６】
もし、合わせられた場合のページ数が１ブロックを構成するページ数より少ないならば、１つの切片化されたブロックが存在する。０ｘ００５３は、これ以上有効なデータを有していないために、切片化されたブロックではなく、０ｘ００２９はＡＶＤａｔａ＿１とＡＶＤａｔａ＿２の最後のデータを合わせて残ったページが存在するので、切片化されたブロックが存在する。保存された結果は、メモリ１１２と同じである。
【００３７】
以降、他のマルチメディアデータを保存する場合、図３の説明と同様にブロック単位で保存した後で、最後のデータが保存されたブロックが切片化されたブロックである場合、このブロックと、以前に存在する切片化されたブロックとを合わせる作業を行う。
【００３８】
図４は、本発明の一実施形態による一般のデータがブロックアクセスメモリに保存される過程を示す例示図である。図４のメモリ１１５、１１６もブロック単位でフラッシュメモリの区域を示している。１つのブロックには、２以上のページが存在しうる。
【００３９】
一般のデータ（Ｎｏｎ−ｍｕｌｔｉｍｅｄｉａ  ｄａｔａ）は、マルチメディアとは違って、ブロック単位ではなく、フラッシュメモリの保存単位であるページ単位で保存される。図３のマルチメディアデータ保存で発生しうる切片化されたブロックに、まず一般データを保存する。図４では、一般データであるＮｏｒｍａｌＤａｔａを保存している。メモリ１１５は、図３Ａのように、切片化されたブロック０ｘ００５３が最後に存在する場合、ＮｏｒｍａｌＤａｔａが順次にページ単位で保存される場合を示す。
【００４０】
メモリ１１６は、図３Ｂのように切片化されたブロック０ｘ００２９がマルチメディアデータ間に存在する場合、ＮｏｒｍａｌＤａｔａが順次に保存される場合を示す。
【００４１】
図３Ａ、図３Ｂで、０ｘ００５３ブロックの一部ページが０ｘ００２９ブロックに保存されるので、０ｘ００５３の一部ページはガーベッジとして存在する。この場合、ＮｏｒｍａｌＤａｔａの保存時には、このガーベッジを含む０ｘ００５３ブロックを削除した後で保存するか、あるいは、一旦ガーベッジの保存されたブロックにＮｏｒｍａｌＤａｔａを保存した後でガーベッジをなくす作業を行うかについては具現によって変わりうる。一般のデータは、リアルタイム保存が重要な変数ではないので、ブロック単位で保存しなくても良い。
【００４２】
図５は、本発明の一実施形態によるブロックの４つの状態を示す例示図である。ブロックは、切片化ブロック、データ（Ｆｕｌｌ、Ｄａｔａ）ブロック、削除された（Ｅｍｐｔｙ）ブロック、そしてガーベッジブロックである。図５のフラッシュメモリを表す１１１、１１２は、図３Ａおよび図３Ｂに示されたものである。また、ブロック単位でメモリ領域を区別して表している。
【００４３】
切片化ブロック１９１は、メモリ１１１の０ｘ００５３ブロックのように、有効なデータが一部保存されたブロックである。ここには、ガーベッジと有効データとが１つのブロックに存在する場合と有効データの一部だけ１つのブロックにある場合とをいずれも含む。
【００４４】
データブロック１９２は、有効なデータで１つのブロックが満たされた場合であって、０ｘ０００３ブロックがデータブロックの例である。データブロック１９２は有効なデータだけで満たされたデータブロックを示し、ガーベッジも存在せず、今後データの保存されうる空ページも存在していないブロックを意味する。
【００４５】
削除されたブロック１９３は、データが保存されておらず、ガーベッジも存在していないブロックを意味する。メモリ１１２の０ｘ００５４のようにデータを保存するために削除作業を必要としないブロックである。
【００４６】
ガーベッジブロック１９４は、ガーベッジが存在するブロックを意味する。メモリ１１２の０ｘ００５３ブロックのようにガーベッジがブロックの一部を占める場合を含む。また、全体ブロックがガーベッジである場合もこれに該当する。もし、有効なデータを含むページが一部存在し、ガーベッジを有するページが一部存在するならば、これはガーベッジブロックではない、切片化ブロックとする。
【００４７】
前記ブロックの４つの状態は、２ｂｉｔで表示可能である。具現によってさらに多くの状態を分ける場合には、２ｂｉｔ以上の表示も可能である。また、データ保存如何だけを表す場合、またはガーベッジ収集方式によって前述した４つの状態のうち、存在していない状態がある場合には、１ｂｉｔでも表示可能である。
【００４８】
図６は、本発明の一実施形態によるブロックアクセスメモリにデータを保存する過程を示すフローチャートである。図６は、２種のガーベッジ収集政策に基づく。バッファリング中にガーベッジを収集する場合と、データを保存した後で切片化されたブロックを集める切片集め作業を行った後でガーベッジ収集を行う場合とに分けられる。
【００４９】
保存するデータがマルチメディアデータであるか、一般のデータであるかによって、保存する方式が異なるので、受信したデータがマルチメディアデータであるか否かを判断する（Ｓ１０２）。判断の結果、マルチメディアデータである場合、現在のガーベッジ収集政策が何かを調べる。バッファリングする途中でガーベッジ収集を行う場合（Ｓ１１２）、ガーベッジ収集を行う（Ｓ１１４）。ガーベッジ収集は、前述したガーベッジブロックを、データを記録できる削除されたブロックに変更する作業である。ガーベッジ収集は、マルチメディアデータの受信中に行われうる（Ｓ１１６）。したがって、臨時保存部にマルチメディアデータが受信されてバッファリング（臨時保存）しつつ、ガーベッジを収集するので、遅延が発生しないか、遅延を減らしうる。受信したマルチメディアデータが１つのマルチメディアコンテンツの最後のデータでなければ（Ｓ１２０）、マルチメディアデータの大きさは１ブロックを満たせるので、１ブロックに受信したマルチメディアデータを保存する（Ｓ１２２）。このブロックは、Ｓ１１４ステップでガーベッジ収集を行ってガーベッジが削除されたブロックである。そして、マルチメディアコンテンツをいずれも受信するまで、Ｓ１１４からＳ１２２ステップを反復して行う。マルチメディアコンテンツの最後の部分を構成するマルチメディアデータを受信し、このデータの大きさがブロックサイズと同じならば、１ブロックに保存し、もし、このデータの大きさがブロックサイズより小さいならば、ページ単位で保存する（Ｓ１２４）。このようにブロックの一部ページにデータが保存されたブロックは切片化されたブロックである。
【００５０】
一方、Ｓ１１２ステップでバッファリング中にガーベッジ収集を行わない場合ならば、データを受信して保存する過程を進める。マルチメディアデータを受信する（Ｓ１３２）。受信したデータは、レジスターのような臨時保存部にバッファリングしうる。一定データを受信してブロック単位またはページ単位で保存しうるためである。受信したマルチメディアデータが１つのマルチメディアコンテンツの最後のデータでなければ（Ｓ１３４）、マルチメディアデータの大きさは、１ブロックを満たせるので、１ブロックに受信したマルチメディアデータを保存する（Ｓ１３６）。このブロックは、ガーベッジのない削除されたブロックである。そして、マルチメディアコンテンツをいずれも受信するまで、Ｓ１３２からＳ１３６過程を反復して行う。マルチメディアコンテンツの最後の部分を構成するマルチメディアデータを受信して、このデータの大きさがブロックサイズと同じならば、１ブロックに保存し、もし、このデータの大きさがブロックサイズより小さいならば、ページ単位で保存する（Ｓ１３８）。このようにブロックの一部ページにデータが保存されたブロックは切片化されたブロックである。
【００５１】
一方、Ｓ１０２ステップで受信するデータがマルチメディアデータではない一般のデータならば、データを受信し（Ｓ１４２）、受信したデータはページ単位またはブロック単位で一般のデータを保存する（Ｓ１４４）。Ｓ１４２ステップのデータ受信は臨時保存部にバッファリングをする場合を含む。最後のデータでなければ（Ｓ１４６）、再びＳ１４２ステップに戻ってデータを受信する。最後のデータならば（Ｓ１４６）、ページ単位で一般のデータを保存する（Ｓ１４８）。
【００５２】
データを保存するステップ（Ｓ１２４、Ｓ１３８、Ｓ１４８）が完了すれば、切片化されたブロックを集める作業を行う（Ｓ１５０）。これは、図３に示す２つ以上の切片化されたブロック、または割れたブロックのデータを１ブロックに合わせる作業を意味する。
【００５３】
切片化されたブロックとは、ブロックの全体ではない一部のページにデータが保存されたブロックを意味する。割れたブロックのデータを１ブロックに合わせるということは、一部ページに保存されたデータを１つのブロックのページに保存することを意味する。
【００５４】
そして、ガーベッジ収集方式が切片化ブロック集め以後にガーベッジ収集を行う場合（Ｓ１５２）、ガーベッジ収集を行う（Ｓ１５４）。
【００５５】
図７は、本発明の一実施形態によ休止期間時にガーベッジ収集を行う過程を示すフローチャートである。
【００５６】
休止期間（ｉｄｌｅ  ｔｉｍｅ）とは、メモリに読込みしたり、書き込みする作業が行われていない期間をいう。この場合、メモリの入出力がないためにガーベッジ収集を行うことがメモリの入出力速度に影響を及ぼさない。休止期間になれば（Ｓ２０２）、ガーベッジ収集政策が何かを判断する（Ｓ２０４）。休止期間中にガーベッジ収集を行う場合ならば、ガーベッジ収集を行う（Ｓ２０６）。ガーベッジ収集作業中にメモリの入出力命令が入れば、ガーベッジ収集を中断しうる。
【００５７】
図８は、本発明の一実施形態による保存装置の構造を示す構成図である。
【００５８】
本実施例で使われる‘部’という用語、すなわち、‘モジュール’、‘テーブル’は、ソフトウェアまたはＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）または注文型半導体（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ；ＡＳＩＣ）のようなハードウェア構成要素を意味し、モジュールは所定の役割を行う。しかし、モジュールはソフトウェアまたはハードウェアに限定されるものではない。モジュールは、アドレッシング可能な保存媒体に存在すべく構成されても良く、１つまたはそれ以上のプロセッサーを実行させるように構成されても良い。したがって、一例としてモジュールは、ソフトウェア構成要素、客体指向ソフトウェア構成要素、クラス構成要素及びタスク構成要素のような構成要素と、プロセス、関数、属性、プロシージャ、サブルーチン、プログラムコードのセグメント、ドライバー、ファームウェア、マイクロコード、回路、データ、データベース、データ構造、テーブル、アレイ、及び変数を含む。構成要素とモジュールから提供される機能は、より少数の構成要素及びモジュールで結合されるか、追加的な構成要素とモジュールにさらに分離されうる。のみならず、構成要素及びモジュールは 通信システム内の１つまたはそれ以上のＣＰＵを再生させるように具現されることもある。
【００５９】
保存装置１０００は、フラッシュメモリ、ＰＲＡＭ、ＭＲＡＭのようにブロックアクセスを行うブロックアクセスメモリを保存部に有している。保存部１００は、メモリ素子などよりなり、データが保存される。前述したように、保存部１００は、ページ単位で保存がなされ、ブロック単位で削除がなされる。ブロックは、２つ以上のページで構成される。保存部１００は、マルチメディアデータを保存する場合、ブロック単位で保存する。最後のデータの場合にのみ、例外的にページ単位で保存することができる。
【００６０】
データ送受信部３００は、データを送受信し、他の装置から制御命令を受信するか、保存部に保存されたデータの情報を送信する。
【００６１】
臨時保存部４００は、データを読込んだり、書き込む場合に速度を高めるために保存部とデータ送受信部との間に存在する。通常、レジスター、ＲＡＭのような揮発性メモリで構成される。この臨時保存部４００は、図１、図２のバッファ２００とは差がある。図１、図２のバッファ２００は、保存装置内に装着されても良いし、保存装置とデータとを送受信する外部装置に装着されても良い。
【００６２】
制御部５００は、保存部１００にデータをブロック単位で保存できるように、保存部１００を制御する。また、保存部１００に存在するガーベッジを削除する。ガーベッジを削除するために、各ブロックがどのような状態であるかを検討することができて、保存部１００がデータを保存する前に臨時保存部４００にバッファリングをさせた後、ガーベッジを削除してバッファリングされたマルチメディアデータを保存部１００に保存することができる。
【００６３】
ブロック情報部６００は、ブロックがガーベッジブロックであるか、または削除されたブロックであるか、データブロックであるか、または切片化ブロックであるかについての情報を提供する。保存部１００でデータが保存されるか、削除されるとき、ブロック情報部６００にブロックの変更事項が反映されるように制御部５００がブロック情報部６００を制御しうる。
【００６４】
本発明が属する技術分野における当業者ならば本発明がその技術的思想や必須特徴を変更せずとも他の具体的な形に実施されうるということが理解できるであろう。
【００６５】
したがって、前述した実施例は全ての面で例示的なものであって、限定的なものではないと理解せねばならない。本発明の範囲は詳細な説明よりは特許請求の範囲により表され特許請求の範囲の意味及び範囲、そしてその等価概念から導かれるあらゆる変更または変形された形態が本発明の範囲に含まれると解釈されねばならない。
【産業上の利用可能性】
【００６６】
本発明は、不揮発性保存装置にマルチメディアデータをブロック単位で保存する方法及び装置に関連した技術分野に好適に適用されうる。
【図面の簡単な説明】
【００６７】
【図１】従来のフラッシュメモリにおいてページ単位でデータを記録する過程を示す例示図である。
【図２】従来のフラッシュメモリにおいて１ページのデータを保存するために、ブロックに保存されたガーベッジを削除した後で保存する過程を示す例示図である。
【図３】本発明の一実施形態による、マルチメディアデータがブロックアクセスメモリに保存される過程を示す例示図である。
【図４】本発明の一実施形態による、一般のデータがブロックアクセスメモリに保存される過程を示す例示図である。
【図５】本発明の一実施形態によるブロックの４つの状態を示す例示図である。
【図６】本発明の一実施形態による、ブロックアクセスメモリにデータを保存する過程を示すフローチャートである。
【図７】本発明の一実施形態による、休止期間時にガーベッジ収集を行う過程を示すフローチャートである。
【図８】本発明の一実施形態による保存装置の構造を示す構成図である。
【符号の説明】
【００６８】
１００    保存部
２００    揮発性メモリ
４００    臨時保存部
５００    制御部
６００    ブロック情報部
【図６】
2006172458.tif 000003
【図７】
2006172458.tif 000004
【図８】
2006172458.tif 000005
【図１】
2006172458.tif 000006
【図２】
2006172458.tif 000007
【図３】
2006172458.tif 000008
【図４】
2006172458.tif 000009
【図５】
2006172458.tif 000010