(57)【要約】【課題】フラッシュメモリに対し、複数種類のデータから成るデータの集合を複数ポートからそれぞれ書き込む場合に、書き込み速度の低下を防ぎ、且つ、データの集合の消去後に纏まった空き領域を得る。【解決手段】アクセス要求手段３（１）〜（ｎ）は、複数のポートＰｏｒｔ１〜ｎに１対１に対応しており、対応するポートから入力したデータを種類別に蓄積し、蓄積したデータ量がフラッシュメモリ１の１ブロック分に達する毎に、その１ブロック分のデータを、データの種類毎にフラッシュメモリ１のページ単位で書き込み位置を揃えてフラッシュメモリの１ブロックに書き込むことを要求する。アクセス管理手段２は、各アクセス要求手段３（１）〜（ｎ）からの要求に基づき、フラッシュメモリ１に対するデータの書き込みを、ポート毎に時分割に行う。【選択図】図３
2007280068.tif 000002
【特許請求の範囲】
【請求項１】
フラッシュメモリに対して、複数のポートから、それぞれ複数種類のデータから成るデータの集合が記憶及び再生されるフラッシュメモリ装置において、
前記複数のポートに１対１に対応しており、対応する前記ポートから入力したデータを種類別に蓄積し、蓄積したデータの量が前記フラッシュメモリの１ブロック分に達する毎に、該１ブロック分のデータを、データの種類毎に前記フラッシュメモリのページ単位で書き込み位置を揃えて前記フラッシュメモリの１ブロックに書き込むことを要求する複数のアクセス要求手段と、
各々の前記アクセス要求手段からの要求に基づき、前記フラッシュメモリに対するデータの書き込みを、各々の前記ポート毎に時分割に行うアクセス管理手段と
を備えたことを特徴とするフラッシュメモリ装置。
【請求項２】
請求項１に記載のフラッシュメモリ装置において、
前記アクセス要求手段は、対応する前記ポートからの前記データの集合の再生時には、データの種類毎に前記ページ単位で前記フラッシュメモリからデータを読み出すことを要求し、
前記アクセス管理手段は、各々の前記アクセス要求手段からの要求に基づき、前記フラッシュメモリに対するデータの書き込み及び／または読み出しを、各々の前記ポート毎に時分割に行う
ことを特徴とするフラッシュメモリ装置。
【請求項３】
請求項１に記載のフラッシュメモリ装置において、
前記アクセス要求手段は、
データの種類毎に設けられた複数のバッファーメモリと、
データの記憶時に、各々の前記バッファーメモリに蓄積されたデータの量を、それぞれ前記フラッシュメモリのページ数に換算し、該換算したページ数の合計が前記フラッシュメモリの１ブロック分のページ数に達する毎に、データの転送要求を出力する手段と、
データの記憶時に、前記転送要求に基づき、各々の前記バッファーメモリに蓄積されたデータを、データの種類毎に前記フラッシュメモリのページ単位で書き込み位置を揃えて前記フラッシュメモリの１ブロックに書き込むことを、前記アクセス管理手段に要求する手段と
を含むことを特徴とするフラッシュメモリ装置。
【請求項４】
請求項１に記載のフラッシュメモリ装置において、
前記アクセス要求手段は、前記データの集合の終端では、蓄積したデータの量が前記１ブロック分に達しなくても、蓄積したデータを、前記フラッシュメモリの１ブロックを占有して書き込むことを要求する
ことを特徴とするフラッシュメモリ装置。
【請求項５】
請求項１に記載のフラッシュメモリ装置において、
前記データの集合は、ビデオデータとオーディオデータとを含むことを特徴とするフラッシュメモリ装置。
【請求項６】
フラッシュメモリに対して、複数のポートから、それぞれ複数種類のデータから成るデータの集合を記憶及び再生する場合の、前記フラッシュメモリへのアクセス方法において、
前記複数のポートに１対１に対応して、対応する前記ポートから入力した各種類のデータを蓄積し、蓄積したデータの量が前記フラッシュメモリの１ブロック分に達する毎に、該１ブロック分のデータを、データの種類毎に前記フラッシュメモリのページ単位で書き込み位置を揃えて前記フラッシュメモリの１ブロックに書き込むことを要求する第１のステップと、
前記第１のステップでの要求に基づき、前記フラッシュメモリに対するデータの書き込みを、各々の前記ポート毎に時分割に行う第２のステップと
を有することを特徴とするフラッシュメモリへのアクセス方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のポートからデータの記憶及び再生が行われるフラッシュメモリ装置に関し、特に、各ポートから、それぞれ複数種類のデータから成るデータの集合が記憶及び再生される場合のフラッシュメモリへのアクセス方法に特徴を有するものに関する。
【背景技術】
【０００２】
単一の記憶装置に対して外部の複数の機器がデータの記憶や再生を行うための方式として、記憶装置に複数のポートを設け、各ポートにそれぞれタイムスロット（当該ポートからのアクセスを受け付ける時間枠）を割り当てて、各機器がそれぞれ別々のポートからこの記憶装置にアクセスするという方式が行われている。
【０００３】
例えば、テレビジョン放送の分野では、記憶媒体として大容量のＨＤＤ（ハードディスクドライブ）を用いるとともに、複数のポートを設けて各ポートにそれぞれタイムスロットを割り当てた記憶装置であるＡＶサーバーが、ビデオデータやオーディオデータ等の格納，再生，編集，送出等のために利用されている（特許文献１，２参照）。
【０００４】
【特許文献１】特開平１１−２３４６２５号公報（段落番号００１３〜１９、図１，５）
【特許文献２】特開平１１−３０８５５８号公報（段落番号００２２〜２５、図１〜２）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記特許文献に記載のＡＶサーバーは記憶媒体としてＨＤＤを用いたものであるが、メンテナンス性の面からは、フラッシュメモリも有望な記憶媒体である。
【０００６】
但し、フラッシュメモリでは、通常、同じメモリセルに対して頻繁に書き込みが繰り返されることによる損耗を防止するために、フラッシュメモリ本体とは別のサブメモリであるライト（write）バッファーが設けられており、書き込み対象のデータは、フラッシュメモリ本体に直接書き込まれるのではなくこのライトバッファーに書き込まれる。そして、このライトバッファー内のデータがフラッシュメモリ本体に書き込まれていき、フラッシュメモリ本体の１ブロック分のデータがフラッシュメモリ本体に書き込まれると、ライトバッファーが開放される。
【０００７】
そのため、フラッシュメモリを記憶媒体として用いた記憶装置に複数のポートを設けて各ポートからデータを書き込む場合には、このフラッシュメモリの構造に由来する特有の問題が存在する。
【０００８】
図１，図２は、フラッシュメモリに対して複数のポートからそれぞれビデオデータ，４チャンネルのオーディオデータ，プロキシデータ（ビデオ編集用の低ビットレートのビデオデータ），リアルタイムメタデータ（タイムコードや収録場所を示す情報等）という複数種類のエッセンスから成るクリップを書き込む場合の、考えられる書き込み方法をそれぞれ例示する図である。
【０００９】
このうち、図１の方法では、ポート毎に別々のポインターを持ち、各ポートから入力するクリップを、それぞれ別々のライトバッファー（図示略）にエッセンス別に書き込む。そして、フラッシュメモリ本体２１の１個のブロック２１ａよりも小さい単位である１ページ分のエッセンスがライトバッファーに書き込まれる毎に、その１ページ分のエッセンスを、ポート毎にフラッシュメモリ本体２１の別々のブロック２１ａに書き込む。すなわち、フラッシュメモリ本体２１への書き込みをページ単位で行うとともに、ポート毎にフラッシュメモリ本体２１の別々のブロック２１ａに書き込みを行う。
【００１０】
図１（ａ）には、１番目のポートからのクリップであるＰ１−＃１〜Ｐ１−＃３（“Ｐ”の後の数字はポート番号であり、“＃”の後の数字はクリップ番号である）と、２番目のポートからのクリップであるＰ２−＃１とが、別々のブロック２１ａに書き込まれている状態を示している。（Ｐ２−＃１とＰ１−＃３とは、現在入力している最中であり、現在別々のブロック２１ａに書き込まれつつある状態にある。）また、図の上部に、クリップＰ１−＃１を例にとって、ビデオデータＶ，４チャンネルのオーディオデータＡ１〜Ａ４，プロキシデータＰ，リアルタイムメタデータＲＴＭという各エッセンスがページ単位で書き込まれている様子を示している。（図１，図２では、図示の都合上１ブロックのページ数を少なく描いているが、通常は１ブロックのページ数はこれよりも多い。）
【００１１】
この書き込み方法には、ポート毎に別々のブロック２１ａに書き込みを行うので、１つのクリップを消去したときに、纏まった空き領域を得ることができるという利点がある。図１（ｃ）には、図１（ａ）の書き込み済みのクリップのうちのＰ１−＃２が消去された状態を示している。
【００１２】
しかし、この書き込み方法では、ポート毎に１個のライトバッファーを使用するので、ライトバッファーの個数がｎ個であるとすると、ｎ＋１個のポートから同時にクリップが入力した場合、そのままではライトバッファーが不足することになる。あくまで一例であるが、仮にｎ＝３であるとすると、図１（ａ）の状態において新たに３番目のポートからクリップが入力し始めると、そのままではその３番目のポートが使用できるライトバッファーが存在しないことになる。
【００１３】
こうした場合には、ｎ＋１個目のポートが使用するライトバッファーを確保するために、いずれかのライトバッファーに既に書き込んでいるデータを他の場所にコピーする処理を行った後、ｎ＋１個目のポートにそのライトバッファーを使用させることにより、図１（ｂ）に例示するように、ｎ＋１個目のポートからのクリップ（図では３番目のポートからのクリップＰ３−＃１）も別のブロック２１ａに書き込めるようにしている。
【００１４】
また、この書き込み方法では、ライトバッファーから１ページ分ずつのエッセンスがフラッシュメモリ本体２１に書き込まれるので、ライトバッファーが未開放な状態において、フラッシュメモリ本体２１に未だ書き込んでいないエッセンスが、ライトバッファーの不連続なアドレス領域に残ってしまう。その状態で、そのライトバッファーに新たなエッセンスを上書きする場合にも、そのライトバッファーに書き込み済みのエッセンスを他の場所にコピーする処理を行った後、新たなエッセンスを上書きしている。
【００１５】
これらのコピー処理は、ガベージ（Garbage）処理と呼ばれている。図１の書き込み方法では、このガベージ処理が発生することによって、フラッシュメモリへの書き込み速度が極端に下がってしまう。
【００１６】
他方、図２の方法では、単一のポインターを用い、各ポートから入力するクリップを、１個のライトバッファー（図示略）にエッセンス別に書き込む。そして、１ページ分のエッセンスがライトバッファーに書き込まれる毎に、その１ページ分のエッセンスを、フラッシュメモリ本体２１の同じブロック２１ａに順番に書き込んで行き、そのブロック２１ａの末尾まで書き込むと、次のブロック２１ａに移って同じ動作を繰り返す。すなわち、フラッシュメモリ本体２１への書き込みをページ単位で行うとともに、各ポートからのクリップを同じブロック２１ａにインターリーブして書き込む。
【００１７】
図２（ａ）には、図１（ｂ）に示したのと同じＰ１−＃１〜Ｐ１−＃３，Ｐ２−＃１及びＰ３−＃１が、同じブロック２１ａにインターリーブして書き込まれている状態を示している。
【００１８】
この書き込み方法では、使用するライトバッファーの個数は、ポートの数にかかわらず１個で済む。また、各ブロック２１ａの末尾まで書き込みを行う毎に、１ブロック２１ａ分のデータをフラッシュメモリ本体２１に書き込んだことになるので、そのライトバッファーが開放される。したがって、前述のガベージ処理が発生しないので、図１の方法のように書き込み速度が劣化することはない。
【００１９】
しかし、この書き込み方法では、各ポートからのクリップを同じブロック２１ａにインターリーブして書き込むので、１つのクリップを消去したときに、空き領域がページ単位で断片的になってしまう。図２（ｂ）には、図２（ａ）の書き込み済みのクリップのうちのＰ１−＃２が消去された状態（図１の方法における図１（ｃ）に対応する状態）を示している。
【００２０】
このようにクリップ消去後の空き領域が断片的になると、フラッシュメモリ内のクリップを管理するファイルシステムにおいて、管理の最小単位（クラスタ）をページという小さいサイズにしなければならないので、管理が複雑化するという欠点がある。また、その空き領域を再利用する際に、デフラグ等の処理を行うことが必要になるという欠点がある。
【００２１】
このように、図１，図２に示した方法では、ガベージ処理の発生によってフラッシュメモリへの書き込み速度が下がるか、あるいはデータ消去後の空き領域が断片的になってデフラグ等の処理が必要になるという結果を招いてしまい、いずれにしても、フラッシュメモリに効率的にデータを書き込むことができない。
【００２２】
本発明は、上述の点に鑑み、フラッシュメモリに対して、複数のポートから、前述のクリップのような複数種類のデータから成るデータの集合をそれぞれ書き込む場合に、ガベージ処理の発生を回避してフラッシュメモリへの書き込み速度の低下を防ぎ、且つ、データの集合の消去後に纏まった空き領域を得られるようにすることを課題とする。
【課題を解決するための手段】
【００２３】
上記課題を解決するために、本発明に係るフラッシュメモリ装置は、フラッシュメモリに対して、複数のポートから、それぞれ複数種類のデータから成るデータの集合が記憶及び再生されるフラッシュメモリ装置において、この複数のポートに１対１に対応しており、対応するこのポートから入力したデータを種類別に蓄積し、蓄積したデータの量がこのフラッシュメモリの１ブロック分に達する毎に、その１ブロック分のデータを、データの種類毎にこのフラッシュメモリのページ単位で書き込み位置を揃えてこのフラッシュメモリの１ブロックに書き込むことを要求する複数のアクセス要求手段と、各々のこのアクセス要求手段からの要求に基づき、このフラッシュメモリに対するデータの書き込みを、各ポート毎に時分割に行うアクセス管理手段とを備えたことを特徴とする。
【００２４】
このフラッシュメモリ装置では、複数のポートから入力したデータが、各ポートに１対１に対応した複数のアクセス要求手段で、それぞれ種類別に蓄積される。各アクセス要求手段からは、蓄積したデータ量がフラッシュメモリの１ブロック分に達する毎に、この１ブロック分のデータを、データの種類毎にフラッシュメモリのページ単位で書き込み位置を揃えてフラッシュメモリの１ブロックに書き込むことが要求される。
【００２５】
そして、各アクセス要求手段からのこの要求に基づき、アクセス管理手段により、データの種類毎にページ単位で書き込み位置を揃えて１ブロック分ずつのデータをフラッシュメモリに書き込む処理が、ポート毎に時分割に行われる。
【００２６】
このように、このフラッシュメモリ装置では、データの種類毎にページ単位で書き込み位置を揃えつつ、ポート毎にフラッシュメモリのブロック単位で書き込みが行われる。換言すれば、データの種類に対してはページアライン（align）され、ポートに対してはブロックアラインされて書き込みが行われる。
【００２７】
前述のように、フラッシュメモリは、通常は、ライトバッファーを介してフラッシュメモリ本体にデータを書き込み、１ブロック分のデータがフラッシュメモリ本体に書き込まれるとライトバッファーが開放される構造になっているが、このフラッシュメモリ装置では、ライトバッファーを介して１ブロック単位でフラッシュメモリ本体にデータが書き込まれることになるので、アクセス管理手段が１つのポートからのデータをフラッシュメモリに書き込む毎に、ライトバッファーが開放される。
【００２８】
このように１つのポートからのデータを書き込む毎にライトバッファーが開放される（時分割処理によって次のポートからのデータを書き込むときにはそのライトバッファーを使用できる）ので、ポートの数にかかわらず、ライトバッファーが不足するということはない。
【００２９】
これにより、ライトバッファーが開放されない状態での前述のガベージ処理（ライトバッファー内のデータのコピー処理）の発生が回避されるので、フラッシュメモリへの書き込み速度の低下が防止される。
【００３０】
また、ポート毎にデータの集合がブロック単位で書き込まれるので、１つのデータの集合を消去したときに、ブロック単位の纏まった空き領域を得ることができる。
【００３１】
これにより、フラッシュメモリ内のクリップを管理するファイルシステムにおいて、管理の最小単位（クラスタ）をブロックという大きいサイズにすることができるとともに、その空き領域を再利用する際に、デフラグ等の処理が不要になる。
【００３２】
また、データの種類毎に書き込み位置がページ単位で揃えられるので、データの再生時には、個々の種類のデータをページ単位でフラッシュメモリから読み出すことができるが、フラッシュメモリではデータの読み出しに関してはページ単位でもほとんど速度が劣化しないので、読み出し速度の低下も防止される。さらに、２以上の異なるデータの集合の中のデータを組み合わせて再生するような場合にも、それらのデータの集合の中からそれぞれ必要な種類のデータをページ単位でフラッシュメモリから読み出すことができるので、必要としない無駄なデータの読み出しを減らして、最大限の読み出し速度を実現することができる。
【００３３】
次に、本発明に係るフラッシュメモリへのアクセス方法は、フラッシュメモリに対して、複数のポートから、それぞれ複数種類のデータから成るデータの集合を記憶及び再生する場合の、このフラッシュメモリへのアクセス方法において、この複数のポートに１対１に対応して、対応するこのポートから入力した各種類のデータを蓄積し、蓄積したデータの量がこのフラッシュメモリの１ブロック分に達する毎に、その１ブロック分のデータを、データの種類毎にこのフラッシュメモリのページ単位で書き込み位置を揃えてこのフラッシュメモリの１ブロックに書き込むことを要求する第１のステップと、この第１のステップでの要求に基づき、このフラッシュメモリに対するデータの書き込みを、各ポート毎に時分割に行う第２のステップとを有することを特徴とする。
【００３４】
このアクセス方法は、前述の本発明に係るフラッシュメモリ装置におけるフラッシュメモリへのアクセス方法に該当するものであり、フラッシュメモリに対して、複数のポートから、複数種類のデータから成るデータの集合をそれぞれ書き込む場合に、ガベージ処理の発生を回避してフラッシュメモリへの書き込み速度の低下を防ぎ、且つ、データの集合の消去後に纏まった空き領域を得ることができる。さらに、フラッシュメモリからの各種類のデータの読み出し速度の低下を防止することや、２以上の異なるデータの集合の中のデータを組み合わせて再生する場合に、フラッシュメモリからの無駄なデータの読み出しを減らして、最大限の読み出し速度を実現することができる。
【発明の効果】
【００３５】
本発明によれば、フラッシュメモリに対して、複数のポートから、複数種類のデータから成るデータの集合をそれぞれ書き込む場合に、ガベージ処理の発生を回避してフラッシュメモリへの書き込み速度の低下を防ぎ、且つ、データの集合の消去後に纏まった空き領域を得ることができるという効果が得られる。
【００３６】
さらに、フラッシュメモリからの各種類のデータの読み出し速度の低下を防止することや、２以上の異なるデータの集合の中のデータを組み合わせて再生する場合に、フラッシュメモリからの無駄なデータの読み出しを減らして、最大限の読み出し速度を実現することができるという効果が得られる。
【発明を実施するための最良の形態】
【００３７】
以下、本発明の実施の形態を図面を用いて説明する。図３は、本発明を適用したフラッシュメモリ装置の全体構成を示すブロック図である。このフラッシュメモリ装置には、フラッシュメモリ１と、スロットアクセスコントローラ２と、ｎ個のバッファー部３（３（１）〜３（ｎ））と、ｎ個のポート入出力プロセッサ４（４（１）〜４（ｎ））とが設けられている。
【００３８】
フラッシュメモリ１は、ライトバッファーを介してフラッシュメモリ本体にデータを書き込み、１ブロック分のデータがフラッシュメモリ本体に書き込まれるとライトバッファーが開放される構造になっている  
【００３９】
スロットアクセスコントローラ２は、このフラッシュメモリ装置に設けられた複数のポートであるＰｏｒｔ１〜Ｐｏｒｔｎからのフラッシュメモリ１に対するアクセスを、各Ｐｏｒｔ１〜Ｐｏｒｔｎにタイムスロットを割り当てることによって制御するコントローラである。
【００４０】
バッファー部３（１）〜３（ｎ）と、ポート入出力プロセッサ４（１）〜４（ｎ）とは、それぞれＰｏｒｔ１〜Ｐｏｒｔｎに１対１に対応している。各ポート入出力プロセッサ４（１）〜４（ｎ）は、Ｐｏｒｔ１〜Ｐｏｒｔｎから入力したデータをフラッシュメモリ１への記憶に適した形式のデータに変換するための信号処理（例えば圧縮）を行う役割と、バッファー部３（１）〜３（ｎ）から送られたデータをＰｏｒｔ１〜Ｐｏｒｔｎからの出力用に信号処理する（例えば圧縮データを伸張する）役割とを果たす。
【００４１】
Ｐｏｒｔ１〜Ｐｏｒｔｎのうちの或るＰｏｒｔｉからデータを記憶する場合には、Ｐｏｒｔｉから入力したデータが、ポート入出力プロセッサ４（ｉ）の処理を経て、バッファー部３（ｉ）に一時的に蓄積される。そして、バッファー部３（ｉ）に蓄積されたデータが、スロットアクセスコントローラ２によってＰｏｒｔｉに割り当てたタイムスロットに、バッファー部３（ｉ）から読み出され、スロットアクセスコントローラ２によってフラッシュメモリ１に書き込まれる。
【００４２】
また、或るＰｏｒｔｊからデータを再生する場合には、スロットアクセスコントローラ２によってＰｏｒｔｊに割り当てたタイムスロットに、そのデータがスロットアクセスコントローラ２によってフラッシュメモリ１から読み出されて、バッファー部３（ｊ）に一時的に蓄積される。そして、バッファー部３（ｊ）に蓄積されたデータが、バッファー部３（ｊ）から読み出され、ポート入出力プロセッサ４（ｊ）の処理を経てＰｏｒｔｊから出力される。
【００４３】
図４は、各バッファー部３の構成例を示すブロック図である。ここでは、各Ｐｏｒｔ１〜Ｐｏｒｔｎから、ビデオデータ，４チャンネルのオーディオデータ，プロキシデータ（ビデオ編集用の低ビットレートのビデオデータ），リアルタイムメタデータ（タイムコードや収録場所を示す情報等）という７種類のエッセンスから成るクリップがそれぞれ記憶及び再生される場合の構成例を示した。
【００４４】
バッファー部３には、バッファーマネージャ１１と、各種類のエッセンスをそれぞれ蓄積するためのビデオ用バッファーメモリ１２，オーディオｃｈ１用バッファーメモリ１３，オーディオｃｈ２用バッファーメモリ１４，オーディオｃｈ３用バッファーメモリ１５，オーディオｃｈ４用バッファーメモリ１６，プロキシデータ用バッファーメモリ１７及びリアルタイムメタデータ用バッファーメモリ１８と、ポート入出力プロセッサ４（図３）とのインタフェースである入出力プロセッサインタフェース１９と、スロットアクセスコントローラ２（図３）とのインタフェースであるスロットアクセスコントローラインタフェース２０とが設けられている。
【００４５】
Ｐｏｒｔ１〜Ｐｏｒｔｎのうちの或るポートからクリップを記憶する場合には、そのポートから入力したクリップが、そのポートに対応するポート入出力プロセッサ４の処理を経てバッファー部３に送られた後、入出力プロセッサインタフェース１９により、ビデオデータ，４チャンネルのオーディオデータ，プロキシデータ，リアルタイムメタデータという各種類のエッセンスに分類されて、それぞれビデオ用バッファーメモリ１２，オーディオｃｈ１用バッファーメモリ１３，オーディオｃｈ２用バッファーメモリ１４，オーディオｃｈ３用バッファーメモリ１５，オーディオｃｈ４用バッファーメモリ１６，プロキシデータ用バッファーメモリ１７及びリアルタイムメタデータ用バッファーメモリ１８に蓄積される。
【００４６】
また、入出力プロセッサインタフェース１９からは、各種類のエッセンスをそれぞれこれらのバッファーメモリ１２〜１８にどれだけ蓄積したかを示す情報が、バッファーマネージャ１１に送られる。
【００４７】
バッファーマネージャ１１は、この入出力プロセッサインタフェース１９からの情報に基づき、各バッファーメモリ１２，１３，１４，１５，１６，１７，１８に現在蓄積されているエッセンスの量をそれぞれフラッシュメモリ１のページ数に換算した値であるＮｖｉｄｅｏ，Ｎａｕｄｉｏ１，Ｎａｕｄｉｏ２，Ｎａｕｄｉｏ３，Ｎａｕｄｉｏ４，Ｎｐｒｏｘｙ，Ｎｒｔｍを計算する。そして、これらの換算値の合計が下記式の条件を満たす値に達したか否かを、定期的に判断する。
〔数１〕
Nvideo＋Naudio1＋Naudio2＋Naudio3＋Naudio4＋Nproxy＋Nrtm≧Nblock  …（１）
但し、Nblockは、フラッシュメモリ１（図３）の１ブロック当たりのページ数である。
【００４８】
バッファーマネージャ１１は、上記式の条件が満たされる毎に、エッセンスの転送要求をスロットアクセスコントローラインタフェース２０宛てに出力する。また、クリップの終端では、上記式の条件が満たされなくても、エッセンスの転送要求をスロットアクセスコントローラインタフェース２０宛てに出力する
【００４９】
スロットアクセスコントローラインタフェース２０は、この転送要求に基づき、各バッファーメモリ１２〜１８からエッセンスを読み出す。そして、読み出したエッセンスを、エッセンスの種類毎にフラッシュメモリ１（図３）のページ単位で書き込み位置を揃えてフラッシュメモリ１の１ブロックに書き込む（クリップの終端でも、１ブロック分に満たない部分をオール‘Ｈ’にすることにより、１ブロックを占有して書き込みを行う）ことを、スロットアクセスコントローラ２（図３）に要求する。
【００５０】
図３に戻り、スロットアクセスコントローラ２は、このような各バッファー部３（１）〜３（ｎ）内のスロットアクセスコントローラインタフェース２０からの要求に基づき、それぞれＰｏｒｔ１〜Ｐｏｒｔｎに割り当てたタイムスロットのタイミングで、バッファー部３（１）〜３（ｎ）から送られたエッセンスを、エッセンスの種類毎にページ単位で書き込み位置を揃えてフラッシュメモリ１の１ブロックに書き込む。
【００５１】
図５（ａ）は、このようにしてＰｏｒｔ１〜Ｐｏｒｔｎからのクリップがフラッシュメモリ１に書き込まれる様子を例示する図である。Ｐｏｒｔ１からの最初のクリップであるＰ１−＃１のうちの前半の１ブロック分のエッセンスが、フラッシュメモリ１内のライトバッファー（図示略）に書き込まれた後、そのライトバッファーからフラッシュメモリ本体１ａの１つのブロック１ｂ（図では１番上のブロック）に書き込まれて、そのライトバッファーが開放される。
【００５２】
図の上部に示すように、このＰ１−＃１は１ブロック分よりも大きく２ブロック分よりも小さいデータ量のクリップであるが、Ｐ１−＃１の残りのエッセンスも、１ブロック分に満たない部分をオール‘Ｈ’にすることによって１ブロック分のデータとしてライトバッファーに書き込まれた後、ライトバッファーからフラッシュメモリ本体１ａの１つのブロック１ｂ（図では上から２番目のブロック）に書き込まれ書き込まれて、そのライトバッファーが開放される。
【００５３】
そして、図の上部に示すように、Ｐ１−＃１を構成するビデオデータＶ，４チャンネルのオーディオデータＡ１〜Ａ４，プロキシデータＰ，リアルタイムメタデータＲＴＭという各エッセンスは、それぞれページ単位で書き込み位置を揃えて書き込まれている。（図５では、図示の都合上１ブロックのページ数を少なく描いているが、通常は１ブロックのページ数はこれよりも多い。）
【００５４】
Ｐｏｒｔ１からの２番目，３番目のクリップであるＰ１−＃２，Ｐ１−＃３や、Ｐｏｒｔ２からの最初のクリップであるＰ２−＃１や、Ｐｏｒｔ３からの最初のクリップであるＰ３−＃１も、全く同様にして、エッセンスの種類毎にページ単位で書き込み位置を揃えて、１ブロック分ずつライトバッファーを介してフラッシュメモリ１に書き込まれ、そのつどライトバッファーが開放される。
【００５５】
この図５（ａ）に例示したように、フラッシュメモリ１には、エッセンスの種類毎にページ単位で書き込み位置を揃えつつ、ポート毎にフラッシュメモリ本体１ａのブロック単位で書き込みが行われる。換言すれば、エッセンスの種類に対してはページアライン（align）され、ポートに対してはブロックアラインされて書き込みが行われる。
【００５６】
このように、１つのポートからのクリップを書き込む毎にライトバッファーが開放される（タイムスロットによる時分割処理によって次のポートからのクリップを書き込むときにはそのライトバッファーを使用できる）ので、ポートの数にかかわらず、ライトバッファーが不足するということはない。
【００５７】
これにより、ライトバッファーが開放されない状態でのガベージ処理（ライトバッファー内のデータのコピー処理）の発生が回避される。
【００５８】
図６は、ガベージ処理が発生しない場合のフラッシュメモリに対する書き込み速度及び読み出し速度（転送レート）を、一度に書き込みや読み出しを行うサイズ（アクセスサイズ）との関係で示す図である。また、図７は、ガベージ処理が発生した場合のフラッシュメモリに対する書き込み速度を、一度に書き込みを行うサイズ（アクセスサイズ）との関係で示す図である。
【００５９】
図６と図７との対比から明らかなように、フラッシュメモリに対する書き込み速度はガベージ処理が発生することによって極端に低下するが、このフラッシュメモリ装置ではガベージ処理が発生しない。したがって、ガベージ処理の発生による書き込み速度の低下を防止して、高い速度でフラッシュメモリ１にクリップを書き込むことができる。
【００６０】
そして、図６に示すように、書き込みに関しては、ブロック単位で行う場合と比較してページ単位で行う場合にかなり速度が低下するが、フラッシュメモリ１への書き込みはブロック単位で行われるので、その点でも、書き込み速度の低下を防止することができる。
【００６１】
また、このようにポート毎にクリップがブロック単位で書き込まれるので、１つのクリップを消去したときに、ブロック単位の纏まった空き領域を得ることができる。図５（ｂ）は、図５（ａ）の書き込み済みのクリップのうちのＰ１−＃２が消去された状態を示している。
【００６２】
これにより、フラッシュメモリ１内のクリップを管理するファイルシステムにおいて、管理の最小単位（クラスタ）をブロックという大きいサイズにすることができるとともに、その空き領域を再利用する際に、デフラグ等の処理が不要になる。
【００６３】
次に、各Ｐｏｒｔ１〜Ｐｏｒｔｎからクリップを再生する処理について、図３及び図４を用いて説明する。或るポートからクリップを再生する場合には、そのポートに対応するバッファー部３内のバッファーマネージャ１１（図４）が、各バッファーメモリ１２〜１８の空き具合に応じて、エッセンスの種類毎に、必要なデータ量をページ単位でスロットアクセスコントローラインタフェース２０に通知する。スロットアクセスコントローラインタフェース２０は、この通知に基づき、スロットアクセスコントローラ２に対して各エッセンスの読み出しを要求する。
【００６４】
スロットアクセスコントローラ２は、このような各バッファー部３（１）〜３（ｎ）内のスロットアクセスコントローラインタフェース２０からの要求に基づき、それぞれＰｏｒｔ１〜Ｐｏｒｔｎに割り当てたタイムスロットのタイミングで、各種類のエッセンスをページ単位でフラッシュメモリ１から読み出して、それらのエッセンスをバッファー部３（１）〜３（ｎ）内のスロットアクセスコントローラインタフェース２０に送る。
【００６５】
バッファー部３では、こうしてスロットアクセスコントローラ２から送られた各種類のエッセンスが、それぞれのバッファーメモリ１２〜１８に蓄積された後、入出力プロセッサインタフェース１９によってバッファーメモリ１２〜１８から読み出されて１つのクリップに統合されて、対応するポート入出力プロセッサ４に送られる。そして、ポート入出力プロセッサ４の処理を経て、対応するポートからそのクリップが出力される。
【００６６】
このように、クリップの記憶時にエッセンスの種類に対してページアラインを行ったことに対応して、再生時には個々の種類のエッセンスをページ単位でフラッシュメモリ１から読み出しているが、図６に示すように、フラッシュメモリでは、データの読み出しに関しては、ブロック単位で行う場合と比較してページ単位で行う場合にもほとんど速度が低下しない。したがって、フラッシュメモリ１からのクリップの読み出しも、高い速度で行うことができる。
【００６７】
さらに、２以上のクリップ中のエッセンスを組み合わせて再生するような場合にも、それらのクリップの中からそれぞれ必要な種類のエッセンスをフラッシュメモリ１からページ単位で読み出すことができるので、必要としない無駄なエッセンスの読み出しを減らして、最大限の読み出し速度を実現することができる。
【００６８】
図８は、そのような再生方法の一態様として、オンライン編集のために用いるＥＤＬ（Edit Decision List：編集リスト）をこのフラッシュメモリ装置から再生する際に、２以上のクリップ中のエッセンスを組み合わせて再生する（ビデオデータとオーディオデータとを別々のクリップから再生するという意味で、「ＡＶスプリット編集のＥＤＬ再生」と呼ぶ）様子を例示する図である。例えば破線の円で囲んだタイミングでは、クリップ番号が１番のクリップ＃１（ここではポート番号は省略している）中のリアルタイムメタデータ（ＲＴＭ）と、クリップ番号が２番のクリップ＃２中のビデオデータと、クリップ番号が３番のクリップ＃３中のｃｈ１のオーディオデータと、クリップ＃３中のｃｈ２のオーディオデータと、クリップ番号が４番のクリップ＃４中のｃｈ３のオーディオデータと、クリップ番号が５番のクリップ＃５中のｃｈ４のオーディオデータと、クリップ＃２中のプロキシデータという、４つのクリップ中のエッセンスを組み合わせて再生している。
【００６９】
こうしたＡＶスプリット編集のＥＤＬ再生を行う場合にも、フラッシュメモリ１からページ単位で読み出しを行うことにより、必要としない無駄なエッセンスの読み出し（例えば、図８の破線の円のタイミングの後、ビデオデータを再生すべきクリップがクリップ＃２からクリップ＃３に切り換わった後も、クリップ＃２から読み出し途中のビデオデータを引き続き読み出すことなど）を減らして、最大限の読み出し速度を実現することができる。
【００７０】
なお、以上の説明では、ビデオデータ，４チャンネルのオーディオデータ，プロキシデータ，リアルタイムメタデータという７種類のエッセンスから成るクリップを、複数のポートからフラッシュメモリに対してそれぞれ記憶及び再生する例について説明した。しかし、本発明は、これ以外の複数種類のエッセンスから成るクリップを複数のポートからフラッシュメモリに対してそれぞれ記憶及び再生する場合や、複数種類のデータから成るデータの集合であって編集用のクリップ以外のものを複数のポートからフラッシュメモリに対してそれぞれ記憶及び再生する場合にも、同様にして適用することができる。
【図面の簡単な説明】
【００７１】
【図１】複数のポートからのフラッシュメモリへの書き込み方法の一例を示す図である。
【図２】複数のポートからのフラッシュメモリへの書き込み方法の一例を示す図である。
【図３】本発明を適用したフラッシュメモリ装置の全体構成を示すブロック図である。
【図４】図３のバッファー部の構成例を示す図である。
【図５】本発明によるフラッシュメモリへの書き込み方法を示す図である。
【図６】ガベージ処理が発生しない場合のフラッシュメモリに対する書き込み速度及び読み出し速度を示す図である。
【図７】ガベージ処理が発生した場合のフラッシュメモリに対する書き込み速度を示す図である。
【図８】ＡＶスプリット編集のＥＤＬ再生を示す図である。
【符号の説明】
【００７２】
１  フラッシュメモリ、  ２  スロットアクセスコントローラ、  ３（１）〜３（ｎ）  バッファー部、  ４（１）〜４（ｎ）  ポート入出力プロセッサ、  １１  バッファーマネージャ、  １２  ビデオ用バッファーメモリ、  １３  オーディオｃｈ１用バッファーメモリ、  １４  オーディオｃｈ２用バッファーメモリ、  １５  オーディオｃｈ３用バッファーメモリ、  １６  オーディオｃｈ４用バッファーメモリ、  １７  プロキシデータ用バッファーメモリ、  １８  リアルタイムメタデータ用バッファーメモリ、  １９  入出力プロセッサインタフェース、  ２０  スロットアクセスコントローラインタフェース
【図１】
2007280068.tif 000003
【図２】
2007280068.tif 000004
【図３】
2007280068.tif 000005
【図４】
2007280068.tif 000006
【図５】
2007280068.tif 000007
【図６】
2007280068.tif 000008
【図７】
2007280068.tif 000009
【図８】
2007280068.tif 000010