JP2007280068A - フラッシュメモリ装置及びフラッシュメモリへのアクセス方法 - Google Patents

フラッシュメモリ装置及びフラッシュメモリへのアクセス方法 Download PDF

Info

Publication number
JP2007280068A
JP2007280068A JP2006105711A JP2006105711A JP2007280068A JP 2007280068 A JP2007280068 A JP 2007280068A JP 2006105711 A JP2006105711 A JP 2006105711A JP 2006105711 A JP2006105711 A JP 2006105711A JP 2007280068 A JP2007280068 A JP 2007280068A
Authority
JP
Japan
Prior art keywords
data
flash memory
block
ports
stored
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.)
Granted
Application number
JP2006105711A
Other languages
English (en)
Other versions
JP4135747B2 (ja
Inventor
Kaoru Nochida
薫 後田
Masakazu Yoshimoto
正和 吉本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2006105711A priority Critical patent/JP4135747B2/ja
Priority to TW096111671A priority patent/TWI381272B/zh
Priority to US11/732,658 priority patent/US7917687B2/en
Priority to KR1020070033695A priority patent/KR20070100151A/ko
Priority to CN200710090404A priority patent/CN100585740C/zh
Publication of JP2007280068A publication Critical patent/JP2007280068A/ja
Application granted granted Critical
Publication of JP4135747B2 publication Critical patent/JP4135747B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)
  • Memory System (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】フラッシュメモリに対し、複数種類のデータから成るデータの集合を複数ポートからそれぞれ書き込む場合に、書き込み速度の低下を防ぎ、且つ、データの集合の消去後に纏まった空き領域を得る。
【解決手段】アクセス要求手段3(1)〜(n)は、複数のポートPort1〜nに1対1に対応しており、対応するポートから入力したデータを種類別に蓄積し、蓄積したデータ量がフラッシュメモリ1の1ブロック分に達する毎に、その1ブロック分のデータを、データの種類毎にフラッシュメモリ1のページ単位で書き込み位置を揃えてフラッシュメモリの1ブロックに書き込むことを要求する。アクセス管理手段2は、各アクセス要求手段3(1)〜(n)からの要求に基づき、フラッシュメモリ1に対するデータの書き込みを、ポート毎に時分割に行う。
【選択図】図3

Description

本発明は、複数のポートからデータの記憶及び再生が行われるフラッシュメモリ装置に関し、特に、各ポートから、それぞれ複数種類のデータから成るデータの集合が記憶及び再生される場合のフラッシュメモリへのアクセス方法に特徴を有するものに関する。
単一の記憶装置に対して外部の複数の機器がデータの記憶や再生を行うための方式として、記憶装置に複数のポートを設け、各ポートにそれぞれタイムスロット(当該ポートからのアクセスを受け付ける時間枠)を割り当てて、各機器がそれぞれ別々のポートからこの記憶装置にアクセスするという方式が行われている。
例えば、テレビジョン放送の分野では、記憶媒体として大容量のHDD(ハードディスクドライブ)を用いるとともに、複数のポートを設けて各ポートにそれぞれタイムスロットを割り当てた記憶装置であるAVサーバーが、ビデオデータやオーディオデータ等の格納,再生,編集,送出等のために利用されている(特許文献1,2参照)。
特開平11−234625号公報(段落番号0013〜19、図1,5) 特開平11−308558号公報(段落番号0022〜25、図1〜2)
上記特許文献に記載のAVサーバーは記憶媒体としてHDDを用いたものであるが、メンテナンス性の面からは、フラッシュメモリも有望な記憶媒体である。
但し、フラッシュメモリでは、通常、同じメモリセルに対して頻繁に書き込みが繰り返されることによる損耗を防止するために、フラッシュメモリ本体とは別のサブメモリであるライト(write)バッファーが設けられており、書き込み対象のデータは、フラッシュメモリ本体に直接書き込まれるのではなくこのライトバッファーに書き込まれる。そして、このライトバッファー内のデータがフラッシュメモリ本体に書き込まれていき、フラッシュメモリ本体の1ブロック分のデータがフラッシュメモリ本体に書き込まれると、ライトバッファーが開放される。
そのため、フラッシュメモリを記憶媒体として用いた記憶装置に複数のポートを設けて各ポートからデータを書き込む場合には、このフラッシュメモリの構造に由来する特有の問題が存在する。
図1,図2は、フラッシュメモリに対して複数のポートからそれぞれビデオデータ,4チャンネルのオーディオデータ,プロキシデータ(ビデオ編集用の低ビットレートのビデオデータ),リアルタイムメタデータ(タイムコードや収録場所を示す情報等)という複数種類のエッセンスから成るクリップを書き込む場合の、考えられる書き込み方法をそれぞれ例示する図である。
このうち、図1の方法では、ポート毎に別々のポインターを持ち、各ポートから入力するクリップを、それぞれ別々のライトバッファー(図示略)にエッセンス別に書き込む。そして、フラッシュメモリ本体21の1個のブロック21aよりも小さい単位である1ページ分のエッセンスがライトバッファーに書き込まれる毎に、その1ページ分のエッセンスを、ポート毎にフラッシュメモリ本体21の別々のブロック21aに書き込む。すなわち、フラッシュメモリ本体21への書き込みをページ単位で行うとともに、ポート毎にフラッシュメモリ本体21の別々のブロック21aに書き込みを行う。
図1(a)には、1番目のポートからのクリップであるP1−#1〜P1−#3(“P”の後の数字はポート番号であり、“#”の後の数字はクリップ番号である)と、2番目のポートからのクリップであるP2−#1とが、別々のブロック21aに書き込まれている状態を示している。(P2−#1とP1−#3とは、現在入力している最中であり、現在別々のブロック21aに書き込まれつつある状態にある。)また、図の上部に、クリップP1−#1を例にとって、ビデオデータV,4チャンネルのオーディオデータA1〜A4,プロキシデータP,リアルタイムメタデータRTMという各エッセンスがページ単位で書き込まれている様子を示している。(図1,図2では、図示の都合上1ブロックのページ数を少なく描いているが、通常は1ブロックのページ数はこれよりも多い。)
この書き込み方法には、ポート毎に別々のブロック21aに書き込みを行うので、1つのクリップを消去したときに、纏まった空き領域を得ることができるという利点がある。図1(c)には、図1(a)の書き込み済みのクリップのうちのP1−#2が消去された状態を示している。
しかし、この書き込み方法では、ポート毎に1個のライトバッファーを使用するので、ライトバッファーの個数がn個であるとすると、n+1個のポートから同時にクリップが入力した場合、そのままではライトバッファーが不足することになる。あくまで一例であるが、仮にn=3であるとすると、図1(a)の状態において新たに3番目のポートからクリップが入力し始めると、そのままではその3番目のポートが使用できるライトバッファーが存在しないことになる。
こうした場合には、n+1個目のポートが使用するライトバッファーを確保するために、いずれかのライトバッファーに既に書き込んでいるデータを他の場所にコピーする処理を行った後、n+1個目のポートにそのライトバッファーを使用させることにより、図1(b)に例示するように、n+1個目のポートからのクリップ(図では3番目のポートからのクリップP3−#1)も別のブロック21aに書き込めるようにしている。
また、この書き込み方法では、ライトバッファーから1ページ分ずつのエッセンスがフラッシュメモリ本体21に書き込まれるので、ライトバッファーが未開放な状態において、フラッシュメモリ本体21に未だ書き込んでいないエッセンスが、ライトバッファーの不連続なアドレス領域に残ってしまう。その状態で、そのライトバッファーに新たなエッセンスを上書きする場合にも、そのライトバッファーに書き込み済みのエッセンスを他の場所にコピーする処理を行った後、新たなエッセンスを上書きしている。
これらのコピー処理は、ガベージ(Garbage)処理と呼ばれている。図1の書き込み方法では、このガベージ処理が発生することによって、フラッシュメモリへの書き込み速度が極端に下がってしまう。
他方、図2の方法では、単一のポインターを用い、各ポートから入力するクリップを、1個のライトバッファー(図示略)にエッセンス別に書き込む。そして、1ページ分のエッセンスがライトバッファーに書き込まれる毎に、その1ページ分のエッセンスを、フラッシュメモリ本体21の同じブロック21aに順番に書き込んで行き、そのブロック21aの末尾まで書き込むと、次のブロック21aに移って同じ動作を繰り返す。すなわち、フラッシュメモリ本体21への書き込みをページ単位で行うとともに、各ポートからのクリップを同じブロック21aにインターリーブして書き込む。
図2(a)には、図1(b)に示したのと同じP1−#1〜P1−#3,P2−#1及びP3−#1が、同じブロック21aにインターリーブして書き込まれている状態を示している。
この書き込み方法では、使用するライトバッファーの個数は、ポートの数にかかわらず1個で済む。また、各ブロック21aの末尾まで書き込みを行う毎に、1ブロック21a分のデータをフラッシュメモリ本体21に書き込んだことになるので、そのライトバッファーが開放される。したがって、前述のガベージ処理が発生しないので、図1の方法のように書き込み速度が劣化することはない。
しかし、この書き込み方法では、各ポートからのクリップを同じブロック21aにインターリーブして書き込むので、1つのクリップを消去したときに、空き領域がページ単位で断片的になってしまう。図2(b)には、図2(a)の書き込み済みのクリップのうちのP1−#2が消去された状態(図1の方法における図1(c)に対応する状態)を示している。
このようにクリップ消去後の空き領域が断片的になると、フラッシュメモリ内のクリップを管理するファイルシステムにおいて、管理の最小単位(クラスタ)をページという小さいサイズにしなければならないので、管理が複雑化するという欠点がある。また、その空き領域を再利用する際に、デフラグ等の処理を行うことが必要になるという欠点がある。
このように、図1,図2に示した方法では、ガベージ処理の発生によってフラッシュメモリへの書き込み速度が下がるか、あるいはデータ消去後の空き領域が断片的になってデフラグ等の処理が必要になるという結果を招いてしまい、いずれにしても、フラッシュメモリに効率的にデータを書き込むことができない。
本発明は、上述の点に鑑み、フラッシュメモリに対して、複数のポートから、前述のクリップのような複数種類のデータから成るデータの集合をそれぞれ書き込む場合に、ガベージ処理の発生を回避してフラッシュメモリへの書き込み速度の低下を防ぎ、且つ、データの集合の消去後に纏まった空き領域を得られるようにすることを課題とする。
上記課題を解決するために、本発明に係るフラッシュメモリ装置は、フラッシュメモリに対して、複数のポートから、それぞれ複数種類のデータから成るデータの集合が記憶及び再生されるフラッシュメモリ装置において、この複数のポートに1対1に対応しており、対応するこのポートから入力したデータを種類別に蓄積し、蓄積したデータの量がこのフラッシュメモリの1ブロック分に達する毎に、その1ブロック分のデータを、データの種類毎にこのフラッシュメモリのページ単位で書き込み位置を揃えてこのフラッシュメモリの1ブロックに書き込むことを要求する複数のアクセス要求手段と、各々のこのアクセス要求手段からの要求に基づき、このフラッシュメモリに対するデータの書き込みを、各ポート毎に時分割に行うアクセス管理手段とを備えたことを特徴とする。
このフラッシュメモリ装置では、複数のポートから入力したデータが、各ポートに1対1に対応した複数のアクセス要求手段で、それぞれ種類別に蓄積される。各アクセス要求手段からは、蓄積したデータ量がフラッシュメモリの1ブロック分に達する毎に、この1ブロック分のデータを、データの種類毎にフラッシュメモリのページ単位で書き込み位置を揃えてフラッシュメモリの1ブロックに書き込むことが要求される。
そして、各アクセス要求手段からのこの要求に基づき、アクセス管理手段により、データの種類毎にページ単位で書き込み位置を揃えて1ブロック分ずつのデータをフラッシュメモリに書き込む処理が、ポート毎に時分割に行われる。
このように、このフラッシュメモリ装置では、データの種類毎にページ単位で書き込み位置を揃えつつ、ポート毎にフラッシュメモリのブロック単位で書き込みが行われる。換言すれば、データの種類に対してはページアライン(align)され、ポートに対してはブロックアラインされて書き込みが行われる。
前述のように、フラッシュメモリは、通常は、ライトバッファーを介してフラッシュメモリ本体にデータを書き込み、1ブロック分のデータがフラッシュメモリ本体に書き込まれるとライトバッファーが開放される構造になっているが、このフラッシュメモリ装置では、ライトバッファーを介して1ブロック単位でフラッシュメモリ本体にデータが書き込まれることになるので、アクセス管理手段が1つのポートからのデータをフラッシュメモリに書き込む毎に、ライトバッファーが開放される。
このように1つのポートからのデータを書き込む毎にライトバッファーが開放される(時分割処理によって次のポートからのデータを書き込むときにはそのライトバッファーを使用できる)ので、ポートの数にかかわらず、ライトバッファーが不足するということはない。
これにより、ライトバッファーが開放されない状態での前述のガベージ処理(ライトバッファー内のデータのコピー処理)の発生が回避されるので、フラッシュメモリへの書き込み速度の低下が防止される。
また、ポート毎にデータの集合がブロック単位で書き込まれるので、1つのデータの集合を消去したときに、ブロック単位の纏まった空き領域を得ることができる。
これにより、フラッシュメモリ内のクリップを管理するファイルシステムにおいて、管理の最小単位(クラスタ)をブロックという大きいサイズにすることができるとともに、その空き領域を再利用する際に、デフラグ等の処理が不要になる。
また、データの種類毎に書き込み位置がページ単位で揃えられるので、データの再生時には、個々の種類のデータをページ単位でフラッシュメモリから読み出すことができるが、フラッシュメモリではデータの読み出しに関してはページ単位でもほとんど速度が劣化しないので、読み出し速度の低下も防止される。さらに、2以上の異なるデータの集合の中のデータを組み合わせて再生するような場合にも、それらのデータの集合の中からそれぞれ必要な種類のデータをページ単位でフラッシュメモリから読み出すことができるので、必要としない無駄なデータの読み出しを減らして、最大限の読み出し速度を実現することができる。
次に、本発明に係るフラッシュメモリへのアクセス方法は、フラッシュメモリに対して、複数のポートから、それぞれ複数種類のデータから成るデータの集合を記憶及び再生する場合の、このフラッシュメモリへのアクセス方法において、この複数のポートに1対1に対応して、対応するこのポートから入力した各種類のデータを蓄積し、蓄積したデータの量がこのフラッシュメモリの1ブロック分に達する毎に、その1ブロック分のデータを、データの種類毎にこのフラッシュメモリのページ単位で書き込み位置を揃えてこのフラッシュメモリの1ブロックに書き込むことを要求する第1のステップと、この第1のステップでの要求に基づき、このフラッシュメモリに対するデータの書き込みを、各ポート毎に時分割に行う第2のステップとを有することを特徴とする。
このアクセス方法は、前述の本発明に係るフラッシュメモリ装置におけるフラッシュメモリへのアクセス方法に該当するものであり、フラッシュメモリに対して、複数のポートから、複数種類のデータから成るデータの集合をそれぞれ書き込む場合に、ガベージ処理の発生を回避してフラッシュメモリへの書き込み速度の低下を防ぎ、且つ、データの集合の消去後に纏まった空き領域を得ることができる。さらに、フラッシュメモリからの各種類のデータの読み出し速度の低下を防止することや、2以上の異なるデータの集合の中のデータを組み合わせて再生する場合に、フラッシュメモリからの無駄なデータの読み出しを減らして、最大限の読み出し速度を実現することができる。
本発明によれば、フラッシュメモリに対して、複数のポートから、複数種類のデータから成るデータの集合をそれぞれ書き込む場合に、ガベージ処理の発生を回避してフラッシュメモリへの書き込み速度の低下を防ぎ、且つ、データの集合の消去後に纏まった空き領域を得ることができるという効果が得られる。
さらに、フラッシュメモリからの各種類のデータの読み出し速度の低下を防止することや、2以上の異なるデータの集合の中のデータを組み合わせて再生する場合に、フラッシュメモリからの無駄なデータの読み出しを減らして、最大限の読み出し速度を実現することができるという効果が得られる。
以下、本発明の実施の形態を図面を用いて説明する。図3は、本発明を適用したフラッシュメモリ装置の全体構成を示すブロック図である。このフラッシュメモリ装置には、フラッシュメモリ1と、スロットアクセスコントローラ2と、n個のバッファー部3(3(1)〜3(n))と、n個のポート入出力プロセッサ4(4(1)〜4(n))とが設けられている。
フラッシュメモリ1は、ライトバッファーを介してフラッシュメモリ本体にデータを書き込み、1ブロック分のデータがフラッシュメモリ本体に書き込まれるとライトバッファーが開放される構造になっている
スロットアクセスコントローラ2は、このフラッシュメモリ装置に設けられた複数のポートであるPort1〜Portnからのフラッシュメモリ1に対するアクセスを、各Port1〜Portnにタイムスロットを割り当てることによって制御するコントローラである。
バッファー部3(1)〜3(n)と、ポート入出力プロセッサ4(1)〜4(n)とは、それぞれPort1〜Portnに1対1に対応している。各ポート入出力プロセッサ4(1)〜4(n)は、Port1〜Portnから入力したデータをフラッシュメモリ1への記憶に適した形式のデータに変換するための信号処理(例えば圧縮)を行う役割と、バッファー部3(1)〜3(n)から送られたデータをPort1〜Portnからの出力用に信号処理する(例えば圧縮データを伸張する)役割とを果たす。
Port1〜Portnのうちの或るPortiからデータを記憶する場合には、Portiから入力したデータが、ポート入出力プロセッサ4(i)の処理を経て、バッファー部3(i)に一時的に蓄積される。そして、バッファー部3(i)に蓄積されたデータが、スロットアクセスコントローラ2によってPortiに割り当てたタイムスロットに、バッファー部3(i)から読み出され、スロットアクセスコントローラ2によってフラッシュメモリ1に書き込まれる。
また、或るPortjからデータを再生する場合には、スロットアクセスコントローラ2によってPortjに割り当てたタイムスロットに、そのデータがスロットアクセスコントローラ2によってフラッシュメモリ1から読み出されて、バッファー部3(j)に一時的に蓄積される。そして、バッファー部3(j)に蓄積されたデータが、バッファー部3(j)から読み出され、ポート入出力プロセッサ4(j)の処理を経てPortjから出力される。
図4は、各バッファー部3の構成例を示すブロック図である。ここでは、各Port1〜Portnから、ビデオデータ,4チャンネルのオーディオデータ,プロキシデータ(ビデオ編集用の低ビットレートのビデオデータ),リアルタイムメタデータ(タイムコードや収録場所を示す情報等)という7種類のエッセンスから成るクリップがそれぞれ記憶及び再生される場合の構成例を示した。
バッファー部3には、バッファーマネージャ11と、各種類のエッセンスをそれぞれ蓄積するためのビデオ用バッファーメモリ12,オーディオch1用バッファーメモリ13,オーディオch2用バッファーメモリ14,オーディオch3用バッファーメモリ15,オーディオch4用バッファーメモリ16,プロキシデータ用バッファーメモリ17及びリアルタイムメタデータ用バッファーメモリ18と、ポート入出力プロセッサ4(図3)とのインタフェースである入出力プロセッサインタフェース19と、スロットアクセスコントローラ2(図3)とのインタフェースであるスロットアクセスコントローラインタフェース20とが設けられている。
Port1〜Portnのうちの或るポートからクリップを記憶する場合には、そのポートから入力したクリップが、そのポートに対応するポート入出力プロセッサ4の処理を経てバッファー部3に送られた後、入出力プロセッサインタフェース19により、ビデオデータ,4チャンネルのオーディオデータ,プロキシデータ,リアルタイムメタデータという各種類のエッセンスに分類されて、それぞれビデオ用バッファーメモリ12,オーディオch1用バッファーメモリ13,オーディオch2用バッファーメモリ14,オーディオch3用バッファーメモリ15,オーディオch4用バッファーメモリ16,プロキシデータ用バッファーメモリ17及びリアルタイムメタデータ用バッファーメモリ18に蓄積される。
また、入出力プロセッサインタフェース19からは、各種類のエッセンスをそれぞれこれらのバッファーメモリ12〜18にどれだけ蓄積したかを示す情報が、バッファーマネージャ11に送られる。
バッファーマネージャ11は、この入出力プロセッサインタフェース19からの情報に基づき、各バッファーメモリ12,13,14,15,16,17,18に現在蓄積されているエッセンスの量をそれぞれフラッシュメモリ1のページ数に換算した値であるNvideo,Naudio1,Naudio2,Naudio3,Naudio4,Nproxy,Nrtmを計算する。そして、これらの換算値の合計が下記式の条件を満たす値に達したか否かを、定期的に判断する。
〔数1〕
Nvideo+Naudio1+Naudio2+Naudio3+Naudio4+Nproxy+Nrtm≧Nblock …(1)
但し、Nblockは、フラッシュメモリ1(図3)の1ブロック当たりのページ数である。
バッファーマネージャ11は、上記式の条件が満たされる毎に、エッセンスの転送要求をスロットアクセスコントローラインタフェース20宛てに出力する。また、クリップの終端では、上記式の条件が満たされなくても、エッセンスの転送要求をスロットアクセスコントローラインタフェース20宛てに出力する
スロットアクセスコントローラインタフェース20は、この転送要求に基づき、各バッファーメモリ12〜18からエッセンスを読み出す。そして、読み出したエッセンスを、エッセンスの種類毎にフラッシュメモリ1(図3)のページ単位で書き込み位置を揃えてフラッシュメモリ1の1ブロックに書き込む(クリップの終端でも、1ブロック分に満たない部分をオール‘H’にすることにより、1ブロックを占有して書き込みを行う)ことを、スロットアクセスコントローラ2(図3)に要求する。
図3に戻り、スロットアクセスコントローラ2は、このような各バッファー部3(1)〜3(n)内のスロットアクセスコントローラインタフェース20からの要求に基づき、それぞれPort1〜Portnに割り当てたタイムスロットのタイミングで、バッファー部3(1)〜3(n)から送られたエッセンスを、エッセンスの種類毎にページ単位で書き込み位置を揃えてフラッシュメモリ1の1ブロックに書き込む。
図5(a)は、このようにしてPort1〜Portnからのクリップがフラッシュメモリ1に書き込まれる様子を例示する図である。Port1からの最初のクリップであるP1−#1のうちの前半の1ブロック分のエッセンスが、フラッシュメモリ1内のライトバッファー(図示略)に書き込まれた後、そのライトバッファーからフラッシュメモリ本体1aの1つのブロック1b(図では1番上のブロック)に書き込まれて、そのライトバッファーが開放される。
図の上部に示すように、このP1−#1は1ブロック分よりも大きく2ブロック分よりも小さいデータ量のクリップであるが、P1−#1の残りのエッセンスも、1ブロック分に満たない部分をオール‘H’にすることによって1ブロック分のデータとしてライトバッファーに書き込まれた後、ライトバッファーからフラッシュメモリ本体1aの1つのブロック1b(図では上から2番目のブロック)に書き込まれ書き込まれて、そのライトバッファーが開放される。
そして、図の上部に示すように、P1−#1を構成するビデオデータV,4チャンネルのオーディオデータA1〜A4,プロキシデータP,リアルタイムメタデータRTMという各エッセンスは、それぞれページ単位で書き込み位置を揃えて書き込まれている。(図5では、図示の都合上1ブロックのページ数を少なく描いているが、通常は1ブロックのページ数はこれよりも多い。)
Port1からの2番目,3番目のクリップであるP1−#2,P1−#3や、Port2からの最初のクリップであるP2−#1や、Port3からの最初のクリップであるP3−#1も、全く同様にして、エッセンスの種類毎にページ単位で書き込み位置を揃えて、1ブロック分ずつライトバッファーを介してフラッシュメモリ1に書き込まれ、そのつどライトバッファーが開放される。
この図5(a)に例示したように、フラッシュメモリ1には、エッセンスの種類毎にページ単位で書き込み位置を揃えつつ、ポート毎にフラッシュメモリ本体1aのブロック単位で書き込みが行われる。換言すれば、エッセンスの種類に対してはページアライン(align)され、ポートに対してはブロックアラインされて書き込みが行われる。
このように、1つのポートからのクリップを書き込む毎にライトバッファーが開放される(タイムスロットによる時分割処理によって次のポートからのクリップを書き込むときにはそのライトバッファーを使用できる)ので、ポートの数にかかわらず、ライトバッファーが不足するということはない。
これにより、ライトバッファーが開放されない状態でのガベージ処理(ライトバッファー内のデータのコピー処理)の発生が回避される。
図6は、ガベージ処理が発生しない場合のフラッシュメモリに対する書き込み速度及び読み出し速度(転送レート)を、一度に書き込みや読み出しを行うサイズ(アクセスサイズ)との関係で示す図である。また、図7は、ガベージ処理が発生した場合のフラッシュメモリに対する書き込み速度を、一度に書き込みを行うサイズ(アクセスサイズ)との関係で示す図である。
図6と図7との対比から明らかなように、フラッシュメモリに対する書き込み速度はガベージ処理が発生することによって極端に低下するが、このフラッシュメモリ装置ではガベージ処理が発生しない。したがって、ガベージ処理の発生による書き込み速度の低下を防止して、高い速度でフラッシュメモリ1にクリップを書き込むことができる。
そして、図6に示すように、書き込みに関しては、ブロック単位で行う場合と比較してページ単位で行う場合にかなり速度が低下するが、フラッシュメモリ1への書き込みはブロック単位で行われるので、その点でも、書き込み速度の低下を防止することができる。
また、このようにポート毎にクリップがブロック単位で書き込まれるので、1つのクリップを消去したときに、ブロック単位の纏まった空き領域を得ることができる。図5(b)は、図5(a)の書き込み済みのクリップのうちのP1−#2が消去された状態を示している。
これにより、フラッシュメモリ1内のクリップを管理するファイルシステムにおいて、管理の最小単位(クラスタ)をブロックという大きいサイズにすることができるとともに、その空き領域を再利用する際に、デフラグ等の処理が不要になる。
次に、各Port1〜Portnからクリップを再生する処理について、図3及び図4を用いて説明する。或るポートからクリップを再生する場合には、そのポートに対応するバッファー部3内のバッファーマネージャ11(図4)が、各バッファーメモリ12〜18の空き具合に応じて、エッセンスの種類毎に、必要なデータ量をページ単位でスロットアクセスコントローラインタフェース20に通知する。スロットアクセスコントローラインタフェース20は、この通知に基づき、スロットアクセスコントローラ2に対して各エッセンスの読み出しを要求する。
スロットアクセスコントローラ2は、このような各バッファー部3(1)〜3(n)内のスロットアクセスコントローラインタフェース20からの要求に基づき、それぞれPort1〜Portnに割り当てたタイムスロットのタイミングで、各種類のエッセンスをページ単位でフラッシュメモリ1から読み出して、それらのエッセンスをバッファー部3(1)〜3(n)内のスロットアクセスコントローラインタフェース20に送る。
バッファー部3では、こうしてスロットアクセスコントローラ2から送られた各種類のエッセンスが、それぞれのバッファーメモリ12〜18に蓄積された後、入出力プロセッサインタフェース19によってバッファーメモリ12〜18から読み出されて1つのクリップに統合されて、対応するポート入出力プロセッサ4に送られる。そして、ポート入出力プロセッサ4の処理を経て、対応するポートからそのクリップが出力される。
このように、クリップの記憶時にエッセンスの種類に対してページアラインを行ったことに対応して、再生時には個々の種類のエッセンスをページ単位でフラッシュメモリ1から読み出しているが、図6に示すように、フラッシュメモリでは、データの読み出しに関しては、ブロック単位で行う場合と比較してページ単位で行う場合にもほとんど速度が低下しない。したがって、フラッシュメモリ1からのクリップの読み出しも、高い速度で行うことができる。
さらに、2以上のクリップ中のエッセンスを組み合わせて再生するような場合にも、それらのクリップの中からそれぞれ必要な種類のエッセンスをフラッシュメモリ1からページ単位で読み出すことができるので、必要としない無駄なエッセンスの読み出しを減らして、最大限の読み出し速度を実現することができる。
図8は、そのような再生方法の一態様として、オンライン編集のために用いるEDL(Edit Decision List:編集リスト)をこのフラッシュメモリ装置から再生する際に、2以上のクリップ中のエッセンスを組み合わせて再生する(ビデオデータとオーディオデータとを別々のクリップから再生するという意味で、「AVスプリット編集のEDL再生」と呼ぶ)様子を例示する図である。例えば破線の円で囲んだタイミングでは、クリップ番号が1番のクリップ#1(ここではポート番号は省略している)中のリアルタイムメタデータ(RTM)と、クリップ番号が2番のクリップ#2中のビデオデータと、クリップ番号が3番のクリップ#3中のch1のオーディオデータと、クリップ#3中のch2のオーディオデータと、クリップ番号が4番のクリップ#4中のch3のオーディオデータと、クリップ番号が5番のクリップ#5中のch4のオーディオデータと、クリップ#2中のプロキシデータという、4つのクリップ中のエッセンスを組み合わせて再生している。
こうしたAVスプリット編集のEDL再生を行う場合にも、フラッシュメモリ1からページ単位で読み出しを行うことにより、必要としない無駄なエッセンスの読み出し(例えば、図8の破線の円のタイミングの後、ビデオデータを再生すべきクリップがクリップ#2からクリップ#3に切り換わった後も、クリップ#2から読み出し途中のビデオデータを引き続き読み出すことなど)を減らして、最大限の読み出し速度を実現することができる。
なお、以上の説明では、ビデオデータ,4チャンネルのオーディオデータ,プロキシデータ,リアルタイムメタデータという7種類のエッセンスから成るクリップを、複数のポートからフラッシュメモリに対してそれぞれ記憶及び再生する例について説明した。しかし、本発明は、これ以外の複数種類のエッセンスから成るクリップを複数のポートからフラッシュメモリに対してそれぞれ記憶及び再生する場合や、複数種類のデータから成るデータの集合であって編集用のクリップ以外のものを複数のポートからフラッシュメモリに対してそれぞれ記憶及び再生する場合にも、同様にして適用することができる。
複数のポートからのフラッシュメモリへの書き込み方法の一例を示す図である。 複数のポートからのフラッシュメモリへの書き込み方法の一例を示す図である。 本発明を適用したフラッシュメモリ装置の全体構成を示すブロック図である。 図3のバッファー部の構成例を示す図である。 本発明によるフラッシュメモリへの書き込み方法を示す図である。 ガベージ処理が発生しない場合のフラッシュメモリに対する書き込み速度及び読み出し速度を示す図である。 ガベージ処理が発生した場合のフラッシュメモリに対する書き込み速度を示す図である。 AVスプリット編集のEDL再生を示す図である。
符号の説明
1 フラッシュメモリ、 2 スロットアクセスコントローラ、 3(1)〜3(n) バッファー部、 4(1)〜4(n) ポート入出力プロセッサ、 11 バッファーマネージャ、 12 ビデオ用バッファーメモリ、 13 オーディオch1用バッファーメモリ、 14 オーディオch2用バッファーメモリ、 15 オーディオch3用バッファーメモリ、 16 オーディオch4用バッファーメモリ、 17 プロキシデータ用バッファーメモリ、 18 リアルタイムメタデータ用バッファーメモリ、 19 入出力プロセッサインタフェース、 20 スロットアクセスコントローラインタフェース

Claims (6)

  1. フラッシュメモリに対して、複数のポートから、それぞれ複数種類のデータから成るデータの集合が記憶及び再生されるフラッシュメモリ装置において、
    前記複数のポートに1対1に対応しており、対応する前記ポートから入力したデータを種類別に蓄積し、蓄積したデータの量が前記フラッシュメモリの1ブロック分に達する毎に、該1ブロック分のデータを、データの種類毎に前記フラッシュメモリのページ単位で書き込み位置を揃えて前記フラッシュメモリの1ブロックに書き込むことを要求する複数のアクセス要求手段と、
    各々の前記アクセス要求手段からの要求に基づき、前記フラッシュメモリに対するデータの書き込みを、各々の前記ポート毎に時分割に行うアクセス管理手段と
    を備えたことを特徴とするフラッシュメモリ装置。
  2. 請求項1に記載のフラッシュメモリ装置において、
    前記アクセス要求手段は、対応する前記ポートからの前記データの集合の再生時には、データの種類毎に前記ページ単位で前記フラッシュメモリからデータを読み出すことを要求し、
    前記アクセス管理手段は、各々の前記アクセス要求手段からの要求に基づき、前記フラッシュメモリに対するデータの書き込み及び/または読み出しを、各々の前記ポート毎に時分割に行う
    ことを特徴とするフラッシュメモリ装置。
  3. 請求項1に記載のフラッシュメモリ装置において、
    前記アクセス要求手段は、
    データの種類毎に設けられた複数のバッファーメモリと、
    データの記憶時に、各々の前記バッファーメモリに蓄積されたデータの量を、それぞれ前記フラッシュメモリのページ数に換算し、該換算したページ数の合計が前記フラッシュメモリの1ブロック分のページ数に達する毎に、データの転送要求を出力する手段と、
    データの記憶時に、前記転送要求に基づき、各々の前記バッファーメモリに蓄積されたデータを、データの種類毎に前記フラッシュメモリのページ単位で書き込み位置を揃えて前記フラッシュメモリの1ブロックに書き込むことを、前記アクセス管理手段に要求する手段と
    を含むことを特徴とするフラッシュメモリ装置。
  4. 請求項1に記載のフラッシュメモリ装置において、
    前記アクセス要求手段は、前記データの集合の終端では、蓄積したデータの量が前記1ブロック分に達しなくても、蓄積したデータを、前記フラッシュメモリの1ブロックを占有して書き込むことを要求する
    ことを特徴とするフラッシュメモリ装置。
  5. 請求項1に記載のフラッシュメモリ装置において、
    前記データの集合は、ビデオデータとオーディオデータとを含むことを特徴とするフラッシュメモリ装置。
  6. フラッシュメモリに対して、複数のポートから、それぞれ複数種類のデータから成るデータの集合を記憶及び再生する場合の、前記フラッシュメモリへのアクセス方法において、
    前記複数のポートに1対1に対応して、対応する前記ポートから入力した各種類のデータを蓄積し、蓄積したデータの量が前記フラッシュメモリの1ブロック分に達する毎に、該1ブロック分のデータを、データの種類毎に前記フラッシュメモリのページ単位で書き込み位置を揃えて前記フラッシュメモリの1ブロックに書き込むことを要求する第1のステップと、
    前記第1のステップでの要求に基づき、前記フラッシュメモリに対するデータの書き込みを、各々の前記ポート毎に時分割に行う第2のステップと
    を有することを特徴とするフラッシュメモリへのアクセス方法。
JP2006105711A 2006-04-06 2006-04-06 データ処理装置及びフラッシュメモリへのアクセス方法 Expired - Fee Related JP4135747B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2006105711A JP4135747B2 (ja) 2006-04-06 2006-04-06 データ処理装置及びフラッシュメモリへのアクセス方法
TW096111671A TWI381272B (zh) 2006-04-06 2007-04-02 快閃記憶體裝置及快閃記憶體的存取方法
US11/732,658 US7917687B2 (en) 2006-04-06 2007-04-04 Flash memory apparatus and access method to flash memory
KR1020070033695A KR20070100151A (ko) 2006-04-06 2007-04-05 플래시 메모리 장치 및 플래시 메모리 액세스 방법
CN200710090404A CN100585740C (zh) 2006-04-06 2007-04-06 闪存装置和闪存的访问方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006105711A JP4135747B2 (ja) 2006-04-06 2006-04-06 データ処理装置及びフラッシュメモリへのアクセス方法

Publications (2)

Publication Number Publication Date
JP2007280068A true JP2007280068A (ja) 2007-10-25
JP4135747B2 JP4135747B2 (ja) 2008-08-20

Family

ID=38649654

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006105711A Expired - Fee Related JP4135747B2 (ja) 2006-04-06 2006-04-06 データ処理装置及びフラッシュメモリへのアクセス方法

Country Status (5)

Country Link
US (1) US7917687B2 (ja)
JP (1) JP4135747B2 (ja)
KR (1) KR20070100151A (ja)
CN (1) CN100585740C (ja)
TW (1) TWI381272B (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010108385A (ja) * 2008-10-31 2010-05-13 Hitachi Ulsi Systems Co Ltd 記憶装置
JP2011008589A (ja) * 2009-06-26 2011-01-13 Toshiba Corp 素材サーバおよび素材蓄積方法
JP2011166542A (ja) * 2010-02-10 2011-08-25 Sony Corp 記録装置、撮像記録装置、記録方法及びプログラム
JP2011166541A (ja) * 2010-02-10 2011-08-25 Sony Corp 記録装置、撮像記録装置、記録方法及びプログラム
JP2012109734A (ja) * 2010-11-16 2012-06-07 Toshiba Corp ビデオサーバ及び映像データ伝送方法
JP2015511040A (ja) * 2012-03-16 2015-04-13 マーベル ワールド トレード リミテッド Nandフラッシュメモリにおけるデータの効率的な記憶を可能にするアーキテクチャ
JP2016122925A (ja) * 2014-12-24 2016-07-07 キヤノン株式会社 記録装置及び記録装置の制御方法

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8782325B1 (en) * 2009-02-09 2014-07-15 Marvell International Ltd. Data type based alignment of data written to non-volatile memory
US20100287217A1 (en) * 2009-04-08 2010-11-11 Google Inc. Host control of background garbage collection in a data storage device
US20100262979A1 (en) * 2009-04-08 2010-10-14 Google Inc. Circular command queues for communication between a host and a data storage device
US8566508B2 (en) * 2009-04-08 2013-10-22 Google Inc. RAID configuration in a flash memory data storage device
US8447918B2 (en) * 2009-04-08 2013-05-21 Google Inc. Garbage collection for failure prediction and repartitioning
CN102147771B (zh) * 2011-04-08 2013-04-10 深圳市江波龙电子有限公司 查找闪存设备中固件程序存放位置的方法
ES2837801T3 (es) * 2012-08-07 2021-07-01 Nokia Technologies Oy Control de acceso para memoria inalámbrica
US9223698B2 (en) * 2013-01-15 2015-12-29 Kaminario Technologies Ltd. SSD-block aligned writes

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11234625A (ja) 1998-02-17 1999-08-27 Sony Corp 画像再生方法及び装置
JP4131032B2 (ja) 1998-04-23 2008-08-13 ソニー株式会社 データ再生装置及び方法
JP3640802B2 (ja) * 1998-06-08 2005-04-20 富士通株式会社 データバックアップ方式
JP2000194683A (ja) 1998-12-28 2000-07-14 Nec Kofu Ltd 共有メモリの調停回路およびその調停方法
JP2005084907A (ja) * 2003-09-08 2005-03-31 Sony Corp メモリ帯域制御装置
JP2005092630A (ja) 2003-09-18 2005-04-07 Sony Corp メモリ制御装置及び制御方法
US20060098945A1 (en) * 2004-11-08 2006-05-11 Samsung Electronics Co., Ltd. Method for storing audio data of audio and video (AV) device
US7409489B2 (en) * 2005-08-03 2008-08-05 Sandisk Corporation Scheduling of reclaim operations in non-volatile memory

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010108385A (ja) * 2008-10-31 2010-05-13 Hitachi Ulsi Systems Co Ltd 記憶装置
JP2011008589A (ja) * 2009-06-26 2011-01-13 Toshiba Corp 素材サーバおよび素材蓄積方法
JP2011166542A (ja) * 2010-02-10 2011-08-25 Sony Corp 記録装置、撮像記録装置、記録方法及びプログラム
JP2011166541A (ja) * 2010-02-10 2011-08-25 Sony Corp 記録装置、撮像記録装置、記録方法及びプログラム
JP2012109734A (ja) * 2010-11-16 2012-06-07 Toshiba Corp ビデオサーバ及び映像データ伝送方法
US8843976B2 (en) 2010-11-16 2014-09-23 Kabushiki Kaisha Toshiba Video server and video data transmission method
JP2015511040A (ja) * 2012-03-16 2015-04-13 マーベル ワールド トレード リミテッド Nandフラッシュメモリにおけるデータの効率的な記憶を可能にするアーキテクチャ
JP2016122925A (ja) * 2014-12-24 2016-07-07 キヤノン株式会社 記録装置及び記録装置の制御方法

Also Published As

Publication number Publication date
KR20070100151A (ko) 2007-10-10
JP4135747B2 (ja) 2008-08-20
TWI381272B (zh) 2013-01-01
TW200805059A (en) 2008-01-16
CN100585740C (zh) 2010-01-27
CN101064191A (zh) 2007-10-31
US7917687B2 (en) 2011-03-29
US20070255890A1 (en) 2007-11-01

Similar Documents

Publication Publication Date Title
JP4135747B2 (ja) データ処理装置及びフラッシュメモリへのアクセス方法
JP2804115B2 (ja) ディスクファイルシステム
CN103077121B (zh) 一种闪存存储设备中数据管理的方法及装置
JP2006216036A (ja) フラッシュメモリを含んだデータ貯蔵装置及びそれのマージ方法
JP2010102715A (ja) ディスクベースのファイルシステムのための大きなブロック割当て
KR20090026941A (ko) 복수개의 비휘발성 데이터 저장매체를 구비한 저장장치의가상 파일 시스템에서 어드레스 맵핑을 수행하는 방법 및그 장치
JP2005196769A (ja) フラッシュメモリのデータ管理装置及び方法
KR101204163B1 (ko) 반도체 기억 장치
US7188147B2 (en) I/O method and apparatus for optical storage media
JP5378197B2 (ja) メモリコントローラ、メモリカード、不揮発性メモリシステム
JP4256075B2 (ja) ファイルシステム及び記憶領域の管理方法
CN1426552A (zh) 用于访问存储介质上的数据块的***和方法
JP2005302233A (ja) 情報記憶装置、情報格納方法及び情報記憶処理プログラム
JP4502375B2 (ja) ファイルシステムおよびその制御方法
JP4130808B2 (ja) フォーマット方法
US6564231B1 (en) Method for managing optical disk library files in accordance with the frequency of playback requests selected simultanenously at a specified time intervals
JP2012521032A (ja) Ssdコントローラおよびssdコントローラの動作方法
CN100555243C (zh) 信息处理装置、图像摄取装置以及信息处理方法
JP4585052B2 (ja) データ記録システム
JP4211563B2 (ja) 再生記録装置
US6047360A (en) System and method of organizing and defragmenting audio events recorded on a storage medium
JP5206103B2 (ja) ストレージ装置、ストレージ装置制御システム、ストレージ装置の制御方法、及びプログラム
US8321641B2 (en) Data access method and data access device
KR20030061948A (ko) 정보 저장 장치 및 그를 이용한 파일 관리 방법
JP2007249662A (ja) メモリカード及びメモリカードの制御方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080304

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080407

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080513

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080526

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110613

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120613

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130613

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees