JP5721970B2 - リアルタイムストリーミングを行う装置及びバス制御方法 - Google Patents

リアルタイムストリーミングを行う装置及びバス制御方法 Download PDF

Info

Publication number
JP5721970B2
JP5721970B2 JP2010135282A JP2010135282A JP5721970B2 JP 5721970 B2 JP5721970 B2 JP 5721970B2 JP 2010135282 A JP2010135282 A JP 2010135282A JP 2010135282 A JP2010135282 A JP 2010135282A JP 5721970 B2 JP5721970 B2 JP 5721970B2
Authority
JP
Japan
Prior art keywords
semiconductor memory
data
page
memory device
bus system
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.)
Active
Application number
JP2010135282A
Other languages
English (en)
Other versions
JP2010287239A5 (ja
JP2010287239A (ja
Inventor
ブルーネ トーマス
ブルーネ トーマス
ミヒャエル ドレクスラー
ドレクスラー ミヒャエル
カンフェンケル オリヴァー
カンフェンケル オリヴァー
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.)
Thomson Licensing SAS
Original Assignee
Thomson Licensing SAS
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 Thomson Licensing SAS filed Critical Thomson Licensing SAS
Publication of JP2010287239A publication Critical patent/JP2010287239A/ja
Publication of JP2010287239A5 publication Critical patent/JP2010287239A5/ja
Application granted granted Critical
Publication of JP5721970B2 publication Critical patent/JP5721970B2/ja
Active 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0877Cache access modes
    • G06F12/0879Burst mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/907Television signal recording using static stores, e.g. storage tubes or semiconductor memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • G06F2212/2022Flash memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/1062Data buffering arrangements, e.g. recording or playback buffers
    • G11B2020/10629Data buffering arrangements, e.g. recording or playback buffers the buffer having a specific structure
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/1062Data buffering arrangements, e.g. recording or playback buffers
    • G11B2020/1075Data buffering arrangements, e.g. recording or playback buffers the usage of the buffer being restricted to a specific kind of data
    • G11B2020/10759Data buffering arrangements, e.g. recording or playback buffers the usage of the buffer being restricted to a specific kind of data content data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B2020/10935Digital recording or reproducing wherein a time constraint must be met
    • G11B2020/10944Real-time recording or reproducing, e.g. for ensuring seamless playback of AV data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/60Solid state media
    • G11B2220/61Solid state media wherein solid state memory is used for storing A/V content

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Memory System (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Description

本発明は、半導体記憶素子のメモリデバイスアレイに対する並列的な2つ以上のリアルタイムストリーミングを行う技術分野に関連する。
ディジタルビデオカメラは、例えば相補型金属酸化物半導体(CMOS)又は電荷結合素子(CCD)のような画像捕捉装置を用いて、あるフレームレート及びあるフレーム解像度でフレームを取り込む。フレームレート及びフレーム解像度は、捕捉データレート(capture data rate)を決定する。
専門的な(プロフェッショナルな)用途では、フレームレート及び解像度は高い値である必要がある。さらに、生放送(live production)やディジタル映画作成のワークフローでは、圧縮(compression)が行われていないのが一般的である。したがって、プロフェッショナルビデオ機器の捕捉データレート、さらにはそのようなプロフェッショナルビデオ機器により生成されたデータストリームのデータレートも非常に高い。
取り込まれたフレームは保存される必要がある。リアルタイムで保存する場合、保存データレートは、捕捉データレートに合致する必要がある。しかしながら、半導体記憶素子(例えば、フラッシュメモリ、相変化(phase−changed)ランダムアクセスメモリ又は磁気抵抗ランダムアクセスメモリ等)のように一般に使用されている低速のメモリ装置は、プロフェッショナルアプリケーションに合うような高速の捕捉データレートよりも極めて遅い保存データレートを使用する必要がある。その結果、いくつもの半導体記憶素子を含む半導体記憶素子群(半導体メモリデバイスセット)が使用されている。記憶素子群中の半導体記憶素子には、データが並列的に提供される。したがって、記憶素子群の保存データレートは、記憶素子群を形成する半導体記憶素子の保存データレートの累積(累積的な保存データレート)に等しい。
同期の目的のため、半導体記憶素子群は、リアルタイムストリーミング用装置により処理され、リアルタイムストリーミング用装置は、例えばビデオカメラの画像取得装置からのデータストリームを受信する受信手段を有する。同期をとるため、受信データは、キャッシュバッファ(例えば、ダイナミンクランダムアクセスメモリ(DRAM))に蓄積(バッファリング)され、半導体記憶素子群中の何れかにバスを介して転送される。
半導体記憶素子は、通常、メモリユニットと言及される1つ以上の半導体メモリチップにより形成され、メモリユニットは、一定のデータ量の単位(いわゆるページ)でデータを書き込むのに適している。これを行うため、メモリチップ各々はページバッファ(例えば、SRAM)を備え又は有し、1ページに対応する量のデータが、キャッシュバッファからそのページバッファに、バースト状にページ受信期間t_rをかけてコピーされる。1ページをコピーした後、ページ書き込み期間wrt_tmの間半導体メモリチップへアクセスできなくなり、そのページ書き込み期間は、受信したページをページバッファから半導体メモリユニットへ書き込むのにかかる時間である。
ビデオ作品はいくつものデータストリームを並列的に益々生成しつつあり、幾つかを例示すると、例えば、オーディオストリームとビデオストリームを使用したり、3Dビデオの場合は、メインビデオストリームと1つ以上の衛星ビデオストリームを使用したり、メインビデオストリームと深度(depth)データストリームを使用し、それら各々は各自のデータレートとともに長きにわたって到来する。個々のデータレートが前もって既知であり固定されていた場合、ハードウェアレイアウトだけでなく関連する制御の最適化を達成することは容易である。
米国特許出願公開第2003/131191号明細書
しかしながら、データレートやそれらの変更が事前には未知であった場合、又は処理するストリーム数でさえ未知であった場合、リアルタイムストリーミング用に装置のハードウェアレイアウトを最適化することに加えて、対応するバス制御を最適に行う問題は、従来技術において未解決である。
本発明の課題は、従来技術における問題を軽減又は解消することである。
本発明の一形態による装置は、
半導体記憶素子群のアレイにリアルタイムストリーミングを行う装置であって、該半導体記憶素子群の各々は、n個の並列的なアドレス指定可能な半導体記憶素子を有し、該半導体記憶素子各々は1つ以上の半導体メモリユニットを有し、該半導体メモリユニットはページ受信機間t_rの間に或るデータ量pをバッファリングするページバッファを有し、該半導体メモリユニット各々は、前記データ量pを前記ページバッファから前記半導体記憶素子へページ書き込み時間wrt_tmの間に書き込み、リアルタイムストリーミングを行う当該装置は、
各自のデータレートとともに受信される高々k個のデータストリームから並列的にデータを受信する受信手段と、
受信したデータをバッファリングする入力バッファを有し、
前記入力バッファから、前記半導体記憶素子群へデータを転送するn個の並列バスを有するバスシステムと、
前記バスシステムを制御するコントローラと
を有し、前記コントローラにより、第1のデータストリームから受信したデータは、前記半導体記憶素子群のアレイ内の第1部分をなす半導体記憶素子群のみに転送され、少なくとも第2のデータストリームから受信したデータは、前記半導体記憶素子群のアレイ内の別の第2部分をなす半導体記憶素子群のみに転送され、
前記コントローラは、前記ページ受信期間t_r、前記ページ書き込み期間wrt_tm、前記データ量p及び各自のデータレートを利用して、前記バスシステムがデータをどの半導体記憶素子群へ転送するかを動的に制御する、装置である。
マルチストリーム記録アーキテクチャにおけるフラッシュダイマトリクスの一例を示す図。 半導体記憶素子のアレイに書き込みを行う動作例を示すフローチャート。 本発明によるリアルタイムストリーミング装置を使用して再生する様子を示す図。 マルチストリーム記録アーキテクチャにおける別のフラッシュダイマトリクスの一例を示す図。 マルチストリーム記録アーキテクチャにおけるさらに別のメモリセットアレイを示す図。
本発明は、半導体記憶素子群のアレイにリアルタイムストリーミングを行う装置を提案し、当該装置は、個々のデータレートのデータストリームからのデータを並列的に受信する手段と、受信したデータをバッファリングする入力キャッシュ(入力バッファ)と、該入力バッファから半導体記憶素子群へデータを転送するバスシステムと、ページ受信期間t_r、ページ書き込み期間wrt_tm、データ量p及び各自のデータレートを利用して、バスシステムを動的に制御するように構築されたコントローラとを有し、第1のデータストリームから受信したデータは、半導体記憶素子群のアレイ内の第1サブセット(第1部分)をなす半導体記憶素子群のみに転送され、少なくとも第2のデータストリームから受信したデータは、半導体記憶素子群のアレイ内の別の第2サブセット(第2部分)をなす半導体記憶素子群のみに転送される。
より具体的には、半導体記憶素子群のアレイにリアルタイムストリーミングを行う本発明が提案する装置は、出願時の請求項1に記載の特徴を備える。
再生又は読み出しモードの場合、サブセット毎に保存されたデータストリームによる恩恵を受けることができる。半導体記憶素子群各々に無駄な読み出しサイクルはほとんど無いので、適切なチップ選択ラインをマッピングすることで、各素子を並べ替えることができ、1つのデータストリームについてバスのフルスピードでデータを提供することができる。
リアルタイムストリーミング装置のさらに有利な形態は、出願時の従属請求項に記載されている。
本発明は、リアルタイムストリーミング装置で使用するのに適したバス制御方法をも提供し、本方法は、半導体記憶素子群のレイアウトに2つ以上のデータストリームをストリーミングし、本方法の一形態による特徴は出願時の請求項3に記載されている。
本発明による実施例は、図面を参照しながら以下において詳細に説明される。実施例の説明は、本発明を明らかにする観点からなされているにすぎず、特許請求の範囲に記載されている本発明の範囲及び精神を限定しようとするものではない。
図4は、フラッシュメモリの行列、マトリクス又はアレイを有する例示的なフラッシュ記録装置を示し、フラッシュメモリの各々は複数の半導体素子群のマトリクスである。記憶素子及びメモリは同義的に使用される。
このマルチストリーム記録アーキテクチャは、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の総データ帯域幅をもたらす。
図示の例は、2Gbit/sのデータレートの入力データストリームと、それぞれが1Gbit/sのデータレートの4つの入力ストリームとを示す。8秒後にサンプリングが予定されている。そして、入力キャッシュが満たされ、図5に示すように仮想マッピングが実行可能である。2つのデータ記憶素子群が、カメラストリーム1のデータ帯域幅に割り当てられ、1つの記憶素子群がカメラストリーム2−5の各々に割り当てられるように決めることができる。2つの記憶素子群は未使用である。
記憶素子群各々に書き込みを行う場合、記憶素子群は、その同じ記憶素子群に再び書き込みを行う前に、インターナルライトバックペナルティサイクル(Internal write−back penalty cycle)を要することを知っておくことは重要である。上記の例の場合、アーキテクチャは、有利なことに、他の全ての7つの記憶素子群が書き込まれる場合、最初の記憶素子群は再び書き込む準備が整っており、8つ全ての記憶素子群に対して書き込みを維持できるようにしている。また、フラッシュメモリは、フラッシュのページ全体のサイズ全部についてのみライトバックを行うことに留意を要する。ライトバック処理におけるこの制約に起因して、データのページ全体のみをフラッシュ記憶素子群に提供するために、小さな入力キャッシュが導入される必要がある。この入力キャッシュは、図4に示される例のように全体的に(グローバルに)設計することができる。あるいは、フラッシュメモリ各々に局所的に(ローカルに)実現されてもよい。記憶素子群当たりのライトバックデータに関する一定のページ長さ項目に応じて、到来するデータストリームの帯域幅との不適合に起因して、帯域幅のヘッドルームを予想する必要がある(図5におけるf_por)。f_porはメモリのスケジューリングにより使用される。f_porのサイズは、ストリーム数及びそれらの帯域幅の割り当てに応じて変化する。記憶素子群のデータ帯域幅の10%により、f_porの最悪ケースが測定される。しかしながら、仮想モデルを現実の記憶素子群にマッピングする際、記憶素子群のすべの範囲が使用可能である。
記録の際、有利なことに、様々なデータストリームが、バスにより或る記憶素子群に分類される(仕分けられる)。図示の例の場合、高々7つ(プラス、f_porに起因する10%のビットレートを伴うものと)の独立した入力ストリームが記録に使用可能である。これらはすべて高々9Gbit/sのデータ帯域幅を共有することができる。帯域幅の割り当て処理は原則として完全に動的であるが、入力ストリーム毎の記憶素子群の利用は、必要に応じて、1,125Gbit/sの帯域幅の量毎に増加する。上述したように、記憶素子群の数は8つに限定されている。
より多くの記憶素子群をバスに設けることで、自由度を複数にすることができる。その場合、タイミングは緩和され、より多くの独立したデータストリームが記録可能である。
再生又は読み出しモードの場合、このアーキテクチャの形態は、記憶素子群毎に保存されたデータストリームによる恩恵を受けることができる。フラッシュメモリに伴う読み出しのペナルティサイクルはほとんど存在しないので、関連する記憶素子群は、適切なメモリチップ選択ラインをマッピングすることで並べ替え可能であり、データは、単独のデータストリームについてバスの全速力(目下の例の場合、9Gbit/s)で提供可能である、あるいはいくつものストリームが並列的に望まれるように配置可能である。
図2は、半導体記憶素子のアレイに書き込みを行う様子を示す。ポインタ(sched_ptr)は、バスにおける全てのフラッシュ装置を連続的にアドレス指定する。開始点はF_Dev#0である。F_Dev#Nに達した場合、F_Dev#0に再びループして戻る。sched_ptrが指し示しているフラッシュ装置各々について、関連するキャッシュにおけるデータ閾値(C_Thres)に達したか否かが検査される。この場合、指定(言及)されているフラッシュ装置は、先行するデータ書き込み転送によりいずれは導入されるインターナルライトバック期間(Wrt_tm)を経過したか否かも確認する。上記の検査した状態の何れかが偽であった場合、バスにおける次のフラッシュ装置をアドレス指定するようにポインタが増やされる。ライトバック期間が既に経過していた場合、フラッシュページサイズのデータ量はそのキャッシュからフラッシュに持ち出し可能である
ここで、例示的なリアルタイムストリーミング装置が処理する最大入力データレートをDmaxとし、1ページに含まれるデータ量をpとし、記憶素子群1つをなす半導体記憶素子数をnとする。さらに、高々nページから記憶素子群へバーストコピーするのに要する時間をTrとし、バーストコピーされたnページを、記憶素子群のメモリユニットへ書き込むのに要する時間をTwとする。したがって、記憶素子群は、次式で表現されるデータレートDsetを有する。
Figure 0005721970
さらに、高々nページから記憶素子群へバーストコピーするのに要する時間であるTrについて、以下の数式が成り立つ。
Figure 0005721970
なぜなら、素子群数Nは、次式が成立するように選ばれる必要があるからである。
Figure 0005721970
上記の例示的なリアルタイムストリーミング装置は、以下の条件が満たされている限り、データレートD0...Dk−1とともに高々k個のストリームS0...Sk−1を処理する。
Figure 0005721970
したがって、高々k=(N−1)個が並列的に処理可能である。
ここで、Dj≧Dj(i>j)とする。ストリームについて、割り当てられた個々のキャッシュバッファ容量C0...Ckが存在する。
Figure 0005721970
上記の数式は、ストリームSiからデータ量pをキャッシュバッファ内に蓄積するのに必要な時間を表す。さらに、次式のように補助変数qk−i(i=0,...,k)及びQを定義する。
Figure 0005721970
及び
Figure 0005721970
最高のデータレートSkとともにストリームからバーストコピーするデータは、開始時間tk’より前には開始できない:
Figure 0005721970
したがって、ストリームSk−1から受信したデータのバーストコピーは、tkより早期には始まらず、1ページのデータ量がバーストコピーに必要なので、tk−1−Trが経過するまで遅延させられる。したがって、ストリームSk−1からのバーストコピーデータは、次式の開始時間t’k−1よりも早く始まることはできない:
Figure 0005721970
また、ストリームSk−iからのバーストコピーデータは、次式の開始時間t’k−iよりも早く始まることはできない:
Figure 0005721970
さらに、ストリームS0からのバーストコピーデータは、次式の開始時間t’0よりも早く始まることはできない:
Figure 0005721970
したがって、全体的なキャッシュバッファリング容量の最小値Cminは、次式のように規定できる:
Figure 0005721970
定義により、Dk≧Diであるから次式が成立する。
Figure 0005721970
全体的なキャッシュバッファリング容量の最小値Cminの上限は、次式のように規定される:
Figure 0005721970
複数のストリームに対する帯域幅割り当ては、提供される最大帯域幅を、バス数nに関するバスN当たりのフラッシュ記憶素子群数(すなわち、並列的なバス数)で割った等分により行われる。利用可能な最大帯域幅は、バスにおける例示的なフラッシュメモリのインターリーブ配置により全体的にカバーされる。インターリーブ配置された例示的なフラッシュ記憶素子群のバス当たりの数がNであった場合、1つの部分のサイズに関する上限は、次式により決定可能である。
Figure 0005721970
提案のアーキテクチャによれば、N個のストリームは(N−1)個の部分を割り当てる。N個の内何れかの追加的な帯域幅の部分は、スケジューリングにより動的に消費されるので、理論的には、残りの部分が割り当てに利用可能であるが、実際には、この追加的な部分を利用しない場合、スケジューリングアルゴリズムはさらに簡易かつ規則的になる。

Claims (2)

  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ページ分のデータを、現在アクセスしている半導体記憶素子群へ、前記バスシステムが転送することを引き起こすステップと、
    次の半導体記憶素子群に前記バスシステムがアクセスすることを引き起こすステップ
    を有するバス制御方法。
JP2010135282A 2009-06-15 2010-06-14 リアルタイムストリーミングを行う装置及びバス制御方法 Active JP5721970B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP09305546.5 2009-06-15
EP09305546A EP2264604A1 (en) 2009-06-15 2009-06-15 Device for real-time streaming of two or more streams in parallel to a solid state memory device array

Publications (3)

Publication Number Publication Date
JP2010287239A JP2010287239A (ja) 2010-12-24
JP2010287239A5 JP2010287239A5 (ja) 2013-07-25
JP5721970B2 true JP5721970B2 (ja) 2015-05-20

Family

ID=41277457

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010135282A Active JP5721970B2 (ja) 2009-06-15 2010-06-14 リアルタイムストリーミングを行う装置及びバス制御方法

Country Status (4)

Country Link
US (1) US8417846B2 (ja)
EP (2) EP2264604A1 (ja)
JP (1) JP5721970B2 (ja)
KR (1) KR101628341B1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2418584A1 (en) * 2010-08-13 2012-02-15 Thomson Licensing Method and apparatus for storing at least two data streams into an array of memories, or for reading at least two data streams from an array of memories
US20140006537A1 (en) * 2012-06-28 2014-01-02 Wiliam H. TSO High speed record and playback system
US9875031B2 (en) 2015-09-30 2018-01-23 Western Digital Technologies, Inc. Data retention management for data storage device
US10162521B2 (en) 2015-09-30 2018-12-25 Western Digital Technologies, Inc. Media region management based on storage hints for a data storage device
US11113287B1 (en) * 2016-05-12 2021-09-07 Teradata Us, Inc. Data stream management system

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5586264A (en) * 1994-09-08 1996-12-17 Ibm Corporation Video optimized media streamer with cache management
US5712976A (en) * 1994-09-08 1998-01-27 International Business Machines Corporation Video data streamer for simultaneously conveying same one or different ones of data blocks stored in storage node to each of plurality of communication nodes
JP3575862B2 (ja) * 1995-03-16 2004-10-13 株式会社東芝 ストリームスケジューリング方法及び装置
GB2299421A (en) * 1995-03-29 1996-10-02 Sony Uk Ltd Processing real-time data streams
US5592612A (en) * 1995-04-28 1997-01-07 Birk; Yitzhak Method and apparatus for supplying data streams
JP3577794B2 (ja) * 1995-07-18 2004-10-13 ソニー株式会社 データ復号化装置
JPH0981497A (ja) * 1995-09-12 1997-03-28 Toshiba Corp 実時間ストリームサーバ並びに実時間ストリームデータの格納方法および転送方法
WO1999001808A2 (en) * 1997-07-02 1999-01-14 Koninklijke Philips Electronics N.V. System for supplying data streams
US6134596A (en) * 1997-09-18 2000-10-17 Microsoft Corporation Continuous media file server system and method for scheduling network resources to play multiple files having different data transmission rates
US6167496A (en) * 1998-02-18 2000-12-26 Storage Technology Corporation Data stream optimization system for video on demand
US6330645B1 (en) * 1998-12-21 2001-12-11 Cisco Technology, Inc. Multi-stream coherent memory controller apparatus and method
WO2000057635A1 (en) * 1999-03-23 2000-09-28 Koninklijke Philips Electronics N.V. Multimedia server
US6366970B1 (en) * 1999-04-01 2002-04-02 Ravisent Technologies, Inc. Optimal handling and manipulation of high-speed streaming media in a computing device
US7046805B2 (en) * 2001-03-20 2006-05-16 Digeo, Inc. System and method for efficiently storing and processing multimedia content
US7093277B2 (en) * 2001-05-30 2006-08-15 Digeo, Inc. System and method for improved multi-stream multimedia transmission and processing
US7386129B2 (en) * 2001-05-30 2008-06-10 Digeo, Inc. System and method for multimedia content simulcast
KR20020097454A (ko) * 2001-06-21 2002-12-31 엘지전자 주식회사 멀티채널 스트림 기록장치 및 방법과, 그에 따른 기록매체
US7463737B2 (en) * 2001-08-15 2008-12-09 Digeo, Inc. System and method for conditional access key encryption
US7647459B2 (en) * 2001-11-26 2010-01-12 Broadlogic Network Technologies, Inc. Multi-stream access scheme for high speed access and recording using a hard disk drive
JP2003186627A (ja) * 2001-12-18 2003-07-04 Nec Corp 磁気テープ装置データパックアップ制御方式
US7463598B1 (en) * 2002-01-17 2008-12-09 Occam Networks Multi-stream jitter buffer for packetized voice applications
US20030233396A1 (en) * 2002-01-31 2003-12-18 Digital Software Corporation Method and apparatus for real time storage of data networking bit streams
JP2003230089A (ja) * 2002-01-31 2003-08-15 Toshiba Corp 情報記憶媒体及び情報記録装置
US7388932B1 (en) * 2002-12-30 2008-06-17 Broadlogic Network Technologies, Inc. Fully parallel multi-channel demodulator
WO2004086748A2 (en) * 2003-03-20 2004-10-07 Covi Technologies Inc. Systems and methods for multi-resolution image processing
US7975061B1 (en) * 2004-11-05 2011-07-05 Commvault Systems, Inc. System and method for performing multistream storage operations
US7412560B2 (en) * 2004-12-16 2008-08-12 Sandisk Corporation Non-volatile memory and method with multi-stream updating
US7366826B2 (en) * 2004-12-16 2008-04-29 Sandisk Corporation Non-volatile memory and method with multi-stream update tracking
US7386655B2 (en) * 2004-12-16 2008-06-10 Sandisk Corporation Non-volatile memory and method with improved indexing for scratch pad and update blocks
EP1712985A1 (en) * 2005-04-15 2006-10-18 Deutsche Thomson-Brandt Gmbh Method and system for storing logical data blocks into flash-blocks in multiple non-volatile memories which are connected to at least one common data I/O bus
GB2445118C (en) * 2005-07-19 2012-07-11 March Networks Corp Hierarchical data storage
US7809994B2 (en) * 2006-05-17 2010-10-05 Sandisk Corporation Error correction coding for multiple-sector pages in flash memory devices
US8041990B2 (en) * 2007-06-28 2011-10-18 International Business Machines Corporation System and method for error correction and detection in a memory system
JP4875024B2 (ja) * 2008-05-09 2012-02-15 株式会社東芝 画像情報伝送装置
US7941591B2 (en) * 2008-07-28 2011-05-10 CacheIQ, Inc. Flash DIMM in a standalone cache appliance system and methodology
US8156089B2 (en) * 2008-12-31 2012-04-10 Apple, Inc. Real-time or near real-time streaming with compressed playlists

Also Published As

Publication number Publication date
KR20100134524A (ko) 2010-12-23
US8417846B2 (en) 2013-04-09
US20100318689A1 (en) 2010-12-16
EP2264606B1 (en) 2012-09-05
EP2264606A1 (en) 2010-12-22
EP2264604A1 (en) 2010-12-22
KR101628341B1 (ko) 2016-06-08
JP2010287239A (ja) 2010-12-24

Similar Documents

Publication Publication Date Title
JP5721970B2 (ja) リアルタイムストリーミングを行う装置及びバス制御方法
US20070086428A1 (en) Network packet storage method and network packet transmitting apparatus using the same
US20220114120A1 (en) Image processing accelerator
JP4883520B2 (ja) メモリ制御装置およびメモリ制御方法
US8928927B2 (en) Image forming apparatus that buffers data in a storage device and reduces delays in process
US11086534B2 (en) Memory data distribution based on communication channel utilization
US8301816B2 (en) Memory access controller, system, and method
US8548300B2 (en) Method and device for recording of frames
US20130329137A1 (en) Video Encoding in Video Analytics
JP5360594B2 (ja) Dma転送装置及び方法
US20130278775A1 (en) Multiple Stream Processing for Video Analytics and Encoding
US10146679B2 (en) On die/off die memory management
US20140009478A1 (en) Image processing apparatus and control method
US7899957B1 (en) Memory controller having a buffer for providing beginning and end data
US8627007B1 (en) Use of cache to reduce memory bandwidth pressure with processing pipeline
US6847410B1 (en) Picture data memory device with picture data input channels and picture data output channels
JP2006189919A (ja) 電子機器、制御方法及びコンピュータプログラム
JP2006099895A (ja) メモリ処理装置
US20130322551A1 (en) Memory Look Ahead Engine for Video Analytics
JP2009003632A (ja) 画像処理システム
JP2009104529A (ja) 情報処理装置、音声付動画記録装置及び情報処理方法
JP2020087055A (ja) メモリ制御装置
JP6205980B2 (ja) 画像転送装置及び画像転送方法
JP2005190092A (ja) メモリアクセスコントロール回路
JP2015014872A (ja) データ処理装置、データ処理方法およびプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130610

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130610

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140325

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20140618

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20140623

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140925

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: 20150224

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150325

R150 Certificate of patent or registration of utility model

Ref document number: 5721970

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250