【実施例1】
【0018】
本発明による実施例は、図面を参照しながら以下において詳細に説明される。実施例の説明は、本発明を明らかにする観点からなされているにすぎず、特許請求の範囲に記載されている本発明の範囲及び精神を限定しようとするものではない。
【0019】
図4は、フラッシュメモリの行列、マトリクス又はアレイを有する例示的なフラッシュ記録装置を示し、フラッシュメモリの各々は複数の半導体素子群のマトリクスである。記憶素子及びメモリは同義的に使用される。
【0020】
このマルチストリーム記録アーキテクチャは、NANDフラッシュメモリではなくページベースの書き込みを当てにする他の半導体記憶素子を使用してもよい。
図4に示す例の場合、32個の並列的なフラッシュバスが、連続的に接続された8つのフラッシュメモリとともにそれぞれ存在している。これにより、1つの物理的なフラッシュ装置は1つより多いフラッシュメモリを含むことができる。なぜなら、今日、1つより多い数のフラッシュダイ(Flash−die)が、1つのフラッシュ装置パッケージの中で結合されるからである。
図4に示されているように、記憶素子群は、バス各々における順番が同じフラッシュメモリが集合したものであると規定できる。
図5の場合、1つの記憶素子群は、例えば1,125Gbit/sの書き込みデータ帯域幅を提供する(仮想マッピング(virtual mapping))。8つの記憶素子群は、フラッシュ技術のライトバックペナルティサイクル(Flash technology write−back penalty)を完全にカバーするように、バスによりサポートされている。これは、全部で8×1,125Gbit/s=9Gbit/sの総データ帯域幅をもたらす。
【0021】
図示の例は、2Gbit/sのデータレートの入力データストリームと、それぞれが1Gbit/sのデータレートの4つの入力ストリームとを示す。8秒後にサンプリングが予定されている。そして、入力キャッシュが満たされ、
図5に示すように仮想マッピングが実行可能である。2つのデータ記憶素子群が、カメラストリーム1のデータ帯域幅に割り当てられ、1つの記憶素子群がカメラストリーム2−5の各々に割り当てられるように決めることができる。2つの記憶素子群は未使用である。
【0022】
記憶素子群各々に書き込みを行う場合、記憶素子群は、その同じ記憶素子群に再び書き込みを行う前に、インターナルライトバックペナルティサイクル(Internal write−back penalty cycle)を要することを知っておくことは重要である。上記の例の場合、アーキテクチャは、有利なことに、他の全ての7つの記憶素子群が書き込まれる場合、最初の記憶素子群は再び書き込む準備が整っており、8つ全ての記憶素子群に対して書き込みを維持できるようにしている。また、フラッシュメモリは、フラッシュのページ全体のサイズ全部についてのみライトバックを行うことに留意を要する。ライトバック処理におけるこの制約に起因して、データのページ全体のみをフラッシュ記憶素子群に提供するために、小さな入力キャッシュが導入される必要がある。この入力キャッシュは、
図4に示される例のように全体的に(グローバルに)設計することができる。あるいは、フラッシュメモリ各々に局所的に(ローカルに)実現されてもよい。記憶素子群当たりのライトバックデータに関する一定のページ長さ項目に応じて、到来するデータストリームの帯域幅との不適合に起因して、帯域幅のヘッドルームを予想する必要がある(
図5におけるf_por)。f_porはメモリのスケジューリングにより使用される。f_porのサイズは、ストリーム数及びそれらの帯域幅の割り当てに応じて変化する。記憶素子群のデータ帯域幅の10%により、f_porの最悪ケースが測定される。しかしながら、仮想モデルを現実の記憶素子群にマッピングする際、記憶素子群のすべの範囲が使用可能である。
【0023】
記録の際、有利なことに、様々なデータストリームが、バスにより或る記憶素子群に分類される(仕分けられる)。図示の例の場合、高々7つ(プラス、f_porに起因する10%のビットレートを伴うものと)の独立した入力ストリームが記録に使用可能である。これらはすべて高々9Gbit/sのデータ帯域幅を共有することができる。帯域幅の割り当て処理は原則として完全に動的であるが、入力ストリーム毎の記憶素子群の利用は、必要に応じて、1,125Gbit/sの帯域幅の量毎に増加する。上述したように、記憶素子群の数は8つに限定されている。
【0024】
より多くの記憶素子群をバスに設けることで、自由度を複数にすることができる。その場合、タイミングは緩和され、より多くの独立したデータストリームが記録可能である。
【0025】
再生又は読み出しモードの場合、このアーキテクチャの形態は、記憶素子群毎に保存されたデータストリームによる恩恵を受けることができる。フラッシュメモリに伴う読み出しのペナルティサイクルはほとんど存在しないので、関連する記憶素子群は、適切なメモリチップ選択ラインをマッピングすることで並べ替え可能であり、データは、単独のデータストリームについてバスの全速力(目下の例の場合、9Gbit/s)で提供可能である、あるいはいくつものストリームが並列的に望まれるように配置可能である。
【0026】
図2は、半導体記憶素子のアレイに書き込みを行う様子を示す。ポインタ(sched_ptr)は、バスにおける全てのフラッシュ装置を連続的にアドレス指定する。開始点はF_Dev#0である。F_Dev#Nに達した場合、F_Dev#0に再びループして戻る。sched_ptrが指し示しているフラッシュ装置各々について、関連するキャッシュにおけるデータ閾値(C_Thres)に達したか否かが検査される。この場合、指定(言及)されているフラッシュ装置は、先行するデータ書き込み転送によりいずれは導入されるインターナルライトバック期間(Wrt_tm)を経過したか否かも確認する
。上記の検査した状態の何れかが偽であった場合、バスにおける次のフラッシュ装置をアドレス指定するようにポインタが増やされる
。ライトバック期間が既に経過していた場合、フラッシュページサイズのデータ量はそのキャッシュからフラッシュに持ち出し可能である
。
【0027】
ここで、例示的なリアルタイムストリーミング装置が処理する最大入力データレートをDmaxとし、1ページに含まれるデータ量をpとし、記憶素子群1つをなす半導体記憶素子数をnとする。さらに、高々nページから記憶素子群へバーストコピーするのに要する時間をTrとし、バーストコピーされたnページを、記憶素子群のメモリユニットへ書き込むのに要する時間をTwとする。したがって、記憶素子群は、次式で表現されるデータレートDsetを有する。
【0028】
【数1】
さらに、高々nページから記憶素子群へバーストコピーするのに要する時間であるTrについて、以下の数式が成り立つ。
【0029】
【数2】
なぜなら、素子群数Nは、次式が成立するように選ばれる必要があるからである。
【0030】
【数3】
上記の例示的なリアルタイムストリーミング装置は、以下の条件が満たされている限り、データレートD
0...D
k−1とともに高々k個のストリームS
0...S
k−1を処理する。
【0031】
【数4】
したがって、高々k=(N−1)個が並列的に処理可能である。
【0032】
ここで、Dj≧Dj(i>j)とする。ストリームについて、割り当てられた個々のキャッシュバッファ容量C
0...C
kが存在する。
【0033】
【数5】
上記の数式は、ストリームSiからデータ量pをキャッシュバッファ内に蓄積するのに必要な時間を表す。さらに、次式のように補助変数qk−i(i=0,...,k)及びQを定義する。
【0034】
【数6】
及び
【数7】
最高のデータレートSkとともにストリームからバーストコピーするデータは、開始時間t
k’より前には開始できない:
【数8】
したがって、ストリームS
k−1から受信したデータのバーストコピーは、tkより早期には始まらず、1ページのデータ量がバーストコピーに必要なので、t
k−1−Trが経過するまで遅延させられる。したがって、ストリームS
k−1からのバーストコピーデータは、次式の開始時間t’
k−1よりも早く始まることはできない:
【数9】
また、ストリームS
k−iからのバーストコピーデータは、次式の開始時間t’
k−iよりも早く始まることはできない:
【数10】
さらに、ストリームS
0からのバーストコピーデータは、次式の開始時間t’
0よりも早く始まることはできない:
【数11】
したがって、全体的なキャッシュバッファリング容量の最小値Cminは、次式のように規定できる:
【数12】
定義により、Dk≧Diであるから次式が成立する。
【0035】
【数13】
全体的なキャッシュバッファリング容量の最小値Cminの上限は、次式のように規定される:
【数14】
複数のストリームに対する帯域幅割り当ては、提供される最大帯域幅を、バス数nに関するバスN当たりのフラッシュ記憶素子群数(すなわち、並列的なバス数)で割った等分により行われる。利用可能な最大帯域幅は、バスにおける例示的なフラッシュメモリのインターリーブ配置により全体的にカバーされる。インターリーブ配置された例示的なフラッシュ記憶素子群のバス当たりの数がNであった場合、1つの部分のサイズに関する上限は、次式により決定可能である。
【0036】
【数15】
提案のアーキテクチャによれば、N個のストリームは(N−1)個の部分を割り当てる。N個の内何れかの追加的な帯域幅の部分は、スケジューリングにより動的に消費されるので、理論的には、残りの部分が割り当てに利用可能であるが、実際には、この追加的な部分を利用しない場合、スケジューリングアルゴリズムはさらに簡易かつ規則的になる。