[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JPWO2007099659A1 - データ転送装置及びデータ転送方法 - Google Patents

データ転送装置及びデータ転送方法 Download PDF

Info

Publication number
JPWO2007099659A1
JPWO2007099659A1 JP2008502644A JP2008502644A JPWO2007099659A1 JP WO2007099659 A1 JPWO2007099659 A1 JP WO2007099659A1 JP 2008502644 A JP2008502644 A JP 2008502644A JP 2008502644 A JP2008502644 A JP 2008502644A JP WO2007099659 A1 JPWO2007099659 A1 JP WO2007099659A1
Authority
JP
Japan
Prior art keywords
data transfer
transfer
command
data
dma
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.)
Pending
Application number
JP2008502644A
Other languages
English (en)
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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Publication of JPWO2007099659A1 publication Critical patent/JPWO2007099659A1/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Abstract

格納領域の異なる複数個の転送ソース(TS)を有する複数の記憶デバイス(10)と、転送ソース(TS)と同数の設定レジスタ(40)とを備え、転送ソース(TS)のDMA転送設定を転送ソース(TS)のそれぞれについて設定レジスタ(40)に保存し、この設定レジスタ(40)の設定値をもとにDMA制御部(20)がデータ転送制御を行う。

Description

本発明は、オーディオビジュアル(AV)データの記録再生装置におけるデータ転送装置及びデータ転送方法に関するものである。
AVデータは、ディジタルTV(DTV)放送を介して受信されたり、DVD、ブルーレイディスク(BD)等の媒体に記録されたりする。
DTV用のシステムLSIにて前処理を経て受信されたデータは、トランスポートストリーム(TS)という形態をとる。DTVシステムはMPEG−2システムであり、MPEG−2ではデータ系列として、上述したTSに加え、DVDで使用されるプログラムストリーム(PS)があり、TSとPSの変換を行う際の中間データとして位置付けられているパケタイズドエレメンタリストリーム(PES)がある。これらが最終的にはエレメンタリストリーム(ES)となり、処理される。TS,PS,PES,ESは、定められた規格が存在し、それぞれが異なった形式を持つ。DTVやBDシステムではTS形式のディジタルデータストリーム、ディジタルビデオレコーダ(DVR)ではPS形式のディジタルデータストリームがそれぞれストリームデコーダに受信され、音声信号(オーディオデータ)、映像信号(ビデオデータ)、文字信号(テレテキストデータ)といったデータ(AVデータ)や、暗号、番組情報等のセクションデータ毎に分けられ、メモリコントローラを通じて外部メモリに転送され、一時格納される。これらの一時格納されたデータについて、セクションデータはCPUのソフトウェアによって処理され、AVデータは別デバイスに記録されるか、AVデコーダ(AVD)からの呼び出しによって、外部メモリからAVDに転送されて、AVデータのデコード処理が始まる。
ストリームデコーダにおける処理の詳細については、例えば、多重化したディジタルデータストリームの記憶手段が文献に記載されている(特許文献1参照)。
従来、ストリームデコーダとAVDとCPUとをワンチップ化したシステムLSIが知られている。このシステムLSIでは、ストリームデコーダとAVDとの各々にデータ一時格納メモリが個別に外付けされる(特許文献2の図1参照)。
また、AVDにおける処理の詳細については、例えば映像信号の水平垂直方向の拡大処理が他の文献に記載されている(特許文献3参照)。
一方、DTV、DVD、BD等のAVデータは、PCI、LAN、USBに代表される伝送路にデクリプトした形で流すことは認められないため、記録、ダビング等のAVデータ処理を行うためには、暗復号の動作が必要になる。暗復号のためには大容量バッファが必要なため、外部にメモリを備えていることが通例である(特許文献4参照)。
外部メモリのバンド幅を有効に使うためには、大きい転送単位を用いたダイレクトメモリアクセス(DMA)転送が有効である。ただし、一旦DMA転送を起動した後に新しくDMA転送をセットするには、現在実行中のDMA転送の終了を待って転送パラメータをセットする必要がある。転送パラメータのセットにはCPU負荷がかかり、たまたまCPUの負荷が重く遅くなってしまうと、データ転送効率が悪くなる。そのため、途中でDMA転送を停止することなく複数のDMA転送を切り替えることができるように、DMA制御装置(DMAC)に複数の転送パラメータを保持する方法も紹介されている(特許文献5参照)。
特開平9−275381号公報 特開2001−69106号公報 特開平11−355683号公報 特開平7−297855号公報 特開2001−306488号公報
DTVの放送データは、転送レートは低いが、データが受信されるかどうか分からず、緊急度が高いため、小さい転送単位のデータ転送を繰り返す必要がある。また、DVDやBDから入力されるデータは、転送レートは高いが、一定期間内に一定量のデータを転送するため、大きい転送単位のデータ転送を随時行う必要がある。
これらの異質なデータ転送を好適に実現するために、従来は入出力インタフェース毎に複数の転送パラメータを保持させ、チャネル毎に複数のパラメータを持つDMACをそれぞれに備えていた。
しかしながら、これではDMACの回路規模が大きくなるとともに、2つのDMACに対して随時命令を与えねばならないため、ソフトウェア処理が増加してしまう。しかも、近年増加しつつあるHDD等の大容量記憶媒体に存在するストリームの複数同時処理を行うためには、インタフェースは1つでしかなく、また、各々の使用するメモリ領域も、必ずしも順番にはなっていないので、転送終了信号を契機にしてCPUがソースチャネルの設定を行うに際し、インタフェースの読み書きは時系列で行うほかない。
つまり、読み出し/書き込み属性や、複数のソースのデータ転送を時系列に行い、CPUは、1つの転送ソースに割り当てられたDMACの転送完了を待ってから次のDMACの設定を順次変更し、転送パラメータ設定も時系列に変更をするという、古くからのステップを繰り返さねばならない。そのため、結局、インタフェース毎の転送切り替え時には、CPUによるDMACの停止再開処理が発生してしまうため、データ転送性能がCPU性能に大きく依存してしまうという課題があった。
上記課題を解決するため、本発明によれば、同時にデータ通信を行うことができる複数のインタフェースを設け、当該複数のインタフェースは、1つのインタフェースを介してデータ転送を行う複数の転送ソースをそれぞれ持つ。そして、前記転送ソースのそれぞれに対応するDMA転送パラメータを格納する設定レジスタを設け、DMA制御部は、前記設定レジスタの値をもとにアービトレーションして、前記複数のインタフェースを通じて、データを一時格納し、外部メモリにデータを転送する。好ましくは、前記設定レジスタが外部メモリのアドレス飛び領域設定を含む。
システムLSIと1つのインタフェースを通じて接続された記憶デバイスであっても、当該記憶デバイスに保存された複数データの再生コマンドと、当該記憶デバイスへの複数データの記録コマンドとをCPUから先行発行すれば、当該CPUのソフトウェアから見ると、あたかも複数のインタフェースを通じてデータ転送を行っているかのようになる。
また、本発明の他の観点によれば、設定レジスタの集合毎に1個のセレクト部を設け、これらのセレクト部から受け取った転送パラメータをDMAの1転送コマンド単位に分割してDMA制御部に渡すコマンド部を更に設ける。
一方、DMA制御部は、内部バッファと、コマンド部から受け取ったデータ転送要求を調停するアービタと、コマンド部で発行される1コマンド分に割り当てられる内部バッファの各領域毎にアービタにより調停されたデータを格納するバッファキューと、当該バッファキューの状態を監視するステートマシンとを備えることとし、当該ステートマシンは、内部バッファの各領域の数と同数かつ互いに等価であるサブステートマシンを有することとすればよい。
本発明によれば、システムLSIと外部メモリとのインタフェースに関して無駄な転送を低減することができ、CPUの負荷も軽減できる。
図1は、本発明に係るデータ転送装置の構成例を示すブロック図である。 図2は、図1中のDMA制御部における内部バッファの使用例を示す概念図である。 図3は、図1中のDMA制御部の詳細構成例を示すブロック図である。 図4は、図3中の読み出し系DMACにおけるステートマシンの詳細構成例を示すブロック図である。 図5(a)〜図5(d)は、図4のステートマシンによるデータ転送制御の例を示す概念図である。 図6は、図1中のDMA制御部の他の詳細構成例を示すブロック図である。 図7は、図6中のポインタ制御装置の詳細構成例を示すブロック図である。 図8は、図7のポインタ制御装置の演算アルゴリズムを示すフローチャート図である。 図9は、図7のポインタ制御装置の変形例を示すブロック図である。 図10は、図9のポインタ制御装置を用いた場合のステートマシンの動作を示す概念図である。 図11は、DMA転送の一時停止及び停止解除機能を追加した読み出し系DMACの構成例を示すブロック図である。 図12は、図11中のステートマシンの動作を示す概念図である。 図13は、図11の変形例を示すブロック図である。 図14は、図13中のステートマシンの動作を示す概念図である。 図15は、図1中のコマンド部の演算アルゴリズムを示すフローチャート図である。
符号の説明
10 M個の記憶デバイス
15 M個のインタフェース
20 DMA制御部
21 内部バッファ
30 外部メモリ
40 N個の設定レジスタ
41 セレクト部
42 コマンド部
50 CPU
51 専用プロセッサ
61,71 バッファキュー
62,72 内部バッファ
63,73 アービタ
64,74 ステートマシン
81 バッファキュー
82 内部バッファ
83,84 アービタ
85 バッファキュー判定装置
86 ステートマシン
87 内部IFキュー判定装置
88 リクエスト発生装置
89 メモリIFコマンドアービタ
90 メモリIF
100 ポインタ制御装置
101 特殊ポインタ演算器
102 ポインタ加算器
103 外部ポインタ
104 内部ポインタ
TS N個の転送ソース
以下、図面を参照しながら、本発明の実施の形態を説明する。
図1は、本発明に係るデータ転送装置の構成例を示している。図1において、10はM個の記憶デバイス、15はM個のインタフェース(IF)、20はDMA制御部、30は外部メモリ、40はN個の設定レジスタ、41はP個のセレクト部、42はS個のコマンド部、50はCPU、51は専用プロセッサである。例えば、図1中の記憶デバイス10と外部メモリ30とを除く構成要素が1つのシステムLSI上に搭載される。ここに、M、N、P及びSはいずれも整数であって、M≦NかつS≦P≦Nである。
図1のデータ転送装置において、外部メモリ30に対するDMA転送を行うDMA制御部20と、データ量、転送レートの異なるN個の転送ソースTSを含むM個の記憶デバイス(それぞれ動作周波数が異なってもよい)10とが、M個のインタフェース15を通じて接続され、DMA制御部20は、N個の転送ソースTSにそれぞれ対応付けられたN個の設定レジスタ40から転送パラメータを受け取ってデータ転送を行う。設定レジスタ40は、一般的なデータ転送制御を司るCPU50と、ストリーム制御等の専用処理を行う専用プロセッサ51とによって制御される。なお、以下の説明では、N個の転送ソースTSから外部メモリ30に対してデータが渡される転送を「書き込み」、外部メモリ30からN個の転送ソースTSに対してデータが渡される転送を「読み出し」と呼ぶ。
図1の構成によれば、N個の設定レジスタ40が、M個のインタフェース15を介して接続されたM個の記憶デバイス10中のN個の転送ソースTSのそれぞれに割り当て可能であるため、ある1つの転送ソースTSについてデータ転送を行うための記憶デバイス10のシーク時間等の転送待ち時間を、別の転送ソースTSのデータ転送時間中に吸収し、複数の記憶デバイス10からのデータ転送にかかる総時間の短縮を見込むことができる。また、転送パラメータを設定レジスタ40に先行的に設定できるため、CPU50の負荷も軽減できる。
更に、N個の設定レジスタ40が次のようにグループ化される。例えば、1つのインタフェース15を通じて転送する転送ソース群に1対1で対応付けられた設定レジスタ群毎に集める。このグループ毎に、N個の設定レジスタ40からの転送パラメータを選択するP個のセレクト部41を設定レジスタ40と接続し、転送パラメータを1DMA単位の転送コマンドに分割するS個のコマンド部42をP個のセレクト部41と接続する。ただし、セレクト部41が介在しない設定レジスタ40には、コマンド部42を直接接続する。
DMA制御部20は、コマンド部42から転送パラメータを取得してDMA転送を行い、セレクト部41を通じて、更新された転送パラメータを設定レジスタ40に書き戻す。このようなセレクト部41とコマンド部42とを備えることによって、N個の設定レジスタ40のそれぞれに必要であった、1DMA単位あたりの転送コマンド発行のための演算部を省略することができるため、回路規模削減、消費電力削減に効果がある。
なお、セレクト部41とコマンド部42との割り当て方は、固定されていてもよいし、外部設定によって可変であってもよい。
外部メモリ30の読み書き対象となる領域は、設定レジスタ40中の次のようなポインタによって指定される。すなわち、領域毎の読み書きの先頭アドレスを示すスタートポインタ(SP)と、領域毎の読み書きの最終アドレスを示すエンドポインタ(EP)と、領域毎の書き込みアドレスを示すライトポインタ(WP)と、領域毎の読み出しアドレスを示すリードポインタ(RP)とである。SPとEPとの間に挟まれる領域中に読み書きを行わない領域を設ける場合には、読み書きを行わない領域の先頭アドレスを示すポインタDp1Pと、読み書きを行わない領域の最終アドレスを示すポインタDn1Pとを設定する。
コマンド部42は、Dp1P及びDn1Pを設定レジスタ40から受け取り、Dp1P付近まで来ると転送コマンドを分割し、次の転送コマンドはDn1Pの次のアドレスから始まるように自動的に調整する。このような読み書きを行わない領域は、複数あってもよい。この際、コマンド部42によって、1DMA単位に分割された転送毎の完了を専用プロセッサ51に通知することで、専用プロセッサ51によって起動されるDMA転送要因に関する外部メモリ30のポインタDp1P,Dn1P,SP,EPを動的に可変にすることができる。これらは、特にDVD、BD等の再生処理においてデータ領域を動的に変更する際に効果がある。
なお、設定レジスタ40が読み出し専用、書き込み専用にそれぞれ分かれ、そのそれぞれが転送ソースTSに対して1対1に割り当てられていてもよい。割り当ては、M個の記憶デバイス10間で切り替えることが可能であってもよい。また、CPU50又は専用プロセッサ51が読み出し/書き込み切り替え設定部として動作することにより、設定レジスタ40を読み出し用、書き込み用のいずれにも汎用的に使えるようにしてもよい。
図2は、図1中のDMA制御部20における内部バッファの使用例を示している。図2に示した内部バッファ21は、幾つかのモードに応じて使い方を変更することができるものである。この内部バッファ21は、N個の転送ソースTSのDMA転送用の一時バッファとして領域を割り当てるが、あるモードでは、全てのバッファ領域をN個の転送ソースTSで共有し、転送要求を受け付けた順番にバッファ領域を割り当てる。また、別のモードでは、N個の転送ソースTSの各々に、バッファ領域の割り当てを固定することができる。モードによって領域毎の容量はそれぞれ可変であってもよい。このようなバッファ領域の割り当て方法をとることによって、前者のモードでは、転送ソースTSの総転送量を増加させることができる。また後者のモードでは、予め期待するだけの各転送ソースTSのデータ転送性能を確保することができる。これらのモードを持つことによって、汎用性の高いDMA制御が可能となる。
図3は、図1中のDMA制御部20の詳細構成例を示している。図3のDMA制御部20は、内部に書き込み(W)系DMACと、読み出し(R)系DMACとを備える。それぞれのDMACは、内部バッファ62,72に加えて、コマンド部42からのDMA転送要求を調停するアービタ63,73と、内部バッファ62,72中のある定められたバッファ領域に1対1で対応付けられており、コマンド部42から受け取った1DMA単位に切り出された転送コマンドを前述のある定められたバッファ領域毎に保持することを目的とするバッファキュー61,71と、それぞれの状態を監視するステートマシン64,74とを有する。ここでは、書き込み系DMACにおいて、内部バッファ62がm個のバッファ領域を有し、これに対応してバッファキュー61がm個のキュー領域を有するものとしている。また、読み出し系DMACにおいて、内部バッファ72がn個のバッファ領域を有し、これに対応してバッファキュー71がn個のキュー領域を有する。ここに、m及びnはいずれも整数である。
本構成は、アービタ63,73を持つことによって、システム要件によっても、記憶媒体によっても異なる性質を持つ転送ソースTSのDMA転送に関して、一定性能を保証することが容易になり、バッファキュー61,71の領域を内部バッファ62,72の各領域毎に持つことによって、コマンド部42から受け取る1DMA単位あたりに切り出された転送コマンドをバッファ領域毎に保持し、それらをステートマシン64,74によって管理することで、バッファ領域毎の転送を管理することができる。そのため、デバッグ効率を著しく高めることができる。それに加えて、バッファ領域を共有することもできるため、高効率な転送を行うことができるという効果がある。
図4は、図3中の読み出し系DMACにおけるステートマシン74の詳細構成例を示している。ここでは、ステートマシン74がバッファ領域毎に互いに全く等価なサブステートマシンを持つことに特徴があり、各サブステートマシンによってバッファ領域を独立に制御可能にすることで、前述のM個のインタフェース15それぞれの転送要求が同じバッファ領域を共用できるという効果がある。図4の例では、内部バッファ72がSRAMで構成されるものとし、n個のサブステートマシンの各々の状態として、IDLE、QUEO、REQO、SRAMという4つの状態が存在する。IDLE状態は、対応するSRAM領域の空き状態である。QUEO状態は、対応するSRAM領域のコマンド受付が完了した使用予約状態である。REQO状態は、受け付けたコマンドを外部メモリ30に発行したデータ待ち受け状態である。SRAM状態は、外部メモリ30から受け取ったデータが対応するSRAM領域中にあり、対応するインタフェース15へのデータ転送完了を待っている状態である。もちろん、状態数はシステム要件により増減する。
図5(a)〜図5(d)は、図4のステートマシン74によるデータ転送制御の例を示している。この例は、チャネル0からチャネル5までの6個のインタフェース15が8個のSRAM領域を共用し、転送要求が受け付けられた順番にデータ転送が行われる例である。図5(a)では、2領域がQUEO状態である。図5(b)では、6領域がSRAM状態である。図5(c)では、2領域がIDLE状態になり、次にQUEO状態になる。4領域はSRAM状態である。図5(d)では、2領域がQUEO状態であり、他の2領域がSRAM状態である。以上のとおり、内部バッファ72のSRAM領域が有効に使われる。
なお、図2では内部バッファ21の使用に関する複数のモードのうちのいずれかが固定的に選択されるものとしたが、図4のステートマシン74が状況に応じて内部バッファ72の使用モードを選択することとしてもよい。
図6は、図1中のDMA制御部20の他の詳細構成例を示している。図6において、81はバッファキュー、82は内部バッファ、83及び84はアービタ、85はバッファキュー判定装置、86はステートマシン、87は内部IFキュー判定装置、88はリクエスト発生装置、89はメモリIFコマンドアービタ、90はメモリIF、100はポインタ制御装置である。
図6のDMA制御部20は、書き込み(W)用と読み出し(R)用とに分かれたアービタ83,84から、バッファキュー判定装置85を介して、バッファキュー81に転送コマンドを発行する。バッファキュー判定装置85は、アービタ83,84からの転送要求を判定して、転送コマンドをバッファキュー81に渡す。本構成をとることで、内部バッファ82にSRAMを使用する際のバッファ領域の割り振り方法の自由度が向上する。例えば、1つのSRAMに書き込み用の領域と読み出し用の領域とを混在させることも容易になる。そのため、システム要件によって変化するデータ転送性能を保証する際に必要なバッファの回路規模削減、データ転送性能向上に効果がある。
内部IFキュー判定装置87は、書き込み系のアービタ83からデータ転送要求を受け取り、かつステートマシン86から内部バッファ82の転送要求のキューイング状態情報を受け取って、両者をもとにした演算結果をバッファキュー判定装置85に返す。内部IFキュー判定装置87の演算とは、バッファキュー81に書き込み系の転送コマンドがフルに保持されて転送待ち状態であるときに、更に一定数以上の書き込み系のデータ転送要求が生じた場合、通常は読み出し系転送コマンド用に確保されているバッファキュー81に、書き込み系の転送コマンドを割り当てることを意図したものである。これにより、書き込み系転送の緊急時の転送性能を向上させる効果がある。
リクエスト発生装置88及びメモリIFコマンドアービタ89は、メモリIF90が複数の外部メモリ30に接続されることを想定したものである。リクエスト発生装置88は、バッファキュー81にキューイングされた転送コマンドから、いずれの外部メモリ30にデータ転送要求(リクエスト)を発行するのかを選択してリクエストを発行する。メモリIFコマンドアービタ89は、発生したリクエストをそれぞれの外部メモリ30毎に調停するように、k(kは整数)個のアービタで構成される。リクエスト発生装置88とメモリIFコマンドアービタ89との間のデータ転送方法は、レジスタ設定によって切り替えられてもよい。本構成をとることによって、複数の外部メモリ30に柔軟に対応できる効果がある。
ポインタ制御装置100は、メモリIFコマンドアービタ89から、メモリIF90へ送ったデータ転送コマンドの転送完了信号、又はコマンドが受け付けられたことを示すコマンド完了信号を取得し、バッファキュー81から処理されたコマンドのポインタに関する情報を取得して、N個の設定レジスタ40にポインタの値を書き戻す。
なお、メモリIF90をDMA制御部20に外付けすることも可能である。この場合には、図6中のメモリIF90が、メモリIFコマンドアービタ89と外部メモリIFとの間のインタフェースを司る回路ブロックに置き換えられる。
図7は、図6中のポインタ制御装置100の詳細構成例を示している。ポインタ制御装置100は、特殊ポインタ演算器101と、ポインタ加算器102と、外部ポインタ103と、内部ポインタ104とからなる。特殊ポインタ演算器101は、転送完了信号をトリガとして次に示すアルゴリズムに従って演算した結果を外部ポインタ103に渡す。ポインタ加算器102は、転送完了信号又はコマンド完了信号をトリガとしてRPとTszとを加算した結果を内部ポインタ104に戻す。ここに、RPは前述のリードポインタであり、Tszはバッファキュー81に入り、メモリIF90に渡されるデータ転送サイズである。内部ポインタ104及び外部ポインタ103は、転送完了信号又はコマンド完了信号をトリガとして、演算されたデータをN個の設定レジスタ40に渡す。ここで、CPU50から読み出すことができるWP/RPの値をWdP/RdPとする。
図8は、図7のポインタ制御装置100の演算アルゴリズムを示している。ステップS11にてRPとDn1Pとの大小を比較し、RPの方が小さい場合は、外部メモリ30上の実際の読み出し位置が外部ポインタ103に渡されるデータとなり、RPの方が大きい場合は、ステップS12へ進む。そして、あるモードでは外部メモリ30上の実際の読み出し位置を外部ポインタ103に渡し、また別のモードでは、外部メモリ30上の実際の読み出し位置から、読み書きを行わない領域のサイズを差し引いた値を外部ポインタ103に渡す。この機構により、ソフトウェアが外部メモリ30の使用領域を意識する必要がなくなり、転送開始命令を行う設定回数を減らし、ソフトウェアの性能向上に効果がある。なお、図8は読み書きを行わない領域が1つの場合の例であるが、読み書きを行わない2つ以上の領域を持った場合も、同様のアルゴリズムを拡張することで対応できる。
図9は図7のポインタ制御装置100の変形例を、図10は図9のポインタ制御装置100を用いた場合のステートマシン86の動作をそれぞれ示している。ここでは、内部ポインタ104がデータ保持機能を更に備えているものとする。コマンド部42は、最初の転送開始命令を受けた時以外は、N個の設定レジスタ40からではなく、内部ポインタ104から次のアドレスを受け取る。また、内部ポインタ104の更新タイミングは、システムに依存して、バッファキュー81におけるコマンドのキューイング完了を示すコマンド格納完了信号、又はコマンド完了信号、又は発行コマンド分のデータが内部バッファ82に取得完了したことを示すデータ格納完了信号、又は転送完了信号のいずれを用いて更新してもよい。本構成をとることによって、外部ポインタ103は転送完了信号で更新されるが、内部ポインタ104が転送完了信号以外のトリガを用いて更新される場合、内部ポインタ104は、転送完了信号より早く更新されるため、コマンド部42が実際のデータ転送完了前に動作できるため、データ転送レイテンシの向上に大きな効果がある。
なお、図6中のメモリIF90に対してデータ転送を完了したときに更新されるポインタと、メモリIF90が外部メモリ30にデータ転送完了した時点に更新されるポインタとの2種類のポインタを持ち、それぞれが設定レジスタ40に対応付けられており、これらのポインタが前述のCPU50及び専用プロセッサ51から読み出し可能であることとしてもよい。あるいは、メモリIF90へのデータ転送が完了したことと、外部メモリ30へのデータ転送が完了したこととを専用プロセッサ51に通知し、専用プロセッサ51がポインタを更新管理することとしてもよい。こうしたポインタ管理を行うことで、外部メモリ30に対するデータ転送コマンドの先行発行が可能となり、データ転送性能向上に効果がある。
図11はDMA転送の一時停止及び停止解除機能を追加した読み出し系DMACの構成例を、図12は図11中のステートマシン86の動作をそれぞれ示している。ステートマシン86のバッファ領域毎の状態にそれぞれSTOP状態を追加し、N個の設定レジスタ40を通じて状態を変化させる。STOP状態になると、命令が受け付けられたDMAソースからの転送は一時停止状態になる。STOP状態は、N個の設定レジスタ40から解除命令を示すコマンドを受け付ければ解除される。STOP状態から復帰する際は、本例では元の状態に遷移する。リクエスト発生装置88はSTOP状態になると、メモリIF90へのコマンド発生を停止する。本構成をとることにより、一時停止後にポインタの値を変更することができるため、ソフトウェア実行要件が変更された場合の待ち時間減少に効果がある。
図13は図11の変形例を、図14は図13中のステートマシン86の動作をそれぞれ示している。図11及び図12の例ではSTOP状態をバッファ領域毎に持つこととしたが、図13及び図14の例では、STOP状態を転送ソース群の数と同数だけ持ち、バッファ領域毎の状態とは独立に動作することに特徴がある。STOP状態になった転送ソースは、アービタ84によりバッファキュー判定装置85への転送要求が遮断されて、DMA転送が停止する。そのため、図11及び図12の例に比べて、バッファ領域を解放できるため、停止しているDMA以外のDMA転送効率の向上に効果がある。
なお、図11〜図14における停止制御は、図6中のメモリIFコマンドアービタ89にて検出可能な転送完了信号をトリガとして、1コマンド毎又は定められた数の複数コマンド毎に自動停止するモードにて実現することも可能である。
図15は、図1中のコマンド部42の演算アルゴリズムの詳細例を示している。コマンド部42は、図1中のN個の設定レジスタ40に設定された、外部メモリ30のポインタDp1P,Dn1P,SP,EP,WP,RPと、転送データサイズCszと、転送開始命令とを受けて、次に示すアルゴリズムに従い、バッファキュー81に格納されメモリIF90に渡されるデータ転送サイズTszと、データ転送開始アドレスTadとをコマンドとして発行し続ける。なお、図15ではWPを例としているが、RPに関しても同様に制御される。
まず、ステップS01にて、Cszが1DMA単位に分割された転送単位の基本データサイズCTszより小さいか大きいかが判定され、大きければCTszが選ばれてCszからCTszが減ぜられ、小さい場合はCszが選ばれてCszは0となる。次に、ステップS02にて、WPがDp1Pより大きいか小さいかが判定される。小さい場合はステップS030にて、大きい場合はステップS031にてそれぞれ更に判定が行われる。ステップS030では、ステップS01で選択されたデータサイズBTszがDp1P−WPより大きいか小さいかが判定され、大きい場合は、コマンドは2回に分かれて次のように発行される。(1)Tsz:Dp1P−WP、Tad:WP、(2)Tsz:ステップS01で選択されたデータサイズBTszから(1)で発行済みのTszを減じたもの、Tad:Dn1P、小さい場合は、Tsz:ステップS01で選択されたデータサイズBTsz、Tad:WPとなる。また、ステップS031では、ステップS01で選択されたデータサイズBTszがEP−WPより大きいか小さいかが判定され、大きい場合は、コマンドは2回に分かれて次のように発行される。(1)Tsz:EP−WP、Tad:WP、(2)Tsz:ステップS01で選択されたデータサイズBTszから(1)で発行済みのTszを減じたもの、Tad:SP、小さい場合は、Tsz:ステップS01で選択されたデータサイズBTsz、Tad:WPとなる。そして、最後にステップS04にて、Cszが残っているかどうかが判定され、残っていなければ転送完了、残っていれば、ステップS01〜S04の処理を繰り返す。以上の機構により、複数の様々な転送ソース及び転送量のDMA要求マスタのコマンドを全く同一のDMAコマンドに分割できるため、どのような転送に対しても、同一のDMA制御部20を用いたデータ転送が可能となる。
産業上の利用の可能性
以上説明してきたとおり、本発明は、DTV受像装置、DVDやBDの記録再生装置等における外部メモリとのデータ転送処理に有用である。
本発明は、オーディオビジュアル(AV)データの記録再生装置におけるデータ転送装置及びデータ転送方法に関するものである。
AVデータは、ディジタルTV(DTV)放送を介して受信されたり、DVD、ブルーレイディスク(BD)等の媒体に記録されたりする。
DTV用のシステムLSIにて前処理を経て受信されたデータは、トランスポートストリーム(TS)という形態をとる。DTVシステムはMPEG−2システムであり、MPEG−2ではデータ系列として、上述したTSに加え、DVDで使用されるプログラムストリーム(PS)があり、TSとPSの変換を行う際の中間データとして位置付けられているパケタイズドエレメンタリストリーム(PES)がある。これらが最終的にはエレメンタリストリーム(ES)となり、処理される。TS,PS,PES,ESは、定められた規格が存在し、それぞれが異なった形式を持つ。DTVやBDシステムではTS形式のディジタルデータストリーム、ディジタルビデオレコーダ(DVR)ではPS形式のディジタルデータストリームがそれぞれストリームデコーダに受信され、音声信号(オーディオデータ)、映像信号(ビデオデータ)、文字信号(テレテキストデータ)といったデータ(AVデータ)や、暗号、番組情報等のセクションデータ毎に分けられ、メモリコントローラを通じて外部メモリに転送され、一時格納される。これらの一時格納されたデータについて、セクションデータはCPUのソフトウェアによって処理され、AVデータは別デバイスに記録されるか、AVデコーダ(AVD)からの呼び出しによって、外部メモリからAVDに転送されて、AVデータのデコード処理が始まる。
ストリームデコーダにおける処理の詳細については、例えば、多重化したディジタルデータストリームの記憶手段が文献に記載されている(特許文献1参照)。
従来、ストリームデコーダとAVDとCPUとをワンチップ化したシステムLSIが知られている。このシステムLSIでは、ストリームデコーダとAVDとの各々にデータ一時格納メモリが個別に外付けされる(特許文献2の図1参照)。
また、AVDにおける処理の詳細については、例えば映像信号の水平垂直方向の拡大処理が他の文献に記載されている(特許文献3参照)。
一方、DTV、DVD、BD等のAVデータは、PCI、LAN、USBに代表される伝送路にデクリプトした形で流すことは認められないため、記録、ダビング等のAVデータ処理を行うためには、暗復号の動作が必要になる。暗復号のためには大容量バッファが必要なため、外部にメモリを備えていることが通例である(特許文献4参照)。
外部メモリのバンド幅を有効に使うためには、大きい転送単位を用いたダイレクトメモリアクセス(DMA)転送が有効である。ただし、一旦DMA転送を起動した後に新しくDMA転送をセットするには、現在実行中のDMA転送の終了を待って転送パラメータをセットする必要がある。転送パラメータのセットにはCPU負荷がかかり、たまたまCPUの負荷が重く遅くなってしまうと、データ転送効率が悪くなる。そのため、途中でDMA転送を停止することなく複数のDMA転送を切り替えることができるように、DMA制御装置(DMAC)に複数の転送パラメータを保持する方法も紹介されている(特許文献5参照)。
特開平9−275381号公報 特開2001−69106号公報 特開平11−355683号公報 特開平7−297855号公報 特開2001−306488号公報
DTVの放送データは、転送レートは低いが、データが受信されるかどうか分からず、緊急度が高いため、小さい転送単位のデータ転送を繰り返す必要がある。また、DVDやBDから入力されるデータは、転送レートは高いが、一定期間内に一定量のデータを転送するため、大きい転送単位のデータ転送を随時行う必要がある。
これらの異質なデータ転送を好適に実現するために、従来は入出力インタフェース毎に複数の転送パラメータを保持させ、チャネル毎に複数のパラメータを持つDMACをそれぞれに備えていた。
しかしながら、これではDMACの回路規模が大きくなるとともに、2つのDMACに対して随時命令を与えねばならないため、ソフトウェア処理が増加してしまう。しかも、近年増加しつつあるHDD等の大容量記憶媒体に存在するストリームの複数同時処理を行うためには、インタフェースは1つでしかなく、また、各々の使用するメモリ領域も、必ずしも順番にはなっていないので、転送終了信号を契機にしてCPUがソースチャネルの設定を行うに際し、インタフェースの読み書きは時系列で行うほかない。
つまり、読み出し/書き込み属性や、複数のソースのデータ転送を時系列に行い、CPUは、1つの転送ソースに割り当てられたDMACの転送完了を待ってから次のDMACの設定を順次変更し、転送パラメータ設定も時系列に変更をするという、古くからのステップを繰り返さねばならない。そのため、結局、インタフェース毎の転送切り替え時には、CPUによるDMACの停止再開処理が発生してしまうため、データ転送性能がCPU性能に大きく依存してしまうという課題があった。
上記課題を解決するため、本発明によれば、同時にデータ通信を行うことができる複数のインタフェースを設け、当該複数のインタフェースは、1つのインタフェースを介してデータ転送を行う複数の転送ソースをそれぞれ持つ。そして、前記転送ソースのそれぞれに対応するDMA転送パラメータを格納する設定レジスタを設け、DMA制御部は、前記設定レジスタの値をもとにアービトレーションして、前記複数のインタフェースを通じて、データを一時格納し、外部メモリにデータを転送する。好ましくは、前記設定レジスタが外部メモリのアドレス飛び領域設定を含む。
システムLSIと1つのインタフェースを通じて接続された記憶デバイスであっても、当該記憶デバイスに保存された複数データの再生コマンドと、当該記憶デバイスへの複数データの記録コマンドとをCPUから先行発行すれば、当該CPUのソフトウェアから見ると、あたかも複数のインタフェースを通じてデータ転送を行っているかのようになる。
また、本発明の他の観点によれば、設定レジスタの集合毎に1個のセレクト部を設け、これらのセレクト部から受け取った転送パラメータをDMAの1転送コマンド単位に分割してDMA制御部に渡すコマンド部を更に設ける。
一方、DMA制御部は、内部バッファと、コマンド部から受け取ったデータ転送要求を調停するアービタと、コマンド部で発行される1コマンド分に割り当てられる内部バッファの各領域毎にアービタにより調停されたデータを格納するバッファキューと、当該バッファキューの状態を監視するステートマシンとを備えることとし、当該ステートマシンは、内部バッファの各領域の数と同数かつ互いに等価であるサブステートマシンを有することとすればよい。
本発明によれば、システムLSIと外部メモリとのインタフェースに関して無駄な転送を低減することができ、CPUの負荷も軽減できる。
以下、図面を参照しながら、本発明の実施の形態を説明する。
図1は、本発明に係るデータ転送装置の構成例を示している。図1において、10はM個の記憶デバイス、15はM個のインタフェース(IF)、20はDMA制御部、30は外部メモリ、40はN個の設定レジスタ、41はP個のセレクト部、42はS個のコマンド部、50はCPU、51は専用プロセッサである。例えば、図1中の記憶デバイス10と外部メモリ30とを除く構成要素が1つのシステムLSI上に搭載される。ここに、M、N、P及びSはいずれも整数であって、M≦NかつS≦P≦Nである。
図1のデータ転送装置において、外部メモリ30に対するDMA転送を行うDMA制御部20と、データ量、転送レートの異なるN個の転送ソースTSを含むM個の記憶デバイス(それぞれ動作周波数が異なってもよい)10とが、M個のインタフェース15を通じて接続され、DMA制御部20は、N個の転送ソースTSにそれぞれ対応付けられたN個の設定レジスタ40から転送パラメータを受け取ってデータ転送を行う。設定レジスタ40は、一般的なデータ転送制御を司るCPU50と、ストリーム制御等の専用処理を行う専用プロセッサ51とによって制御される。なお、以下の説明では、N個の転送ソースTSから外部メモリ30に対してデータが渡される転送を「書き込み」、外部メモリ30からN個の転送ソースTSに対してデータが渡される転送を「読み出し」と呼ぶ。
図1の構成によれば、N個の設定レジスタ40が、M個のインタフェース15を介して接続されたM個の記憶デバイス10中のN個の転送ソースTSのそれぞれに割り当て可能であるため、ある1つの転送ソースTSについてデータ転送を行うための記憶デバイス10のシーク時間等の転送待ち時間を、別の転送ソースTSのデータ転送時間中に吸収し、複数の記憶デバイス10からのデータ転送にかかる総時間の短縮を見込むことができる。また、転送パラメータを設定レジスタ40に先行的に設定できるため、CPU50の負荷も軽減できる。
更に、N個の設定レジスタ40が次のようにグループ化される。例えば、1つのインタフェース15を通じて転送する転送ソース群に1対1で対応付けられた設定レジスタ群毎に集める。このグループ毎に、N個の設定レジスタ40からの転送パラメータを選択するP個のセレクト部41を設定レジスタ40と接続し、転送パラメータを1DMA単位の転送コマンドに分割するS個のコマンド部42をP個のセレクト部41と接続する。ただし、セレクト部41が介在しない設定レジスタ40には、コマンド部42を直接接続する。
DMA制御部20は、コマンド部42から転送パラメータを取得してDMA転送を行い、セレクト部41を通じて、更新された転送パラメータを設定レジスタ40に書き戻す。このようなセレクト部41とコマンド部42とを備えることによって、N個の設定レジスタ40のそれぞれに必要であった、1DMA単位あたりの転送コマンド発行のための演算部を省略することができるため、回路規模削減、消費電力削減に効果がある。
なお、セレクト部41とコマンド部42との割り当て方は、固定されていてもよいし、外部設定によって可変であってもよい。
外部メモリ30の読み書き対象となる領域は、設定レジスタ40中の次のようなポインタによって指定される。すなわち、領域毎の読み書きの先頭アドレスを示すスタートポインタ(SP)と、領域毎の読み書きの最終アドレスを示すエンドポインタ(EP)と、領域毎の書き込みアドレスを示すライトポインタ(WP)と、領域毎の読み出しアドレスを示すリードポインタ(RP)とである。SPとEPとの間に挟まれる領域中に読み書きを行わない領域を設ける場合には、読み書きを行わない領域の先頭アドレスを示すポインタDp1Pと、読み書きを行わない領域の最終アドレスを示すポインタDn1Pとを設定する。
コマンド部42は、Dp1P及びDn1Pを設定レジスタ40から受け取り、Dp1P付近まで来ると転送コマンドを分割し、次の転送コマンドはDn1Pの次のアドレスから始まるように自動的に調整する。このような読み書きを行わない領域は、複数あってもよい。この際、コマンド部42によって、1DMA単位に分割された転送毎の完了を専用プロセッサ51に通知することで、専用プロセッサ51によって起動されるDMA転送要因に関する外部メモリ30のポインタDp1P,Dn1P,SP,EPを動的に可変にすることができる。これらは、特にDVD、BD等の再生処理においてデータ領域を動的に変更する際に効果がある。
なお、設定レジスタ40が読み出し専用、書き込み専用にそれぞれ分かれ、そのそれぞれが転送ソースTSに対して1対1に割り当てられていてもよい。割り当ては、M個の記憶デバイス10間で切り替えることが可能であってもよい。また、CPU50又は専用プロセッサ51が読み出し/書き込み切り替え設定部として動作することにより、設定レジスタ40を読み出し用、書き込み用のいずれにも汎用的に使えるようにしてもよい。
図2は、図1中のDMA制御部20における内部バッファの使用例を示している。図2に示した内部バッファ21は、幾つかのモードに応じて使い方を変更することができるものである。この内部バッファ21は、N個の転送ソースTSのDMA転送用の一時バッファとして領域を割り当てるが、あるモードでは、全てのバッファ領域をN個の転送ソースTSで共有し、転送要求を受け付けた順番にバッファ領域を割り当てる。また、別のモードでは、N個の転送ソースTSの各々に、バッファ領域の割り当てを固定することができる。モードによって領域毎の容量はそれぞれ可変であってもよい。このようなバッファ領域の割り当て方法をとることによって、前者のモードでは、転送ソースTSの総転送量を増加させることができる。また後者のモードでは、予め期待するだけの各転送ソースTSのデータ転送性能を確保することができる。これらのモードを持つことによって、汎用性の高いDMA制御が可能となる。
図3は、図1中のDMA制御部20の詳細構成例を示している。図3のDMA制御部20は、内部に書き込み(W)系DMACと、読み出し(R)系DMACとを備える。それぞれのDMACは、内部バッファ62,72に加えて、コマンド部42からのDMA転送要求を調停するアービタ63,73と、内部バッファ62,72中のある定められたバッファ領域に1対1で対応付けられており、コマンド部42から受け取った1DMA単位に切り出された転送コマンドを前述のある定められたバッファ領域毎に保持することを目的とするバッファキュー61,71と、それぞれの状態を監視するステートマシン64,74とを有する。ここでは、書き込み系DMACにおいて、内部バッファ62がm個のバッファ領域を有し、これに対応してバッファキュー61がm個のキュー領域を有するものとしている。また、読み出し系DMACにおいて、内部バッファ72がn個のバッファ領域を有し、これに対応してバッファキュー71がn個のキュー領域を有する。ここに、m及びnはいずれも整数である。
本構成は、アービタ63,73を持つことによって、システム要件によっても、記憶媒体によっても異なる性質を持つ転送ソースTSのDMA転送に関して、一定性能を保証することが容易になり、バッファキュー61,71の領域を内部バッファ62,72の各領域毎に持つことによって、コマンド部42から受け取る1DMA単位あたりに切り出された転送コマンドをバッファ領域毎に保持し、それらをステートマシン64,74によって管理することで、バッファ領域毎の転送を管理することができる。そのため、デバッグ効率を著しく高めることができる。それに加えて、バッファ領域を共有することもできるため、高効率な転送を行うことができるという効果がある。
図4は、図3中の読み出し系DMACにおけるステートマシン74の詳細構成例を示している。ここでは、ステートマシン74がバッファ領域毎に互いに全く等価なサブステートマシンを持つことに特徴があり、各サブステートマシンによってバッファ領域を独立に制御可能にすることで、前述のM個のインタフェース15それぞれの転送要求が同じバッファ領域を共用できるという効果がある。図4の例では、内部バッファ72がSRAMで構成されるものとし、n個のサブステートマシンの各々の状態として、IDLE、QUEO、REQO、SRAMという4つの状態が存在する。IDLE状態は、対応するSRAM領域の空き状態である。QUEO状態は、対応するSRAM領域のコマンド受付が完了した使用予約状態である。REQO状態は、受け付けたコマンドを外部メモリ30に発行したデータ待ち受け状態である。SRAM状態は、外部メモリ30から受け取ったデータが対応するSRAM領域中にあり、対応するインタフェース15へのデータ転送完了を待っている状態である。もちろん、状態数はシステム要件により増減する。
図5(a)〜図5(d)は、図4のステートマシン74によるデータ転送制御の例を示している。この例は、チャネル0からチャネル5までの6個のインタフェース15が8個のSRAM領域を共用し、転送要求が受け付けられた順番にデータ転送が行われる例である。図5(a)では、2領域がQUEO状態である。図5(b)では、6領域がSRAM状態である。図5(c)では、2領域がIDLE状態になり、次にQUEO状態になる。4領域はSRAM状態である。図5(d)では、2領域がQUEO状態であり、他の2領域がSRAM状態である。以上のとおり、内部バッファ72のSRAM領域が有効に使われる。
なお、図2では内部バッファ21の使用に関する複数のモードのうちのいずれかが固定的に選択されるものとしたが、図4のステートマシン74が状況に応じて内部バッファ72の使用モードを選択することとしてもよい。
図6は、図1中のDMA制御部20の他の詳細構成例を示している。図6において、81はバッファキュー、82は内部バッファ、83及び84はアービタ、85はバッファキュー判定装置、86はステートマシン、87は内部IFキュー判定装置、88はリクエスト発生装置、89はメモリIFコマンドアービタ、90はメモリIF、100はポインタ制御装置である。
図6のDMA制御部20は、書き込み(W)用と読み出し(R)用とに分かれたアービタ83,84から、バッファキュー判定装置85を介して、バッファキュー81に転送コマンドを発行する。バッファキュー判定装置85は、アービタ83,84からの転送要求を判定して、転送コマンドをバッファキュー81に渡す。本構成をとることで、内部バッファ82にSRAMを使用する際のバッファ領域の割り振り方法の自由度が向上する。例えば、1つのSRAMに書き込み用の領域と読み出し用の領域とを混在させることも容易になる。そのため、システム要件によって変化するデータ転送性能を保証する際に必要なバッファの回路規模削減、データ転送性能向上に効果がある。
内部IFキュー判定装置87は、書き込み系のアービタ83からデータ転送要求を受け取り、かつステートマシン86から内部バッファ82の転送要求のキューイング状態情報を受け取って、両者をもとにした演算結果をバッファキュー判定装置85に返す。内部IFキュー判定装置87の演算とは、バッファキュー81に書き込み系の転送コマンドがフルに保持されて転送待ち状態であるときに、更に一定数以上の書き込み系のデータ転送要求が生じた場合、通常は読み出し系転送コマンド用に確保されているバッファキュー81に、書き込み系の転送コマンドを割り当てることを意図したものである。これにより、書き込み系転送の緊急時の転送性能を向上させる効果がある。
リクエスト発生装置88及びメモリIFコマンドアービタ89は、メモリIF90が複数の外部メモリ30に接続されることを想定したものである。リクエスト発生装置88は、バッファキュー81にキューイングされた転送コマンドから、いずれの外部メモリ30にデータ転送要求(リクエスト)を発行するのかを選択してリクエストを発行する。メモリIFコマンドアービタ89は、発生したリクエストをそれぞれの外部メモリ30毎に調停するように、k(kは整数)個のアービタで構成される。リクエスト発生装置88とメモリIFコマンドアービタ89との間のデータ転送方法は、レジスタ設定によって切り替えられてもよい。本構成をとることによって、複数の外部メモリ30に柔軟に対応できる効果がある。
ポインタ制御装置100は、メモリIFコマンドアービタ89から、メモリIF90へ送ったデータ転送コマンドの転送完了信号、又はコマンドが受け付けられたことを示すコマンド完了信号を取得し、バッファキュー81から処理されたコマンドのポインタに関する情報を取得して、N個の設定レジスタ40にポインタの値を書き戻す。
なお、メモリIF90をDMA制御部20に外付けすることも可能である。この場合には、図6中のメモリIF90が、メモリIFコマンドアービタ89と外部メモリIFとの間のインタフェースを司る回路ブロックに置き換えられる。
図7は、図6中のポインタ制御装置100の詳細構成例を示している。ポインタ制御装置100は、特殊ポインタ演算器101と、ポインタ加算器102と、外部ポインタ103と、内部ポインタ104とからなる。特殊ポインタ演算器101は、転送完了信号をトリガとして次に示すアルゴリズムに従って演算した結果を外部ポインタ103に渡す。ポインタ加算器102は、転送完了信号又はコマンド完了信号をトリガとしてRPとTszとを加算した結果を内部ポインタ104に戻す。ここに、RPは前述のリードポインタであり、Tszはバッファキュー81に入り、メモリIF90に渡されるデータ転送サイズである。内部ポインタ104及び外部ポインタ103は、転送完了信号又はコマンド完了信号をトリガとして、演算されたデータをN個の設定レジスタ40に渡す。ここで、CPU50から読み出すことができるWP/RPの値をWdP/RdPとする。
図8は、図7のポインタ制御装置100の演算アルゴリズムを示している。ステップS11にてRPとDn1Pとの大小を比較し、RPの方が小さい場合は、外部メモリ30上の実際の読み出し位置が外部ポインタ103に渡されるデータとなり、RPの方が大きい場合は、ステップS12へ進む。そして、あるモードでは外部メモリ30上の実際の読み出し位置を外部ポインタ103に渡し、また別のモードでは、外部メモリ30上の実際の読み出し位置から、読み書きを行わない領域のサイズを差し引いた値を外部ポインタ103に渡す。この機構により、ソフトウェアが外部メモリ30の使用領域を意識する必要がなくなり、転送開始命令を行う設定回数を減らし、ソフトウェアの性能向上に効果がある。なお、図8は読み書きを行わない領域が1つの場合の例であるが、読み書きを行わない2つ以上の領域を持った場合も、同様のアルゴリズムを拡張することで対応できる。
図9は図7のポインタ制御装置100の変形例を、図10は図9のポインタ制御装置100を用いた場合のステートマシン86の動作をそれぞれ示している。ここでは、内部ポインタ104がデータ保持機能を更に備えているものとする。コマンド部42は、最初の転送開始命令を受けた時以外は、N個の設定レジスタ40からではなく、内部ポインタ104から次のアドレスを受け取る。また、内部ポインタ104の更新タイミングは、システムに依存して、バッファキュー81におけるコマンドのキューイング完了を示すコマンド格納完了信号、又はコマンド完了信号、又は発行コマンド分のデータが内部バッファ82に取得完了したことを示すデータ格納完了信号、又は転送完了信号のいずれを用いて更新してもよい。本構成をとることによって、外部ポインタ103は転送完了信号で更新されるが、内部ポインタ104が転送完了信号以外のトリガを用いて更新される場合、内部ポインタ104は、転送完了信号より早く更新されるため、コマンド部42が実際のデータ転送完了前に動作できるため、データ転送レイテンシの向上に大きな効果がある。
なお、図6中のメモリIF90に対してデータ転送を完了したときに更新されるポインタと、メモリIF90が外部メモリ30にデータ転送完了した時点に更新されるポインタとの2種類のポインタを持ち、それぞれが設定レジスタ40に対応付けられており、これらのポインタが前述のCPU50及び専用プロセッサ51から読み出し可能であることとしてもよい。あるいは、メモリIF90へのデータ転送が完了したことと、外部メモリ30へのデータ転送が完了したこととを専用プロセッサ51に通知し、専用プロセッサ51がポインタを更新管理することとしてもよい。こうしたポインタ管理を行うことで、外部メモリ30に対するデータ転送コマンドの先行発行が可能となり、データ転送性能向上に効果がある。
図11はDMA転送の一時停止及び停止解除機能を追加した読み出し系DMACの構成例を、図12は図11中のステートマシン86の動作をそれぞれ示している。ステートマシン86のバッファ領域毎の状態にそれぞれSTOP状態を追加し、N個の設定レジスタ40を通じて状態を変化させる。STOP状態になると、命令が受け付けられたDMAソースからの転送は一時停止状態になる。STOP状態は、N個の設定レジスタ40から解除命令を示すコマンドを受け付ければ解除される。STOP状態から復帰する際は、本例では元の状態に遷移する。リクエスト発生装置88はSTOP状態になると、メモリIF90へのコマンド発生を停止する。本構成をとることにより、一時停止後にポインタの値を変更することができるため、ソフトウェア実行要件が変更された場合の待ち時間減少に効果がある。
図13は図11の変形例を、図14は図13中のステートマシン86の動作をそれぞれ示している。図11及び図12の例ではSTOP状態をバッファ領域毎に持つこととしたが、図13及び図14の例では、STOP状態を転送ソース群の数と同数だけ持ち、バッファ領域毎の状態とは独立に動作することに特徴がある。STOP状態になった転送ソースは、アービタ84によりバッファキュー判定装置85への転送要求が遮断されて、DMA転送が停止する。そのため、図11及び図12の例に比べて、バッファ領域を解放できるため、停止しているDMA以外のDMA転送効率の向上に効果がある。
なお、図11〜図14における停止制御は、図6中のメモリIFコマンドアービタ89にて検出可能な転送完了信号をトリガとして、1コマンド毎又は定められた数の複数コマンド毎に自動停止するモードにて実現することも可能である。
図15は、図1中のコマンド部42の演算アルゴリズムの詳細例を示している。コマンド部42は、図1中のN個の設定レジスタ40に設定された、外部メモリ30のポインタDp1P,Dn1P,SP,EP,WP,RPと、転送データサイズCszと、転送開始命令とを受けて、次に示すアルゴリズムに従い、バッファキュー81に格納されメモリIF90に渡されるデータ転送サイズTszと、データ転送開始アドレスTadとをコマンドとして発行し続ける。なお、図15ではWPを例としているが、RPに関しても同様に制御される。
まず、ステップS01にて、Cszが1DMA単位に分割された転送単位の基本データサイズCTszより小さいか大きいかが判定され、大きければCTszが選ばれてCszからCTszが減ぜられ、小さい場合はCszが選ばれてCszは0となる。次に、ステップS02にて、WPがDp1Pより大きいか小さいかが判定される。小さい場合はステップS030にて、大きい場合はステップS031にてそれぞれ更に判定が行われる。ステップS030では、ステップS01で選択されたデータサイズBTszがDp1P−WPより大きいか小さいかが判定され、大きい場合は、コマンドは2回に分かれて次のように発行される。(1)Tsz:Dp1P−WP、Tad:WP、(2)Tsz:ステップS01で選択されたデータサイズBTszから(1)で発行済みのTszを減じたもの、Tad:Dn1P、小さい場合は、Tsz:ステップS01で選択されたデータサイズBTsz、Tad:WPとなる。また、ステップS031では、ステップS01で選択されたデータサイズBTszがEP−WPより大きいか小さいかが判定され、大きい場合は、コマンドは2回に分かれて次のように発行される。(1)Tsz:EP−WP、Tad:WP、(2)Tsz:ステップS01で選択されたデータサイズBTszから(1)で発行済みのTszを減じたもの、Tad:SP、小さい場合は、Tsz:ステップS01で選択されたデータサイズBTsz、Tad:WPとなる。そして、最後にステップS04にて、Cszが残っているかどうかが判定され、残っていなければ転送完了、残っていれば、ステップS01〜S04の処理を繰り返す。以上の機構により、複数の様々な転送ソース及び転送量のDMA要求マスタのコマンドを全く同一のDMAコマンドに分割できるため、どのような転送に対しても、同一のDMA制御部20を用いたデータ転送が可能となる。
以上説明してきたとおり、本発明は、DTV受像装置、DVDやBDの記録再生装置等における外部メモリとのデータ転送処理に有用である。
本発明に係るデータ転送装置の構成例を示すブロック図である。 図1中のDMA制御部における内部バッファの使用例を示す概念図である。 図1中のDMA制御部の詳細構成例を示すブロック図である。 図3中の読み出し系DMACにおけるステートマシンの詳細構成例を示すブロック図である。 (a)〜(d)は図4のステートマシンによるデータ転送制御の例を示す概念図である。 図1中のDMA制御部の他の詳細構成例を示すブロック図である。 図6中のポインタ制御装置の詳細構成例を示すブロック図である。 図7のポインタ制御装置の演算アルゴリズムを示すフローチャート図である。 図7のポインタ制御装置の変形例を示すブロック図である。 図9のポインタ制御装置を用いた場合のステートマシンの動作を示す概念図である。 DMA転送の一時停止及び停止解除機能を追加した読み出し系DMACの構成例を示すブロック図である。 図11中のステートマシンの動作を示す概念図である。 図11の変形例を示すブロック図である。 図13中のステートマシンの動作を示す概念図である。 図1中のコマンド部の演算アルゴリズムを示すフローチャート図である。
符号の説明
10 M個の記憶デバイス
15 M個のインタフェース
20 DMA制御部
21 内部バッファ
30 外部メモリ
40 N個の設定レジスタ
41 セレクト部
42 コマンド部
50 CPU
51 専用プロセッサ
61,71 バッファキュー
62,72 内部バッファ
63,73 アービタ
64,74 ステートマシン
81 バッファキュー
82 内部バッファ
83,84 アービタ
85 バッファキュー判定装置
86 ステートマシン
87 内部IFキュー判定装置
88 リクエスト発生装置
89 メモリIFコマンドアービタ
90 メモリIF
100 ポインタ制御装置
101 特殊ポインタ演算器
102 ポインタ加算器
103 外部ポインタ
104 内部ポインタ
TS N個の転送ソース

Claims (23)

  1. M、Nを整数(M≦N)とするとき、
    格納領域の異なるN個の転送ソースを有するM個の記憶デバイスと、
    前記記憶デバイスとそれぞれ接続されたM個のインタフェースと、
    前記転送ソースのDMA転送設定を前記転送ソースそれぞれについて保存するN個の設定レジスタと、
    前記N個の設定レジスタの設定値をもとにDMA転送制御を行うDMA制御部とを備えたことを特徴とするデータ転送装置。
  2. 請求項1記載のデータ転送装置において、
    予め定められた数(=N個)の範囲内で前記転送ソースの数が各インタフェース毎に増減した場合でも、前記N個の設定レジスタの前記転送ソースに対する割り当てを変更できるように構成されたことを特徴とするデータ転送装置。
  3. 請求項1記載のデータ転送装置において、
    前記N個の設定レジスタの読み出し/書き込み属性を切り替える読み出し/書き込み切り替え設定部を更に備えたことを特徴とするデータ転送装置。
  4. 請求項1記載のデータ転送装置において、
    前記DMA制御部は、一時データ格納領域として内部バッファを備え、
    前記内部バッファは、前記転送ソースの割り当て方法に関する複数のモードを有し、
    あるモードでは、全ての転送ソースからの転送要求を順番に前記内部バッファの空き領域に割り当てることで前記内部バッファの全領域を共有し、またあるモードでは、前記転送ソース毎に固定領域を割り当てることを特徴とするデータ転送装置。
  5. 請求項1記載のデータ転送装置において、
    P、Sを整数(S≦P≦N)とするとき、
    前記N個の設定レジスタの集合毎に設けられたP個のセレクト部と、
    前記P個のセレクト部から受け取った転送パラメータをDMAの1転送コマンド単位に分割するS個のコマンド部とを更に備え、
    前記P個のセレクト部は、前記N個の設定レジスタの集合毎に受け取った転送パラメータを、前記S個のコマンド部を介して前記DMA制御部に渡すことを特徴とするデータ転送装置。
  6. 請求項5記載のデータ転送装置において、
    前記DMA制御部は、
    内部バッファと、
    前記コマンド部から受け取ったデータ転送要求を調停するアービタと、
    前記コマンド部で発行される1コマンド分に割り当てられる前記内部バッファの各領域毎に前記アービタにより調停されたデータを格納するバッファキューと、
    前記バッファキューの状態を監視するステートマシンとを有することを特徴とするデータ転送装置。
  7. 請求項6記載のデータ転送装置において、
    前記ステートマシンは、前記アービタの状態を更に監視することを特徴とすることを特徴とするデータ転送装置。
  8. 請求項6記載のデータ転送装置において、
    前記バッファキューと、前記ステートマシンとを、読み出し用、書き込み用それぞれに有することを特徴とするデータ転送装置。
  9. 請求項6記載のデータ転送装置において、
    前記ステートマシンは前記内部バッファの各領域の数と同数かつ互いに等価であるサブステートマシンを有することを特徴とするデータ転送装置。
  10. 請求項6記載のデータ転送装置において、
    前記ステートマシンは前記内部バッファの使用モードを選択する機能を更に有することを特徴とするデータ転送装置。
  11. 請求項6記載のデータ転送装置において、
    前記DMA制御部は、読み出し用、書き込み用にそれぞれ有する前記アービタの調停結果と、前記内部バッファの状態とから、前記内部バッファの読み出し用、書き込み用の割り当てのうちいずれにするかを判定するバッファキュー判定装置を更に有し、
    前記内部バッファを読み出し用、書き込み用で共有することを特徴とするデータ転送装置。
  12. 請求項11記載のデータ転送装置において、
    前記DMA制御部は、前記ステートマシンから、前記内部バッファの読み出し用、書き込み用の割り当てのうちいずれが緊急度が高いかを判定する内部IFキュー判定装置を更に有し、
    緊急時に読み出し用内部バッファを、書き込み用内部バッファに割り当てることを可能としたことを特徴とするデータ転送装置。
  13. 請求項6記載のデータ転送装置において、
    前記DMA制御部は、複数の外部メモリが当該DMA制御部に接続可能であるように、前記複数の外部メモリにそれぞれ対応したメモリIFコマンドアービタと、前記複数の外部メモリと前記メモリIFコマンドアービタとの間に介在したメモリIFと、リクエスト発生装置とを更に有し、
    前記リクエスト発生装置は、前記ステートマシンの状態をもとに前記バッファキューで保持されている値を使用して、前記メモリIFコマンドアービタに複数のコマンドを発生し、
    前記メモリIFコマンドアービタは、前記複数のコマンドを調停して、前記メモリIFにコマンドを発行することを特徴とするデータ転送装置。
  14. 請求項1記載のデータ転送装置において、
    前記N個の設定レジスタは、複数のプロセッサからアクセスされるように構成されたことを特徴とするデータ転送装置。
  15. 請求項1記載のデータ転送装置において、
    前記N個の設定レジスタは、前記DMA制御部に接続される外部メモリの使用領域に関して、読み書きを行わない領域の先頭アドレスを示すポインタと、当該読み書きを行わない領域の最終アドレスを示すポインタとを有し、
    前記両ポインタ間の領域を飛ばして前記外部メモリにアクセスすることを特徴とするデータ転送装置。
  16. 請求項15記載のデータ転送装置において、
    あるモードでは、前記読み書きを行わない領域の先頭アドレスと最終アドレスとの差分を自動的に計算し、前記外部メモリの読み出し又は書き込み領域の最終アドレスとして、前記差分を差し引いたアドレスを指し示し、また別のモードでは、前記外部メモリの読み出し又は書き込み領域の最終アドレスを変更せずに指し示すことを特徴とするデータ転送装置。
  17. 請求項16記載のデータ転送装置において、
    CPUから読み出し可能な、前記差分を保持するレジスタを更に備えたことを特徴とするデータ転送装置。
  18. 請求項1記載のデータ転送装置において、
    前記DMA制御部は、当該データ転送装置と外部メモリとの間のインタフェースを司るメモリIFを更に有し、
    前記N個の設定レジスタ中に、前記メモリIFにデータ転送を完了した時点で更新するポインタと、前記外部メモリにデータ転送を完了した時点で更新するポインタとを有することを特徴とするデータ転送装置。
  19. M、Nを整数(M≦N)とするとき、格納領域の異なるN個の転送ソースを有するM個の記憶デバイスと、外部メモリとの間のデータ転送方法であって、
    前記転送ソースのDMA転送設定を前記転送ソースそれぞれについてN個の設定レジスタに保存するステップと、
    前記N個の設定レジスタの設定値をもとにDMA制御部がDMA転送制御を行うステップとを備えたことを特徴とするデータ転送方法。
  20. 請求項19記載のデータ転送方法において、
    P、Sを整数(S≦P≦N)とするとき、前記N個の設定レジスタの集合毎に設けられたP個のセレクト部から受け取った転送パラメータをS個のコマンド部がDMAの1転送コマンド単位に分割するステップを更に備え、
    前記P個のセレクト部は、前記N個の設定レジスタの集合毎に受け取った転送パラメータを、前記S個のコマンド部を介して前記DMA制御部に渡すことを特徴とするデータ転送方法。
  21. 請求項20記載のデータ転送方法において、
    前記S個のコマンド部によって発行されるDMAの1転送コマンド単位の転送完了信号を検出するステップと、
    前記N個の設定レジスタ中に含まれるメモリ領域指示ポインタを変更するステップとを更に備えたことを特徴とするデータ転送方法。
  22. 請求項21記載のデータ転送方法において、
    前記N個の設定レジスタを通じて、前記DMA制御部にあるDMA転送コマンドの一時停止命令を伝えるステップを、前記メモリ領域指示ポインタを変更するステップの前に行うことを特徴とするデータ転送方法。
  23. 請求項19記載のデータ転送方法において、
    ある1つの転送ソースから、前記外部メモリとの間のインタフェースを司るメモリIFにデータ転送を完了したことを認識するステップと、
    前記外部メモリのどの位置までデータを書き込んだかを示すライトポインタを、前記メモリIFにデータ転送を完了した時点で、ポインタ更新一時領域に格納するステップと、
    前記1つの転送ソースに関して、次のデータ転送要求を前記N個の設定レジスタに発行するステップと、
    前記メモリIFへの転送を完了したデータ転送が、前記外部メモリにもデータ転送を完了したことを認識するステップと、
    前記ポインタ更新一時領域に格納された値を前記ライトポインタに格納するステップとを更に備えたことを特徴とするデータ転送方法。
JP2008502644A 2006-03-01 2006-08-31 データ転送装置及びデータ転送方法 Pending JPWO2007099659A1 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2006054733 2006-03-01
JP2006054733 2006-03-01
PCT/JP2006/317239 WO2007099659A1 (ja) 2006-03-01 2006-08-31 データ転送装置及びデータ転送方法

Publications (1)

Publication Number Publication Date
JPWO2007099659A1 true JPWO2007099659A1 (ja) 2009-07-16

Family

ID=38458781

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008502644A Pending JPWO2007099659A1 (ja) 2006-03-01 2006-08-31 データ転送装置及びデータ転送方法

Country Status (4)

Country Link
US (1) US7861012B2 (ja)
JP (1) JPWO2007099659A1 (ja)
CN (1) CN101361050B (ja)
WO (1) WO2007099659A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8521921B1 (en) 2009-05-22 2013-08-27 Marvell International Ltd. Automatic direct memory access (DMA)
FR2951290B1 (fr) * 2009-10-08 2011-12-09 Commissariat Energie Atomique Controleur d'acces direct en memoire a sources multiples, procede et programme d'ordinateur correspondants
JP6433191B2 (ja) * 2014-08-18 2018-12-05 ルネサスエレクトロニクス株式会社 マイクロコンピュータ
US9690494B2 (en) * 2015-07-21 2017-06-27 Qualcomm Incorporated Managing concurrent access to multiple storage bank domains by multiple interfaces
JP6933183B2 (ja) * 2018-03-30 2021-09-08 オムロン株式会社 セーフティ制御システムおよびセーフティ制御ユニット
FR3094507A1 (fr) * 2019-03-29 2020-10-02 Stmicroelectronics (Grenoble 2) Sas Accès direct en mémoire

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001306488A (ja) * 2000-04-27 2001-11-02 Matsushita Electric Ind Co Ltd データ転送装置
JP2002041445A (ja) * 2000-05-19 2002-02-08 Matsushita Electric Ind Co Ltd 高性能dmaコントローラ
JP2002342259A (ja) * 2001-05-21 2002-11-29 Hitachi Ltd Dmaコントローラおよびdmaコントローラ自動生成装置
JP2002366507A (ja) * 2001-06-12 2002-12-20 Fujitsu Ltd 複数チャネルdmaコントローラおよびプロセッサシステム
JP2003248652A (ja) * 2000-05-19 2003-09-05 Matsushita Electric Ind Co Ltd 高性能dmaコントローラ
JP2004252693A (ja) * 2003-02-20 2004-09-09 Fujitsu Ltd Dmaコントローラ
JP2004287654A (ja) * 2003-03-20 2004-10-14 Ricoh Co Ltd Dma転送装置
JP2005275538A (ja) * 2004-03-23 2005-10-06 Fujitsu Ltd ダイレクトメモリアクセス制御装置および方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2146472C (en) 1994-04-22 2007-10-09 Kevin Elliott Bridgewater Packet video signal inverse transport processor with memory address circuitry
FR2743245B1 (fr) 1995-12-29 1998-01-23 Thomson Multimedia Sa Dispositif de demultiplexage
US6185634B1 (en) * 1996-09-27 2001-02-06 Emc Corporation Address triggered DMA controller with an indicative signal including circuitry for calculating a new trigger address value based on the sum of the current trigger address and the descriptor register data with a trigger address register
JPH11355683A (ja) 1998-06-11 1999-12-24 Matsushita Electric Ind Co Ltd 映像表示装置
JP3608441B2 (ja) * 1999-07-15 2005-01-12 セイコーエプソン株式会社 データ転送制御装置及び電子機器
JP4256546B2 (ja) 1999-08-24 2009-04-22 パナソニック株式会社 ストリーム多重分離装置
JP2005085079A (ja) * 2003-09-10 2005-03-31 Matsushita Electric Ind Co Ltd データ転送制御装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001306488A (ja) * 2000-04-27 2001-11-02 Matsushita Electric Ind Co Ltd データ転送装置
JP2002041445A (ja) * 2000-05-19 2002-02-08 Matsushita Electric Ind Co Ltd 高性能dmaコントローラ
JP2003248652A (ja) * 2000-05-19 2003-09-05 Matsushita Electric Ind Co Ltd 高性能dmaコントローラ
JP2002342259A (ja) * 2001-05-21 2002-11-29 Hitachi Ltd Dmaコントローラおよびdmaコントローラ自動生成装置
JP2002366507A (ja) * 2001-06-12 2002-12-20 Fujitsu Ltd 複数チャネルdmaコントローラおよびプロセッサシステム
JP2004252693A (ja) * 2003-02-20 2004-09-09 Fujitsu Ltd Dmaコントローラ
JP2004287654A (ja) * 2003-03-20 2004-10-14 Ricoh Co Ltd Dma転送装置
JP2005275538A (ja) * 2004-03-23 2005-10-06 Fujitsu Ltd ダイレクトメモリアクセス制御装置および方法

Also Published As

Publication number Publication date
US20100042754A1 (en) 2010-02-18
CN101361050A (zh) 2009-02-04
CN101361050B (zh) 2010-09-22
US7861012B2 (en) 2010-12-28
WO2007099659A1 (ja) 2007-09-07

Similar Documents

Publication Publication Date Title
JP4356765B2 (ja) 情報処理装置および方法、並びにプログラム
KR100628492B1 (ko) 실시간 동작 수행방법 및 시스템
US7716391B2 (en) Data transfer apparatus, data transfer method, and program
JP4480427B2 (ja) リソース管理装置
KR101812300B1 (ko) 다수의 메모리 채널들을 가진 컴퓨팅 시스템에서의 메모리 버퍼들의 할당
JP6146128B2 (ja) データ処理装置
US20120239873A1 (en) Memory access system and method for optimizing SDRAM bandwidth
JP2005018620A (ja) 情報処理システムおよびメモリ管理方法
JPWO2007099659A1 (ja) データ転送装置及びデータ転送方法
US8549181B2 (en) Semiconductor memory device and method of operating the semiconductor memory device
JP2004362567A (ja) 共用記憶装置の調停
JP4090883B2 (ja) 異なるリソースアクセス方式を有するシステム統合エージェント
JP2006318178A (ja) データ転送調停装置およびデータ転送調停方法
EP1862898B1 (en) Information processing device, information processing method, and computer-readable information recording medium recorded with information processing program for thread priority control
JP5244909B2 (ja) バッファ容量の利用が改善されたマスストレージシステム
JP2007257362A (ja) 記憶装置及びそのアクセス制御方法
JP4728083B2 (ja) メディア処理装置
JP4727480B2 (ja) 情報処理方法、情報処理システム、情報処理装置、マルチプロセッサ、情報処理プログラム及び情報処理プログラムを記憶したコンピュータ読み取り可能な記憶媒体
US10540305B2 (en) Semiconductor device
JP3327900B2 (ja) データ処理装置
JP4017005B2 (ja) 演算装置
JP2004355792A (ja) データ処理装置、データ処理方法、プログラム及びプログラム記録媒体
JP2010262526A (ja) メモリ制御装置
JP2008198119A (ja) データ転送装置、データ転送システムおよびデータ転送方法
US20070006204A1 (en) Rtfs controls queue of requests from os

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110510

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110711

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20120127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120306

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120703