特許第5721970号(P5721970)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ トムソン ライセンシングの特許一覧

特許5721970リアルタイムストリーミングを行う装置及びバス制御方法
<>
  • 特許5721970-リアルタイムストリーミングを行う装置及びバス制御方法 図000017
  • 特許5721970-リアルタイムストリーミングを行う装置及びバス制御方法 図000018
  • 特許5721970-リアルタイムストリーミングを行う装置及びバス制御方法 図000019
  • 特許5721970-リアルタイムストリーミングを行う装置及びバス制御方法 図000020
  • 特許5721970-リアルタイムストリーミングを行う装置及びバス制御方法 図000021
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5721970
(24)【登録日】2015年4月3日
(45)【発行日】2015年5月20日
(54)【発明の名称】リアルタイムストリーミングを行う装置及びバス制御方法
(51)【国際特許分類】
   G06F 13/16 20060101AFI20150430BHJP
   G06F 12/00 20060101ALI20150430BHJP
【FI】
   G06F13/16 510D
   G06F12/00 560B
【請求項の数】2
【外国語出願】
【全頁数】11
(21)【出願番号】特願2010-135282(P2010-135282)
(22)【出願日】2010年6月14日
(65)【公開番号】特開2010-287239(P2010-287239A)
(43)【公開日】2010年12月24日
【審査請求日】2013年6月10日
(31)【優先権主張番号】09305546.5
(32)【優先日】2009年6月15日
(33)【優先権主張国】EP
(73)【特許権者】
【識別番号】501263810
【氏名又は名称】トムソン ライセンシング
【氏名又は名称原語表記】Thomson Licensing
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100091214
【弁理士】
【氏名又は名称】大貫 進介
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100112759
【弁理士】
【氏名又は名称】藤村 直樹
(72)【発明者】
【氏名】トーマス ブルーネ
(72)【発明者】
【氏名】ミヒャエル ドレクスラー
(72)【発明者】
【氏名】オリヴァー カンフェンケル
【審査官】 桜井 茂行
(56)【参考文献】
【文献】 特表2008−537828(JP,A)
【文献】 国際公開第2006/108755(WO,A1)
【文献】 国際公開第2009/000639(WO,A1)
【文献】 特表2010−531499(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 12/00−12/06
G06F 13/16−13/18
(57)【特許請求の範囲】
【請求項1】
半導体記憶素子群のアレイにデータをリアルタイムストリーミングするための装置であって半導体記憶素子群の各々は、個の並列的なアドレス指定可能な半導体記憶素子を有し半導体記憶素子各々はページ受信期間t_rの間に或るデータ量pをバッファリングするように形成されたページバッファを有し前記データ量pを前記ページバッファから前記半導体記憶素子へページ書き込み時間wrt_tmの間に書き込むように形成され、リアルタイムストリーミングするための当該装置は、
複数のデータストリームから並列的各自のデータレートデータを受信する受信手段であって、受信したデータストリームをバッファリングする入キャッシュを含む受信手段と、
前記入力キャッシュから、前記半導体記憶素子群へデータを転送するように形成されたN個の並列的なバスを有するバスシステムであって、前記バスの各々は複数の半導体記憶素子に接続され、該複数の半導体記憶素子はそれぞれ何れかの前記半導体記憶素子群に属しており、前記N個の並列的なバスの各々が、半導体記憶素子群のうちの何れかの半導体記憶素子に接続されている、バスシステムと、
第1のデータストリームから受信したデータは、前記半導体記憶素子群のアレイ内の第1のメモリ部分をなす1つ以上の半導体記憶素子群のみに転送され第2のデータストリームから受信したデータは、前記半導体記憶素子群のアレイ内の別の第2のメモリ部分をなす1つ以上の半導体記憶素子群のみに転送されるように、前記バスシステムを制御するコントローラであって、前記ページ受信期間t_r、前記ページ書き込み期間wrt_tm、前記データ量p及び各自のデータレートを利用して、前記バスシステムがデータをどの半導体記憶素子群へ転送するかを動的に制御するように形成されるコントローラとを有し、
前記バスシステムは、
前記半導体記憶素子群に連続的にアクセスするように構築されており、前記コントローラは、現在アクセスしている半導体記憶素子群について、現在アクセスしている半導体記憶素子群へ最後にデータを転送して以来、ページ書き込み時間が経過しているか否かを判別し、経過していた場合、現在アクセスしている半導体記憶素子群が前記第1又は第2のメモリ部分に属するか否かを判別し、
判別された前記メモリ部分に対応する前記データストリームから受信され前記入力キャッシュに蓄積されたデータ量が、少なくとも1ページ分に達するか否かを判定し、
達していた場合、前記コントローラは、前記入力キャッシュに蓄積された1ページ分のデータを、対応するデータストリームから現在アクセスしている半導体記憶素子群へ、前記バスシステムが転送することを引き起こし、
達していなかった場合、前記コントローラは、シーケンスにおける次の半導体記憶素子群に前記バスシステムがアクセスすることを引き起こす装置。
【請求項2】
リアルタイムストリーミング装置のバスシステムを制御するバス制御方法であって、前記バスシステムは半導体記憶素子群のアレイへ2つ以上のデータストリームをストリーミングするために、入力キャッシュら半導体記憶素子群のアレイへデータを転送し前記半導体記憶素子群は前記バスシステムにより連続的にアクセスされ、
半導体記憶素子群の各々は、N個の並列的なアドレス指定可能な半導体記憶素子を有し、半導体記憶素子の各々はページ受信期間t_rの間に或るデータ量pをバッファリングするように形成されたページバッファを有し、前記データ量pを前記ページバッファから前記半導体記憶素子へページ書き込み時間wrt_tmの間に書き込むように形成され、
前記バスの各々は複数の半導体記憶素子に接続され、該複数の半導体記憶素子はそれぞれ何れかの前記半導体記憶素子群に属しており、前記N個の並列的なバスの各々が、半導体記憶素子群のうちの何れかの半導体記憶素子に接続されており、当該バス制御方法は、
現在アクセスしている半導体記憶素子群について、アクセスしている半導体記憶素子群へ最後にデータを転送して以来、ページ書き込み時間が経過しているか否かを判別するステップと、
経過していた場合、現在アクセスしている半導体記憶素子群が、前記半導体記憶素子群のアレイにおける第1又は第2部分に属するか否かを判別するステップであって、該第1部分は第1のデータストリームを保存するように指定され、該第2部分は少なくとも第2のデータストリームを保存するように指定されている、ステップと
判別された部に指定されているデータストリームから受信され前記入力キャッシュに蓄積されたデータ量が、少なくとも1ページ分に達するか否かを判定するステップと、
達していた場合にのみ、前記判別された部分指定されているデータストリームのうち前記入力キャッシュに蓄積された少なくとも1ページ分のデータを、現在アクセスしている半導体記憶素子群へ、前記バスシステムが転送することを引き起こすステップと、
次の半導体記憶素子群に前記バスシステムがアクセスすることを引き起こすステップ
を有するバス制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、半導体記憶素子のメモリデバイスアレイに対する並列的な2つ以上のリアルタイムストリーミングを行う技術分野に関連する。
【背景技術】
【0002】
ディジタルビデオカメラは、例えば相補型金属酸化物半導体(CMOS)又は電荷結合素子(CCD)のような画像捕捉装置を用いて、あるフレームレート及びあるフレーム解像度でフレームを取り込む。フレームレート及びフレーム解像度は、捕捉データレート(capture data rate)を決定する。
【0003】
専門的な(プロフェッショナルな)用途では、フレームレート及び解像度は高い値である必要がある。さらに、生放送(live production)やディジタル映画作成のワークフローでは、圧縮(compression)が行われていないのが一般的である。したがって、プロフェッショナルビデオ機器の捕捉データレート、さらにはそのようなプロフェッショナルビデオ機器により生成されたデータストリームのデータレートも非常に高い。
【0004】
取り込まれたフレームは保存される必要がある。リアルタイムで保存する場合、保存データレートは、捕捉データレートに合致する必要がある。しかしながら、半導体記憶素子(例えば、フラッシュメモリ、相変化(phase−changed)ランダムアクセスメモリ又は磁気抵抗ランダムアクセスメモリ等)のように一般に使用されている低速のメモリ装置は、プロフェッショナルアプリケーションに合うような高速の捕捉データレートよりも極めて遅い保存データレートを使用する必要がある。その結果、いくつもの半導体記憶素子を含む半導体記憶素子群(半導体メモリデバイスセット)が使用されている。記憶素子群中の半導体記憶素子には、データが並列的に提供される。したがって、記憶素子群の保存データレートは、記憶素子群を形成する半導体記憶素子の保存データレートの累積(累積的な保存データレート)に等しい。
【0005】
同期の目的のため、半導体記憶素子群は、リアルタイムストリーミング用装置により処理され、リアルタイムストリーミング用装置は、例えばビデオカメラの画像取得装置からのデータストリームを受信する受信手段を有する。同期をとるため、受信データは、キャッシュバッファ(例えば、ダイナミンクランダムアクセスメモリ(DRAM))に蓄積(バッファリング)され、半導体記憶素子群中の何れかにバスを介して転送される。
【0006】
半導体記憶素子は、通常、メモリユニットと言及される1つ以上の半導体メモリチップにより形成され、メモリユニットは、一定のデータ量の単位(いわゆるページ)でデータを書き込むのに適している。これを行うため、メモリチップ各々はページバッファ(例えば、SRAM)を備え又は有し、1ページに対応する量のデータが、キャッシュバッファからそのページバッファに、バースト状にページ受信期間t_rをかけてコピーされる。1ページをコピーした後、ページ書き込み期間wrt_tmの間半導体メモリチップへアクセスできなくなり、そのページ書き込み期間は、受信したページをページバッファから半導体メモリユニットへ書き込むのにかかる時間である。
【0007】
ビデオ作品はいくつものデータストリームを並列的に益々生成しつつあり、幾つかを例示すると、例えば、オーディオストリームとビデオストリームを使用したり、3Dビデオの場合は、メインビデオストリームと1つ以上の衛星ビデオストリームを使用したり、メインビデオストリームと深度(depth)データストリームを使用し、それら各々は各自のデータレートとともに長きにわたって到来する。個々のデータレートが前もって既知であり固定されていた場合、ハードウェアレイアウトだけでなく関連する制御の最適化を達成することは容易である。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】米国特許出願公開第2003/131191号明細書
【発明の概要】
【発明が解決しようとする課題】
【0009】
しかしながら、データレートやそれらの変更が事前には未知であった場合、又は処理するストリーム数でさえ未知であった場合、リアルタイムストリーミング用に装置のハードウェアレイアウトを最適化することに加えて、対応するバス制御を最適に行う問題は、従来技術において未解決である。
【0010】
本発明の課題は、従来技術における問題を軽減又は解消することである。
【課題を解決するための手段】
【0011】
本発明の一形態による装置は、
半導体記憶素子群のアレイにリアルタイムストリーミングを行う装置であって、該半導体記憶素子群の各々は、n個の並列的なアドレス指定可能な半導体記憶素子を有し、該半導体記憶素子各々は1つ以上の半導体メモリユニットを有し、該半導体メモリユニットはページ受信機間t_rの間に或るデータ量pをバッファリングするページバッファを有し、該半導体メモリユニット各々は、前記データ量pを前記ページバッファから前記半導体記憶素子へページ書き込み時間wrt_tmの間に書き込み、リアルタイムストリーミングを行う当該装置は、
各自のデータレートとともに受信される高々k個のデータストリームから並列的にデータを受信する受信手段と、
受信したデータをバッファリングする入力バッファを有し、
前記入力バッファから、前記半導体記憶素子群へデータを転送するn個の並列バスを有するバスシステムと、
前記バスシステムを制御するコントローラと
を有し、前記コントローラにより、第1のデータストリームから受信したデータは、前記半導体記憶素子群のアレイ内の第1部分をなす半導体記憶素子群のみに転送され、少なくとも第2のデータストリームから受信したデータは、前記半導体記憶素子群のアレイ内の別の第2部分をなす半導体記憶素子群のみに転送され、
前記コントローラは、前記ページ受信期間t_r、前記ページ書き込み期間wrt_tm、前記データ量p及び各自のデータレートを利用して、前記バスシステムがデータをどの半導体記憶素子群へ転送するかを動的に制御する、装置である。
【図面の簡単な説明】
【0012】
図1】マルチストリーム記録アーキテクチャにおけるフラッシュダイマトリクスの一例を示す図。
図2】半導体記憶素子のアレイに書き込みを行う動作例を示すフローチャート。
図3】本発明によるリアルタイムストリーミング装置を使用して再生する様子を示す図。
図4】マルチストリーム記録アーキテクチャにおける別のフラッシュダイマトリクスの一例を示す図。
図5】マルチストリーム記録アーキテクチャにおけるさらに別のメモリセットアレイを示す図。
【発明を実施するための形態】
【0013】
本発明は、半導体記憶素子群のアレイにリアルタイムストリーミングを行う装置を提案し、当該装置は、個々のデータレートのデータストリームからのデータを並列的に受信する手段と、受信したデータをバッファリングする入力キャッシュ(入力バッファ)と、該入力バッファから半導体記憶素子群へデータを転送するバスシステムと、ページ受信期間t_r、ページ書き込み期間wrt_tm、データ量p及び各自のデータレートを利用して、バスシステムを動的に制御するように構築されたコントローラとを有し、第1のデータストリームから受信したデータは、半導体記憶素子群のアレイ内の第1サブセット(第1部分)をなす半導体記憶素子群のみに転送され、少なくとも第2のデータストリームから受信したデータは、半導体記憶素子群のアレイ内の別の第2サブセット(第2部分)をなす半導体記憶素子群のみに転送される。
【0014】
より具体的には、半導体記憶素子群のアレイにリアルタイムストリーミングを行う本発明が提案する装置は、出願時の請求項1に記載の特徴を備える。
【0015】
再生又は読み出しモードの場合、サブセット毎に保存されたデータストリームによる恩恵を受けることができる。半導体記憶素子群各々に無駄な読み出しサイクルはほとんど無いので、適切なチップ選択ラインをマッピングすることで、各素子を並べ替えることができ、1つのデータストリームについてバスのフルスピードでデータを提供することができる。
【0016】
リアルタイムストリーミング装置のさらに有利な形態は、出願時の従属請求項に記載されている。
【0017】
本発明は、リアルタイムストリーミング装置で使用するのに適したバス制御方法をも提供し、本方法は、半導体記憶素子群のレイアウトに2つ以上のデータストリームをストリーミングし、本方法の一形態による特徴は出願時の請求項3に記載されている。
【実施例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】
上記の例示的なリアルタイムストリーミング装置は、以下の条件が満たされている限り、データレートD0...Dk−1とともに高々k個のストリームS0...Sk−1を処理する。
【0031】
【数4】
したがって、高々k=(N−1)個が並列的に処理可能である。
【0032】
ここで、Dj≧Dj(i>j)とする。ストリームについて、割り当てられた個々のキャッシュバッファ容量C0...Ckが存在する。
【0033】
【数5】
上記の数式は、ストリームSiからデータ量pをキャッシュバッファ内に蓄積するのに必要な時間を表す。さらに、次式のように補助変数qk−i(i=0,...,k)及びQを定義する。
【0034】
【数6】
及び
【数7】
最高のデータレートSkとともにストリームからバーストコピーするデータは、開始時間tk’より前には開始できない:
【数8】
したがって、ストリームSk−1から受信したデータのバーストコピーは、tkより早期には始まらず、1ページのデータ量がバーストコピーに必要なので、tk−1−Trが経過するまで遅延させられる。したがって、ストリームSk−1からのバーストコピーデータは、次式の開始時間t’k−1よりも早く始まることはできない:
【数9】
また、ストリームSk−iからのバーストコピーデータは、次式の開始時間t’k−iよりも早く始まることはできない:
【数10】
さらに、ストリームS0からのバーストコピーデータは、次式の開始時間t’0よりも早く始まることはできない:
【数11】
したがって、全体的なキャッシュバッファリング容量の最小値Cminは、次式のように規定できる:
【数12】
定義により、Dk≧Diであるから次式が成立する。
【0035】
【数13】
全体的なキャッシュバッファリング容量の最小値Cminの上限は、次式のように規定される:
【数14】
複数のストリームに対する帯域幅割り当ては、提供される最大帯域幅を、バス数nに関するバスN当たりのフラッシュ記憶素子群数(すなわち、並列的なバス数)で割った等分により行われる。利用可能な最大帯域幅は、バスにおける例示的なフラッシュメモリのインターリーブ配置により全体的にカバーされる。インターリーブ配置された例示的なフラッシュ記憶素子群のバス当たりの数がNであった場合、1つの部分のサイズに関する上限は、次式により決定可能である。
【0036】
【数15】
提案のアーキテクチャによれば、N個のストリームは(N−1)個の部分を割り当てる。N個の内何れかの追加的な帯域幅の部分は、スケジューリングにより動的に消費されるので、理論的には、残りの部分が割り当てに利用可能であるが、実際には、この追加的な部分を利用しない場合、スケジューリングアルゴリズムはさらに簡易かつ規則的になる。
図1
図2
図3
図4
図5