JP2004070571A - データ転送制御システム、電子機器、プログラム及びデータ転送制御方法 - Google Patents

データ転送制御システム、電子機器、プログラム及びデータ転送制御方法 Download PDF

Info

Publication number
JP2004070571A
JP2004070571A JP2002227304A JP2002227304A JP2004070571A JP 2004070571 A JP2004070571 A JP 2004070571A JP 2002227304 A JP2002227304 A JP 2002227304A JP 2002227304 A JP2002227304 A JP 2002227304A JP 2004070571 A JP2004070571 A JP 2004070571A
Authority
JP
Japan
Prior art keywords
command
bus
data
dma
data transfer
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
JP2002227304A
Other languages
English (en)
Inventor
Shinichiro Fujita
藤田 信一郎
Hiroyuki Kanai
金井 裕之
Akemi Ito
伊藤 朱美
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson 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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2002227304A priority Critical patent/JP2004070571A/ja
Priority to US10/625,685 priority patent/US7069350B2/en
Priority to EP03017729A priority patent/EP1389760B1/en
Priority to DE60309391T priority patent/DE60309391T2/de
Priority to CNB031497055A priority patent/CN1237455C/zh
Priority to AT03017729T priority patent/ATE344490T1/de
Publication of JP2004070571A publication Critical patent/JP2004070571A/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

Abstract

【課題】コマンドのデコード処理の処理負荷を軽減できるデータ転送制御システム、電子機器、プログラム及びデータ転送制御方法を提供すること。
【解決手段】BUS1(IEEE1394)を介して転送されてきたコマンドパケットORB(SBP−2)を受け、ORBが含むコマンドを、BUS2(ATA(IDE)/ATAPI)に接続されるデバイスに発行する。発行されたコマンドの種類に依らずに一定長の十分大きなDMAデータ長を設定し、BUS2のデバイスとの間のDMA転送の開始を指示する。BUS2のデバイスが、コマンド処理の終了を通知してきた場合にDMA転送をアボートする。一定長のDMAデータ長として、ストレージの記憶容量よりも大きな値やコマンドにより指定可能なデータ長よりも大きな値を採用する。ORBが含むコマンドをデコードすることなくBUS2のデバイスに発行する。
【選択図】    図9

Description

【0001】
【発明の属する技術分野】
本発明は、データ転送制御システム、電子機器、プログラム及びデータ転送制御方法に関する。
【0002】
【背景技術及び発明が解決しようとする課題】
パーソナルコンピュータ(以下、適宜、PCと呼ぶ)においては、IEEE1394と呼ばれるインターフェース規格が広く用いられている。また、IEEE1394のトランザクション層の一部の機能を含む上位のプロトコルとして、SBP−2(Serial Bus Protocol−2)と呼ばれるプロトコルが知られている。そして、このSBP−2(広義にはSBP)では、SCSI(MMC−2)に類似したコマンドセットが用いられている。
【0003】
一方、CDドライブ、DVDドライブ、ハードディスクドライブなどのストレージデバイスにおいては、ATA(IDE)/ATAPIと呼ばれるインターフェース規格が広く用いられている。
【0004】
従って、ATA/ATAPIのインターフェースを備えるストレージデバイスを、IEEE1394のインターフェースを備えるPCに接続するためには、IEEE1394とATA/ATAPIのバスブリッジ機能を備えたデータ転送制御システムが必要になる。
【0005】
そして、このようなデータ転送制御システムでは、IEEE1394のSBP−2で送られてきたSCSI(MMC−2)のコマンドを、ATA/ATAPIのコマンドとしてストレージデバイスに発行する。また、SCSIのコマンドをデコードし、その内容を解析し、ストレージデバイスとの間のDMA転送を起動する。
【0006】
しかしながら、SBP−2で送られてくるコマンドの種類は多種多様であるため、このようなコマンドのデコード(解析)処理は、処理負荷が重く処理時間も長くなるという問題点がある。
【0007】
本発明は、以上のような技術的課題に鑑みてなされたものであり、その目的とするところは、コマンドのデコード処理の処理負荷を軽減できるデータ転送制御システム、電子機器、プログラム及びデータ転送制御方法を提供することにある。
【0008】
【課題を解決するための手段】
本発明は、バスを介してデータ転送を行うためのデータ転送制御システムであって、第1のバスを介して転送されてきたコマンドパケットを受け、コマンドパケットが含むコマンドを、第2のバスに接続されるデバイスに対して発行するコマンド処理部と、発行されたコマンドの種類に依らずに一定長のDMAデータ長を設定し、第2のバスに接続されるデバイスとの間のDMA転送の開始を指示するDMA転送指示部とを含むデータ転送制御システムに関係する。
【0009】
本発明によれば、第1のバスからのコマンドパケットが含むコマンドが、第2のバスに接続されるデバイスに対して発行される。そして、この発行されたコマンドの種類に依存しない一定長のDMAデータ長が設定されて、DMA転送が行われる。従って、データ転送制御システムは、コマンドの種類に応じた適正なDMAデータ長を取得する処理を行わなくて済むようになり、処理負荷を軽減できる。
【0010】
また本発明では、前記DMA転送指示部が、発行されたコマンドを受けた第2のバスに接続されるデバイスがコマンド処理の終了を通知してきた場合に、開始したDMA転送をアボートしてもよい。
【0011】
このようにすれば、十分に長いDMAデータ長が設定されて開始したDMA転送を、コマンド処理の終了通知の受信を条件にアボートでき、DMA転送を適正に完了できるようになる。
【0012】
また本発明では、前記DMA転送指示部が、発行されたコマンドを受けた第2のバスに接続されるデバイスがDMA転送を要求してきた場合に、DMA転送の開始を指示してもよい。
【0013】
また本発明では、第2のバスに接続されるデバイスが、第2のバスを介して転送されるデータをストレージに書き込む又はストレージから読み出すデバイスであり、前記DMA転送指示部が、前記ストレージの記憶容量よりも大きな値を、一定長の前記DMAデータ長として設定してもよい。
【0014】
また本発明では、前記DMA転送指示部が、コマンドパケットに含まれるコマンドにより指定可能なデータ長よりも大きな値を、一定長の前記DMAデータ長として設定してもよい。
【0015】
また本発明では、前記コマンド処理部が、第1のバスを介して転送されてきたコマンドパケットが含むコマンドをデコードすることなく、該コマンドを第2のバスに接続されるデバイスに対して発行してもよい。
【0016】
このようにすれば、コマンドのデコード処理(DMAデータ長サイズを求めるためのデコード処理)を省略でき、処理負荷を軽減できる。
【0017】
また本発明では、第1のバスが、第1のインターフェース規格によりデータ転送が行われるバスであり、第2のバスが、第2のインターフェース規格によりデータ転送が行われるバスであり、前記コマンドパケットが、第1のインターフェース規格の上位の層のプロトコルで定義されるパケットであってもよい。
【0018】
また本発明では、第1のバスが、IEEE1394規格によりデータ転送が行われるバスであり、第2のバスが、ATA/ATAPI規格によりデータ転送が行われるバスであり、前記コマンドパケットが、SBP−2(SBP)で定義されるORBパケットであってもよい。
【0019】
また本発明は、上記のいずれかのデータ転送制御システムと、第2のバスに接続されるデバイスとを含む電子機器に関係する。
【0020】
また本発明は、第1のバスを介して転送されてきたコマンドパケットを受け、コマンドパケットが含むコマンドを、第2のバスに接続されるデバイスに対して発行するコマンド処理部と、発行されたコマンドの種類に依らずに一定長のDMAデータ長を設定し、第2のバスに接続されるデバイスとの間のDMA転送の開始を指示するDMA転送指示部としてデータ転送制御システムを機能させるプログラムに関係する。
【0021】
また本発明は、バスを介してデータ転送を行うためのデータ転送制御方法であって、第1のバスを介して転送されてきたコマンドパケットを受け、コマンドパケットが含むコマンドを、第2のバスに接続されるデバイスに対して発行し、発行されたコマンドの種類に依らずに一定長のDMAデータ長を設定し、第2のバスに接続されるデバイスとの間のDMA転送の開始を指示するデータ転送制御方法に関係する。
【0022】
【発明の実施の形態】
以下、本発明の実施形態について詳細に説明する。
【0023】
なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが本発明の解決手段として必須であるとは限らない。
【0024】
1.IEEE1394、SBP−2
1.1 層構造
IEEE1394のトランザクション層の一部の機能を含む上位のプロトコルとして、SBP−2(Serial Bus Protocol−2)と呼ばれるプロトコルが提案されている。このSBP−2(広義にはSBP)は、SCSI(MMC−2)のコマンドセットをIEEE1394のプロトコル上で利用可能にするために提案されたものである。このSBP−2を用いれば、既存のSCSI規格対応の電子機器で使用されていたコマンドセットに最小限の変更を加えて、IEEE1394規格の電子機器に使用できるようになる。従って、電子機器の設計や開発を容易化できる。
【0025】
図1に、IEEE1394、SBP−2の層構造(プロトコル・スタック)を簡略化して示す。
【0026】
IEEE1394(IEEE1394−1995、P1394a、P1394b等)のプロトコルは、トランザクション層、リンク層、物理層により構成される。
【0027】
トランザクション層は、上位層にトランザクション単位のインターフェース(サービス)を提供し、下層のリンク層が提供するインターフェースを通して、リードトランザクション、ライトトランザクション、ロックトランザクション等のトランザクションを実施する。
【0028】
ここで、リードトランザクションでは、応答ノードから要求ノードにデータが転送される。一方、ライトトランザクションでは、要求ノードから応答ノードにデータが転送される。またロックトランザクションでは、要求ノードから応答ノードにデータが転送され、応答ノードがそのデータに処理を施して要求ノードに返信する。
【0029】
リンク層は、アドレッシング、データチェック、パケット送受信のためのデータフレーミング、アイソクロナス転送のためのサイクル制御などを提供する。
【0030】
物理層は、リンク層により使用されるロジカルシンボルの電気信号への変換や、バスの調停や、バスの物理的インターフェースを提供する。
【0031】
SBP−2層は、図1に示すように、IEEE1394(広義には第1のインターフェース規格)のトランザクション層の一部の機能を含む上位のプロトコルを提供する。
【0032】
1.2 SBP−2の処理
図2に、SBP−2(広義には第1のインターフェース規格の上位の第1のプロトコル)の処理の全体についてのフローチャートを示す。
【0033】
図2に示すように、SBP−2では、まず、接続機器の確認を行うためのコンフィギュレーションROMのリード処理が行われる(ステップT1)。
【0034】
次に、イニシエータ(例えばパーソナルコンピュータ)が、ターゲット(例えばストレージデバイス)に対するアクセス権(リクエスト開始の許可。バスの使用権)を獲得するためのログイン処理が行われる(ステップT2)。具体的には、イニシエータにより作成されたログインORB(Operation Request Block)を用いてログイン処理が行われる。
【0035】
次に、フェッチエージェントの初期化が行われる(ステップT3)。そして、コマンドブロックORB(ノーマルコマンドORB)を用いてコマンド処理が行われ(ステップT4)、最後に、ログアウトORBを用いてログアウト処理が行われる(ステップT5)。
【0036】
ここで、ステップT4のコマンド処理においては、図3のA1に示すように、イニシエータがライト要求パケットを転送して(ライト要求トランザクションを発行して)、ターゲットのドアベルレジスタをリングする。すると、A2に示すように、ターゲットがリード要求パケットを転送し、イニシエータが対応するリード応答パケットを返す。これにより、イニシエータが作成したORB(コマンドブロックORB)が、ターゲットのデータバッファ(パケットバッファ)にフェッチされる。そして、ターゲットは、フェッチされたORBに含まれるコマンドを解析する。
【0037】
そして、ORBに含まれるコマンドがSCSIのライトコマンドであった場合には、A3に示すように、ターゲットがリード要求パケットをイニシエータに転送し、イニシエータが対応するリード応答パケットを返す。これにより、イニシエータのデータバッファに格納されているデータがターゲットに転送される。そして、例えばターゲットがストレージデバイスであった場合には、転送されたデータがストレージデバイスに書き込まれる。
【0038】
一方、ORBに含まれるコマンドがSCSIのリードコマンドであった場合には、図4のB1に示すように、ターゲットは、一連のライト要求パケットをイニシエータに転送する。これにより、例えばターゲットがストレージデバイスであった場合には、ストレージデバイスから読み出されたデータが、イニシエータのデータバッファに転送されることになる。
【0039】
このSBP−2によれば、ターゲットは、自身が都合の良いときに要求パケットを転送して(トランザクションを発行して)、データを送受信できる。従って、イニシエータとターゲットが同期して動く必要がなくなるため、データ転送効率を高めることができる。
【0040】
なお、IEEE1394の上位プロトコルとしては、ストレージデバイスやプリンタのデータの転送に最適なSBP−2以外にも、映像や音声のデータの転送に最適なAV/Cコマンドが提案されている。また、IEEE1394バス上で、インターネットプロトコル(IP)のパケットを転送するものとしてIPover1394と呼ばれるプロトコルも提案されている。
【0041】
なお、ターゲット、イニシエータ間でデータ転送を行う場合、図5(A)のようにイニシエータ(パーソナルコンピュータ、相手ノード)のデータバッファにページテーブルが存在する場合と、存在しない場合がある。
【0042】
そして、ページテーブルが存在する場合には、図5(B)に示すように、イニシエータが作成したORBの中には、そのページテーブルのアドレスやエレメント数が含まれる。そして、転送データのアドレス(読み出しアドレス、書き込みアドレス)は、このページテーブルを用いて間接アドレス指定される。
【0043】
一方、ページテーブルが存在しない場合には、図5(C)に示すように、ORBの中にアドレスとデータ長が含まれ、転送データのアドレスが直接アドレス指定される。
【0044】
1.3 バスブリッジ機能
さて、本実施形態のデータ転送制御システム10は図6(A)に示すように、IEEE1394(SBP−2)に準拠したBUS1(第1のバス)とATA(IDE)/ATAPIに準拠したBUS2(第2のバス)との間のバスブリッジ機能を有している。ここで、ATA(AT Attachment)は、主にハードディスク用のインターフェース規格として広く用いられているものであり、ATAPI(ATA Packet Interface)は、ATAをCDドライブなどの光ディスクドライブでも使用できるようにしたインターフェース規格である。
【0045】
図6(A)に示すようなバスブリッジ機能を実現できるデータ転送制御システム10は、パーソナルコンピュータ2から転送されてくるORB(広義にはコマンドパケット)が含むSCSI(SPC−2)のコマンドを、ATAPIのコマンドとしてストレージデバイス100(光ディスクドライブ)に発行する。そして、SBP−2で送られてくるSCSIのコマンドをデコードし、その内容を解析し、ストレージデバイス100との間のDMA転送を起動する。
【0046】
しかしながら、SBP−2で送られてくるコマンドの種類は多種多様であるため、このようなコマンドのデコード、解析は、処理負荷が重く処理時間も長くなるという問題点があることが判明した。
【0047】
また、図6(B)に示すように、パーソナルコンピュータ2上で動作するアップル社、マイクロソフト社等のOS(Operating System)では、SCSI(Small Computer System Interface)、ATAPI(AT Attachment Packet Interface)の両者に共通するコマンドしか使用されていないという点も判明した。
【0048】
本実施形態では以上の点に着目し、以下に説明するような構成のデータ転送制御システムを採用している。
【0049】
2.全体構成
図7に、本実施形態のデータ転送制御システム及びこれを含む電子機器の全体構成例を示す。なお、以下では、イニシエータとの間でデータ転送を行うターゲットがストレージデバイス(CDドライブ、DVDドライブ等)である場合について例にとり説明するが、本発明はこれに限定されない。
【0050】
データバッファ4を有するパーソナルコンピュータ(ホストコンピュータ)2と電子機器8は、IEEE1394に準拠したBUS1(第1のバス)により接続される。そして、電子機器8は、データ転送制御システム10とストレージデバイス100(広義にはデバイス)を有する。
【0051】
なお、電子機器8には、図示しないシステムCPU、システムメモリ(ROM、RAM)、操作部、或いは信号処理デバイス等を含めることができる。
【0052】
データ転送制御システム10は、物理層(PHY)回路14、リンク層回路20、SBP−2回路22、インターフェース回路30、パケット管理回路38、バケットバッファ40(データバッファ)を含む。また、CPU42、フラッシュメモリ44(EEPROM)を含む。また、フラッシュメモリ44にその処理モジュール(プログラム)が記憶され、CPU42(広義にはプロセッサ)により実行されるファームウェア50を含む。なお、本実施形態のデータ転送制御システム10は、図7に示す全ての回路ブロック、機能ブロックを含む必要はなく、その一部を省略してもよい。
【0053】
物理層回路14は、図1の物理層のプロトコルをハードウェアにより実現するための回路であり、リンク層回路20により使用されるロジカルシンボルを電気信号に変換する機能を有する。
【0054】
リンク(&トランザクション)層回路20は、図1のリンク層のプロトコルやトランザクション層のプロトコルの一部をハードウェアにより実現するための回路であり、ノード間でのパケット転送のための各種サービスを提供する。
【0055】
これらの物理層回路14、リンク層回路20の機能により、IEEE1394に準拠したデータ転送を、BUS1(第1のバス)を介してパーソナルコンピュータ2(広義には電子機器)との間で行うことが可能になる。
【0056】
SBP−2回路22(転送実行回路)は、SBP−2のプロトコルの一部やトランザクション層の一部をハードウェアにより実現する回路である。このSBP−2回路22の機能により、転送データを一連のパケットに分割し、分割された一連のパケットを連続転送する処理が可能になる。
【0057】
インターフェース回路30は、ストレージデバイス100とのインターフェース処理を行う回路である。このインターフェース回路30の機能により、ATA(AT Attachment)、ATAPI(ATA Packet Interface)に準拠したデータ転送を、BUS2(第2のバス)を介してストレージデバイス100との間で行うことが可能になる。
【0058】
そして、図7のように物理層回路14、リンク層回路20、インターフェース回路30を設けることで、IEEE1394(広義には第1のインターフェース規格)とATA(IDE)/ATAPI(広義には第2のインターフェース規格)のバスブリッジ機能をデータ転送制御システム10に持たせることが可能になる。
【0059】
インターフェース回路30が含むDMAコントローラ32は、BUS2を介してストレージデバイス100との間でDMA(Direct Memory Access)転送を行うための回路である。
【0060】
なお、BUS2に接続されるストレージデバイス100は、ATA(IDE)/ATAPIに準拠したデータ転送を行うためのインターフェース回路102と、ストレージ106へのアクセス制御(書き込み又は読み出し制御)を行うアクセス制御回路104と、光ディスク、ハードディスクなどのストレージ106を含む。
【0061】
バッファ管理回路38は、パケットバッファ40とのインターフェースを管理する回路である。バッファ管理回路38は、バッファ管理回路38の制御のためのレジスタや、パケットバッファ40へのバス接続を調停する調停回路や、各種の制御信号を生成するシーケンサなどを含む。
【0062】
また、バッファ管理回路38はポインタ管理部39を含む。このポインタ管理部39は、パケットバッファ40のポインタをリングバッファ方式で管理し、書き込み用、読み込み用の複数のポインタを更新する処理を行う。
【0063】
パケットバッファ40(パケットメモリ、データバッファ)は、パケット(転送データ)を一時的に格納するためのバッファであり、SRAM、SDRAM、或いはDRAMなどのハードウェアにより構成される。なお、本実施形態では、パケットバッファ40は、ランダムアクセス可能なパケット記憶部として機能する。また、パケットバッファ40を、データ転送制御システム10に内蔵せずに、外付けにしてもよい。
【0064】
CPU42(広義にはプロセッサ)は、装置全体の制御やデータ転送の制御を行うものである。
【0065】
フラッシュメモリ44(EEPROM)は、電気的にデータの書き換えが可能な不揮発性メモリである。このフラッシュメモリ44には、ファームウェア50の処理モジュール(プログラム)が記憶される。
【0066】
ファームウェア50は、CPU42上で動作する種々の処理モジュール(処理ルーチン)を含むプログラムであり、トランザクション層等のプロトコルは、このファームウェア50と、ハードウェアであるCPU42等により実現される。
【0067】
ファームウェア50(F/W)は、コミュニケーション部52、マネージメント部60、フェッチ部70、ストレージタスク部80、ダウンローダ部90を含む。なお、ファームウェア50は、これらの全ての機能ブロック(モジュール)を含む必要はなく、その一部を省略してもよい。
【0068】
ここで、コミュニケーション部52は、物理層回路14、リンク層回路20などのハードウェアとの間のインターフェースとして機能する処理モジュールである。
【0069】
マネージメント部60(マネージメントエージェント)は、ログイン、リコネクト、ログアウト、リセット等の管理を行う処理モジュールである。例えばイニシエータがターゲットにログインを要求した場合には、まず、このマネージメント部60が、このログイン要求を受け付けることになる。
【0070】
フェッチ部70(フェッチエージェント)は、ORB(Operation Request Block)受信と、ステータスの発行と、ストレージタスク部80へのコマンド処理依頼を行う処理モジュールである。フェッチ部70は、単一の要求しか扱うことができないマネージメント部60とは異なり、イニシエータからの要求により自身がフェッチしたORBのリンクリストも扱うことができる。
【0071】
ストレージタスク部80は、ORBが含むコマンドの処理とDMA転送処理を実行するための処理モジュールである。
【0072】
ダウンローダ部90は、フラッシュメモリ44に記憶されるファームウェア50の処理モジュール等の更新を行うための処理モジュールである。
【0073】
ストレージタスク部80は、コマンド処理部82、DMA転送指示部84を含む。
【0074】
ここでコマンド処理部82は、BUS1(IEEE1394等の第1のインターフェース規格の第1のバス)を介して転送されてきたORB(広義にはコマンドパケット、データ転送オペレーション要求のためのコマンドパケット)についての種々の処理を行う。具体的には、BUS1からのORBを受け、ORBが含むコマンド(SCSI、MMC−2のコマンド)を、BUS2(ATA/ATAPI等の第2のインターフェース規格の第2のバス)に接続されるストレージデバイス100(広義にはデバイス)に対して発行する。この場合、コマンド処理部82は、ORB(コマンドパケット)から取り出したコマンドのデコード処理(コマンドに含まれるデータ数指定、セクタ数指定或いはパラメータを調べるためのデコード処理)を行うことなく、即ちコマンドの内容を解析することなく、そのままの状態でストレージデバイス100に対して発行する。
【0075】
DMA転送指示部84は、一定長のDMAデータ長を設定し、BUS2を介したDMA転送(CPUを介在させないデータ転送)の開始の指示等を行う。
【0076】
具体的には、コマンド処理部82により発行されたコマンド(ORBが含むコマンド)に依存しない一定長のDMAデータ長(DMAデータサイズ)を設定する。即ちリードコマンドであってもリードCDコマンドであっても、同じ一定長のDMAデータ長を、例えばインターフェース回路30の所定のレジスタ(DMAデータ長設定レジスタ)に設定する。そして、このDMAデータ長分のDMA転送の開始を、インターフェース回路30(ストレージデバイス100)等に指示する。具体的には、ストレージデバイス100からのDMA転送要求(DMARQ)に対して、DMA転送要求のアクノリッジ(DMACK)を出すように指示して、DMA転送を開始する。
【0077】
またDMA転送指示部84は、BUS2のストレージデバイス100がINTRQ(割り込み)等を用いてコマンド処理の終了を通知してきた場合に、開始したDMA転送をアボートする指示も行う。具体的には、インターフェース回路30(DMAコントローラ32)等がDMA転送の送信又は受信状態になっているのを解除し、DMA転送カウンタを0(初期値)にクリアする。
【0078】
なお、一定長のDMAデータ長としては、例えば、ストレージ106(ストレージデバイス100により転送データが書き込まれる又は読み出されるメディア)の記憶容量(例えばCDの場合の670Mバイト、DVDの場合の4.7Gバイト等)よりも大きな値を採用できる。或いは、コマンド(SBP−2、ATAPI)により指定可能なデータ長(パケットのデータ長のフィールドのビット数で表すことができる最大データ長)よりも大きな値を採用できる。或いは、ハードウェア、インターフェース規格、プロトコルの制限により決められる最大のデータ長を採用してもよい。また、この一定長のDMAデータ長は、レジスタ(Dフリップフロップ、メモリ)などに予め設定しておけばよく、1回のDMA転送毎に毎回設定しなくてもよい。
【0079】
3.処理の詳細
図8にATAPIのパケットコマンド処理の流れの概要を示す。
【0080】
ATAPIは、CDドライブやDVDドライブなどのマルチメディア系のデバイスを制御するためのインターフェース規格である。ATAPIパケットコマンドは、ATAコマンドの上位層に位置し、ATAPIパケットコマンドはATAコマンドを使用して発行される。
【0081】
即ち、ATAでは、ATAレジスタにパラメータを設定し、コマンドレジスタにコマンドを書き込むことでコマンドが実行される。これに対してATAPIでは、コマンドレジスタに書き込まれるのはPACKETコマンドだけであり、デバイス制御のためのコマンドは、その次のATAPIパケットコマンド転送で転送される。そして、その後にデータレジスタへのデータ転送が行われる。このようにすることで、ATAの制御体系を利用してATAPIを実現できるようになる。
【0082】
本実施形態のデータ転送制御システム10では、このATAPIのパケットコマンドを利用してBUS2でのデータ転送を実現している。
【0083】
図9、図10に、本実施形態の詳細な処理についてのフローチャートを示す。
【0084】
SBP−2の処理中にORBを受信すると(ステップS1)、SBP−2のデータ長をORB(またはページテーブル)のデータサイズより取得し、DMAデータ長を例えば2T(テラ)バイトに設定する(ステップS2)。
【0085】
即ち、図11のE1に示すように、ORBに含まれるコマンド(リード、ライト、リードCD等)のデコード処理(データ数やセクタ数の取得、パラメータの解析等)を行わないようにする。そして、ORBに含まれるコマンドの種類に依らずに、一定長(2Tバイト)のDMAデータ長を設定する。そして、図11のE2に示すように、ORBに含まれるコマンドをBUS2を介してストレージデバイス100に発行する(ステップS10)。
【0086】
図10に、ステップS10のコマンド発行処理のフローチャートを示す。
【0087】
まず、ドライブセレクト(マスター/スレイブ)を行う(ステップS21)。そして、ストレージデバイス100がBusyか否かを判断し(ステップS22)、BusyでなければPACKETコマンドを発行する(ステップS23。図8参照)。次に、ストレージデバイス100がBusyか否か、或いはストレージデバイス100からのDMARQが無いか否かを判断する(ステップS24)。そして、そうではない場合には、Errorか否かを判断し(ステップS25)、Errorの場合にはコマンドアボートを行い(ステップS28)、図9のステップS19のステータス送信の処理に移行する。
【0088】
一方、Errorではない場合には、ATAPIパケットコマンドを転送する(ステップS26。図8参照)。そして、Errorか否かを判断し(ステップS27)、Errorの場合にはコマンドアボートを行い(ステップS28)、図9のステップS19のステータス送信の処理に移行する。一方、Errorでない場合には、コマンド発行処理を正常終了する。
【0089】
図9の説明に戻る。コマンド発行処理が終了すると、データ長が「0」か否かを判断する(ステップS11)。例えば、ORBに含まれるコマンドがテストユニットレディやスタート/ストップユニットである場合にはデータ長が「0」になる。そして、データ長が「0」の場合にはステップS17に移行する。
【0090】
一方、データ長が「0」でない場合には、図11のE3に示すようにストレージデバイス100からのDMARQ(DMA転送要求)がアサートされたか否かを判断する(ステップS12)。そして、DMARQがアサートされた場合には、図11のE4に示すようにストレージデバイス100との間のDMA転送(2Tバイト分)の開始を指示する(ステップS13)。
【0091】
即ち、ATA/ATAPIに準拠するBUS2では、後述するように、DMA転送要求であるDMARQやDMARQに対するアクノリッジであるDMACKなどの信号が定義されている。そして、ストレージデバイス100のインターフェース回路102がDMARQをアサートした後、データ転送制御システム10のインターフェース回路30がDMACKをアサートすると、DMA転送が開始する。
【0092】
次に、図11のE5に示すように、PC(パーソナルコンピュータ2)とのデータ転送(SBP−2データ長分)の開始も指示する(ステップS14)。
【0093】
即ち、本実施形態ではPCとのデータ転送を、ハードウェア回路であるSBP−2回路22を用いて実現している。このようにすることで、SBP−2データ長とDMAデータ長を設定した後は、BUS1を介してPCから受信した転送データ(ライトデータ)が、パケットバッファ40、BUS2を介してそのままストレージデバイス100に自動的に転送されるようになる。また、BUS2を介してストレージデバイス100から受信した転送データ(リードデータ)が、パケットバッファ40、BUS1を介してそのままPCに自動的に転送されるようになる。従って、BUS1でのSBP−2転送、BUS2でのATAPIのDMA転送が完了するまでは、ファームウェア50(CPU42)はデータ転送処理に関与しなくても済むようになる。これにより、ファームウェア50の処理負荷を格段に軽減できる。
【0094】
PCとのデータ転送(ハードウェアSBP−2転送)が完了したと判断されると(ステップS16)、ストレージデバイス100のコマンド処理が終了したか否かを判断する(ステップS17)。この判断は、ATA/ATAPIで定義されるBUS2の割り込み信号INTRQ等を用いて行う。そして、コマンド処理が終了したと判断された場合には、図11のE6に示すようにDMA転送をアボートする(ステップS18)。そしてE7に示すように、PCに対してステータスを送信する(ステップS19)。
【0095】
即ち本実施形態では、図9のステップS2に示すように、DMAデータ長として十分に大きな値(2Tバイト)を設定しているため、DMAデータ長が「0」になってDMA転送が完了することはない。そこで、ステップS17に示すように、コマンド処理の終了を条件に、DMA転送が完了したと見なして、DMA転送をアボートする。
【0096】
具体的には、BUS2でのデータ転送が実質的に終了していても、DMAデータ長が「0」になっていないため、データ転送制御システム10側のDMA転送は送信又は受信待ち状態になっている。この状態で、INTRQがアサートされて、コマンド処理の終了がストレージデバイス100から通知されると、本実施形態のデータ転送制御システム10は、DMA転送の送信又は受信待ち状態を解除し、DMA転送をアボートする。これにより、DMA転送を正常に完了させることができる。
【0097】
以上のように本実施形態では、十分に大きなDMAデータ長を設定しているため、BUS1からのORBが含むSCSIのコマンドの内容を解析することなく、そのままBUS2を介してストレージデバイス100に発行できる。従って、コマンドのデコード処理を省略でき、処理負荷を大幅に軽減できる。また、十分に大きなDMAデータ長を設定してDMA転送を開始しても、ストレージデバイス100からのコマンド処理の終了通知を待ってアボートすることで、DMA転送を正常に完了させることが可能になる。
【0098】
なお、SCSIではATAPIとは異なり、コマンドの最後に制御バイトが付加されている。また、SCSIでは6バイト、10バイト、12バイトのコマンドが存在するが、ATAPIのコマンドは全て12バイトである。しかしながら、ORBでは、コマンドブロックは12バイトであり、12バイト未満のコマンドはパディング(padding)され、制御バイトも付加されない。従って、ORBに含まれるSCSI(MMC−2)のコマンドを、そのままATAPIのストレージデバイス100に発行しても問題は生じない。但し、本実施形態において、ORBに含まれるコマンドに若干の変更処理を加えて、ストレージデバイス100に発行するようにしてもよい。
【0099】
図12に、本実施形態の比較例となるデータ転送制御手法のフローチャートを示す。図12の比較例では、ORBが含むコマンドをデコードすることでDMAデータ長を取得している。
【0100】
例えば、デコードすべきコマンドは以下のように分類できる。
【0101】
即ち、データの送受信を行うためのコマンドとして、バイト数でデータ長を指定するモードセンス、モードセレクト、インクワイアリー(inquiry)等と、セクタ数でデータ長を指定するリード、ライト等がある。
【0102】
また、データの送受信を行わないコマンドとしては、テストユニットレディ、スタート/ストップユニット等がある。
【0103】
そして、セクタ数でデータ長を指定する場合において、実データ長を求めるためには、セクタ長を指定する必要がある。この場合、セクタ長を指定するには、以下の方法がある。
(1)モードセレクトによるセクタ長指定(レガシーSCSI仕様)
モードセレクトのパラメータによりセクタ長が指定され、ストレージデバイス(CDドライブ)が正常にモードセレクトのコマンドを終了した場合には、それ以後のセクタ長には、モードセレクトで指定されたセクタ長が使用される。
(2)リードCDコマンドでのセクタ長指定
リードCDのパラメータによりセクタ長が指定された場合には、そのセクタ長はそのコマンドのみにおいて有効となる。
【0104】
このような種々のコマンドに対応するために、比較例では、図12に示すような処理が必要になる。
【0105】
即ち図12では、ORBを受信すると(ステップS31)、ORBに含まれるコマンドをデコードし、バイト単位でのデータ数指定があるかを判断する(ステップS32)。そして、バイト単位でのデータ数指定がある場合には、コマンド内のデータ数指定をデータサイズとする(ステップS33)。一方、バイト単位でのデータ数指定がない場合には、セクタ単位でのデータ数指定があるか否かを判断する(ステップS34)。そして、セクタ単位でのデータ数指定がない場合には、データサイズを「0」とする(ステップS35)。
【0106】
セクタ単位でのデータ数指定がある場合には、セクタサイズが存在するか否かを判断し(ステップS35)、セクタサイズが存在しない場合には、2048バイト×(コマンドのセクタ数)をデータサイズとする(ステップS37)。一方、セクタサイズが存在する場合には、(指定セクタサイズ)×(コマンドのセクタ数)をデータサイズとする(ステップS38)。
【0107】
図12の比較例では、以上の処理により得られたデータサイズを、SBP−2データ長及びDMAデータ長に設定する(ステップS39)。そして、その後、ステップS40以下の処理を行う。そして、このステップS40以下の処理では、図9の本実施形態の処理とは異なり、ステップS45において、DMAデータ長等に基づいてDMA転送が完了したか否かの判断を行う(図13のF6参照)。また、図9のステップS18のDMA転送のアボート処理は、図12では存在しない。
【0108】
以上のように図12の比較例では、ステップS32〜S38においてコマンドのデコード(解析)処理を行っているため(図13のF1参照)、処理負荷が重くなる。これに対して図9の本実施形態ではこれらの処理が不要であり、この点において本実施形態の方が有利となる。
【0109】
図14に、他の比較例のデータ転送制御手法の処理のフローチャートを示す。図14の比較例では、ORBのページテーブル等を参照してDMAデータ長を取得している。
【0110】
即ち図14では、ORBを受信すると(ステップS51)、ORBのデータサイズが「0」か否かを判断し(ステップS52)、「0」の場合にはステップS56に移行する。一方、「0」でない場合には、PCのデータバッファにページテーブルが存在するか否かを判断する(ステップS53)。そして、ページテーブルが存在する場合には、ページテーブルを全て読み出して、データサイズを計算する(ステップS54)。そして、取得したデータサイズを、SBP−2データ長及びDMAデータ長に設定する(ステップS56)。その後のステップS60以下の処理は、図12のステップS40以下の処理と同様である。
【0111】
この図14の比較例においても、ステップS52〜S54に示す処理が必要になるため、処理負荷が重くなり、この点においても図9の本実施形態の方が有利となる。
【0112】
4.ATA/ATAPIのインターフェース回路
図15に、ATA/ATAPIのインターフェース回路30の構成例を示す。なお、インターフェース回路30は図15の全ての回路ブロックを備える必要はなく、その一部を省略してもよい。
【0113】
FIFO31は、データ転送の転送レートの差を調整(緩衝)するためのバッファである。DMAコントローラ32は、FIFO31やインターフェースコア回路34の制御(REQ/ACK制御)等を行う回路である。
【0114】
インターフェースコア回路34は、DMAの制御等を行う回路である。インターフェースコア回路34が含むカウンタ35は、ATA(IDE)/ATAPI用のリセットカウンタである。インターフェースコア回路34が含むUDMA回路36は、ATA/ATAPIのUltraDMA転送を制御するための回路であり、UltraDMA用のFIFO37、UltraDMA用のCRC演算回路38を含む。
【0115】
レジスタ33は、DMA転送の開始等を制御するためのレジスタであり、このレジスタ33は、ファームウェア50(CPU42)によりアクセス可能になっている。
【0116】
CS[1:0]は、ATAの各レジスタにアクセスするために使用するチップセレクト信号である。DA[2:0]は、データ又はデータポートにアクセスするためのアドレス信号である。
【0117】
DMARQ、DMACKは、DMA転送に使用される信号である。データ転送の準備が整った時にストレージデバイス100(デイバイス)側がDMARQをアサートして(アクティブにして)、これに応答して、データ転送制御システム10(ホスト)側がDMA転送開始時にDMACKをアサートする。
【0118】
DIOW(STOP)は、レジスタ又はデータポートの書き込み時に使用するライト信号である。なお、UrtraDMA転送中はSTOP信号として機能する。DIOR(HDMARDY、HSTROBE)は、レジスタ又はデータポートの読み出し時に使用するリード信号である。なお、UrtraDMA転送中はHDMARDY、HSTROBE信号として機能する。
【0119】
IORDY(DDMARDY、DSTROBE)は、ストレージデバイス100のデータ転送の準備が整っていない時のウェイト信号等に使用される。なお、UrtraDMA転送中はDDMARDY、DSTROBE信号として機能する。
【0120】
INTRQは、ストレージデバイス100(デバイス)が、データ転送制御システム10(ホスト)に対して割り込みを要求するために使用される信号である。このINTRQがアサートされた後、データ転送制御システム10がストレージデバイス100のステータスレジスタの内容を読むと、所定時間後にストレージデバイス100はINTRQをネゲートする(非アクティブにする)。このINTRQを用いることで、ストレージデバイス100は、コマンド処理の終了をデータ転送制御システム10に通知できる。
【0121】
図16(A)〜図18(B)に、以上のATA用の信号の波形例を示す。なお、これらの図において「#」は負論理(Lレベルがアサート)の信号であることを表す。
【0122】
図16(A)、(B)は、PIO(Parallel I/O)リード、PIOライト時の信号波形例である。ATAのステータスレジスタのリードは図16(A)のPIOリードにより行い、制御レジスタへのライトは図16(B)のPIOライトにより行う。例えば、ストレージデバイス100へのPACKETコマンドの発行やATAPIパケットコマンドの転送(図8、図10参照)は、このPIO転送により行うことができる。
【0123】
図17(A)、(B)は、DMAリード、DMAライト時の信号波形例である。データ転送の準備ができると、ストレージデバイス100(インターフェース回路102)が、DMARQをアサートする(Hレベルにする)。そして、それを受けて、データ転送制御システム10(インターフェース回路30)が、DMACKをアサートして(Lレベルにして)、DMA転送を開始する。その後、DIOR(リード時)又はDIOW(ライト時)を使用して、データDD[15:0]のDMA転送を行う。
【0124】
図18(A)、(B)は、UltraDMAリード、UltraDMAライト時の信号波形例である。データ転送の準備ができると、ストレージデバイス100が、DMARQをアサートする。そして、それを受けて、データ転送制御システム10が、DMACKをアサートして、DMA転送を開始する。その後、DIOW、DIOR、IORDYを使用して、データDD[15:0]のUltraDMA転送を行う。
【0125】
なお、本発明は本実施形態に限定されず、本発明の要旨の範囲内で種々の変形実施が可能である。
【0126】
例えば、明細書中の記載において広義な用語(第1のインターフェース規格、第2のインターフェース規格、第1のインターフェース規格の上位の第1のプロトコル、第1のインターフェース規格の上位の第2のプロトコル、コマンドパケット、電子機器、ストレージデバイス、デバイス、プロセッサ等)として引用された用語(IEEE1394、ATA/ATAPI、SBP−2、IPover1394、ORB、パーソナルコンピュータ・ストレージデバイス、ハードディスクドライブ・光ディスクドライブ、ストレージデバイス、CPU等)は、明細書中の他の記載においても広義な用語に置き換えることができる。
【0127】
また、本発明のうち従属請求項に係る発明においては、従属先の請求項の構成要件の一部を省略する構成とすることもできる。また、本発明の1の独立請求項に係る発明の要部を、他の独立請求項に従属させることもできる。
【0128】
また、本発明のデータ転送制御システム、電子機器の構成は、図7に示す構成に限定されず、種々の変形実施が可能である。例えば、これらの各図の各回路ブロック、機能ブロックの一部を省略したり、その接続関係を変更してもよい。また、第2のバス(BUS2)は、ストレージデバイスとは異なるデバイスに接続されていてもよい。また、物理層回路とリンク層回路とパケットバッファの接続構成も図7に示す接続構成に限定されない。
【0129】
また本実施形態では、コマンド処理部、DMA転送指示部等の機能をファームウェア(プログラム)により実現する場合について説明したが、これらを機能の一部又は全部をハードウェア回路により実現してもよい。
【0130】
また本発明は種々の電子機器(ハードディスクドライブ、光ディスクドライブ、光磁気ディスクドライブ、PDA、拡張機器、オーディオ機器、デジタルビデオカメラ、携帯電話、プリンタ、スキャナ、TV、VTR、電話機、表示デバイス、プロジェクタ、パーソナルコンピュータ或いは電子手帳等)に適用できる。
【0131】
また、本実施形態では、IEEE1394、SBP−2、ATA/ATAPI規格でのデータ転送に本発明を適用した場合について説明した。しかしながら本発明は、例えばIEEE1394(P1394a)、SBP−2(SBP)、ATA/ATAPIと同様の思想に基づく規格や、IEEE1394、SBP−2、ATA/ATAPIを発展させた規格におけるデータ転送にも適用できる。
【図面の簡単な説明】
【図1】IEEE1394、SBP−2の層構造について説明するための図である。
【図2】SBP−2の処理の概略について説明するための図である。
【図3】SBP−2においてデータをイニシエータからターゲットに転送する場合のコマンド処理について説明するための図である。
【図4】SBP−2においてデータをターゲットからイニシエータに転送する場合のコマンド処理について説明するための図である。
【図5】図5(A)、(B)、(C)は、ページテーブルについて説明するための図である。
【図6】図6(A)、(B)は、データ転送制御システムのバスブリッジ機能や、各種コマンドの関係について説明するための図である。
【図7】本実施形態のデータ転送制御システム、電子機器の構成例を示す図である。
【図8】ATAPIのパケットコマンド処理の流れの概要を示す図である。
【図9】本実施形態の詳細な処理例について示すフローチャートである。
【図10】本実施形態の詳細な処理例について示すフローチャートである。
【図11】本実施形態のデータ転送制御手法について説明するための図である。
【図12】比較例の処理例について示すフローチャートである。
【図13】比較例のデータ転送制御手法について説明するための図である。
【図14】他の比較例の処理例について示すフローチャートである。
【図15】ATA/ATAPIのインターフェース回路の構成例を示す図である。
【図16】図16(A)、(B)は、PIOリード、PIOライト時における信号波形例である。
【図17】図17(A)、(B)は、DMAリード、DMAライト時における信号波形例である。
【図18】図18(A)、(B)は、UltraDMAリード、UltraDMAライト時における信号波形例である。
【符号の説明】
BUS1 第1のバス(IEEE1394)
BUS2 第2のバス(ATA/ATAPI)
2   パーソナルコンピュータ(ホストコンピュータ、イニシエータ)
8   電子機器(ターゲット)
10  データ転送制御システム
14  物理層回路
20  リンク層回路
22  SBP−2回路
30  インターフェース回路
32  DMAコントローラ
38  バッファ管理回路
40  パケットバッファ
42  CPU(プロセッサ)
44  フラッシュメモリ(EEPROM)
50  ファームウェア
52  コミュニケーション部
60  マネージメント部
70  フェッチ部
80  ストレージタスク部
82  コマンド処理部
84  DMA転送指示部
90  ダウンローダ部
100 ストレージデバイス
102 インターフェース回路
104 アクセス制御回路
106 ストレージ

Claims (13)

  1. バスを介してデータ転送を行うためのデータ転送制御システムであって、
    第1のバスを介して転送されてきたコマンドパケットを受け、コマンドパケットが含むコマンドを、第2のバスに接続されるデバイスに対して発行するコマンド処理部と、
    発行されたコマンドの種類に依らずに一定長のDMAデータ長を設定し、第2のバスに接続されるデバイスとの間のDMA転送の開始を指示するDMA転送指示部と、
    を含むことを特徴とするデータ転送制御システム。
  2. 請求項1において、
    前記DMA転送指示部が、
    発行されたコマンドを受けた第2のバスに接続されるデバイスがコマンド処理の終了を通知してきた場合に、開始したDMA転送をアボートすることを特徴とするデータ転送制御システム。
  3. 請求項1又は2において、
    前記DMA転送指示部が、
    発行されたコマンドを受けた第2のバスに接続されるデバイスがDMA転送を要求してきた場合に、DMA転送の開始を指示することを特徴とするデータ転送制御システム。
  4. 請求項1乃至3のいずれかにおいて、
    第2のバスに接続されるデバイスが、第2のバスを介して転送されるデータをストレージに書き込む又はストレージから読み出すデバイスであり、
    前記DMA転送指示部が、
    前記ストレージの記憶容量よりも大きな値を、一定長の前記DMAデータ長として設定することを特徴とするデータ転送制御システム。
  5. 請求項1乃至4のいずれかにおいて、
    前記DMA転送指示部が、
    コマンドパケットに含まれるコマンドにより指定可能なデータ長よりも大きな値を、一定長の前記DMAデータ長として設定することを特徴とするデータ転送制御システム。
  6. 請求項1乃至5のいずれかにおいて、
    前記コマンド処理部が、
    第1のバスを介して転送されてきたコマンドパケットが含むコマンドをデコードすることなく、該コマンドを第2のバスに接続されるデバイスに対して発行することを特徴とするデータ転送制御システム。
  7. 請求項1乃至6のいずれかにおいて、
    第1のバスが、第1のインターフェース規格によりデータ転送が行われるバスであり、第2のバスが、第2のインターフェース規格によりデータ転送が行われるバスであり、
    前記コマンドパケットが、第1のインターフェース規格の上位の層のプロトコルで定義されるパケットであることを特徴とするデータ転送制御システム。
  8. 請求項1乃至7のいずれかにおいて、
    第1のバスが、IEEE1394規格によりデータ転送が行われるバスであり、第2のバスが、ATA/ATAPI規格によりデータ転送が行われるバスであり、
    前記コマンドパケットが、SBP−2で定義されるORBパケットであることを特徴とするデータ転送制御システム。
  9. 請求項1乃至8のいずれかのデータ転送制御システムと、
    第2のバスに接続されるデバイスと、
    を含むことを特徴とする電子機器。
  10. 第1のバスを介して転送されてきたコマンドパケットを受け、コマンドパケットが含むコマンドを、第2のバスに接続されるデバイスに対して発行するコマンド処理部と、
    発行されたコマンドの種類に依らずに一定長のDMAデータ長を設定し、第2のバスに接続されるデバイスとの間のDMA転送の開始を指示するDMA転送指示部として、
    データ転送制御システムを機能させることを特徴とするプログラム。
  11. 請求項10において、
    前記DMA転送指示部が、
    発行されたコマンドを受けた第2のバスに接続されるデバイスがコマンド処理の終了を通知してきた場合に、開始したDMA転送をアボートすることを特徴とするプログラム。
  12. バスを介してデータ転送を行うためのデータ転送制御方法であって、
    第1のバスを介して転送されてきたコマンドパケットを受け、コマンドパケットが含むコマンドを、第2のバスに接続されるデバイスに対して発行し、
    発行されたコマンドの種類に依らずに一定長のDMAデータ長を設定し、第2のバスに接続されるデバイスとの間のDMA転送の開始を指示することを特徴とするデータ転送制御方法。
  13. 請求項12において、
    発行されたコマンドを受けた第2のバスに接続されるデバイスがコマンド処理の終了を通知してきた場合に、開始したDMA転送をアボートすることを特徴とするデータ転送制御方法。
JP2002227304A 2002-08-05 2002-08-05 データ転送制御システム、電子機器、プログラム及びデータ転送制御方法 Pending JP2004070571A (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2002227304A JP2004070571A (ja) 2002-08-05 2002-08-05 データ転送制御システム、電子機器、プログラム及びデータ転送制御方法
US10/625,685 US7069350B2 (en) 2002-08-05 2003-07-24 Data transfer control system, electronic instrument, and data transfer control method
EP03017729A EP1389760B1 (en) 2002-08-05 2003-08-04 Data transfer control system, program and data transfer control method
DE60309391T DE60309391T2 (de) 2002-08-05 2003-08-04 Datenübertragungssteuerungssystem, Programm und Datenübertragungssteuerungsverfahren
CNB031497055A CN1237455C (zh) 2002-08-05 2003-08-04 数据传输控制装置、电子设备、及数据传输控制方法
AT03017729T ATE344490T1 (de) 2002-08-05 2003-08-04 Datenübertragungssteuerungssystem, programm und datenübertragungssteuerungsverfahren

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002227304A JP2004070571A (ja) 2002-08-05 2002-08-05 データ転送制御システム、電子機器、プログラム及びデータ転送制御方法

Publications (1)

Publication Number Publication Date
JP2004070571A true JP2004070571A (ja) 2004-03-04

Family

ID=30768019

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002227304A Pending JP2004070571A (ja) 2002-08-05 2002-08-05 データ転送制御システム、電子機器、プログラム及びデータ転送制御方法

Country Status (6)

Country Link
US (1) US7069350B2 (ja)
EP (1) EP1389760B1 (ja)
JP (1) JP2004070571A (ja)
CN (1) CN1237455C (ja)
AT (1) ATE344490T1 (ja)
DE (1) DE60309391T2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007279932A (ja) * 2006-04-05 2007-10-25 Seiko Epson Corp Usb複合デバイス,usb通信システム,及びusb通信方法
JP2011070546A (ja) * 2009-09-28 2011-04-07 Sony Corp バスプロトコル変換装置及びバスプロトコル変換方法
JP2013246457A (ja) * 2012-05-23 2013-12-09 Renesas Electronics Corp ホストコントローラ及びホストデバイス

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7483967B2 (en) * 1999-09-01 2009-01-27 Ximeta Technology, Inc. Scalable server architecture based on asymmetric 3-way TCP
US7792923B2 (en) 2000-10-13 2010-09-07 Zhe Khi Pak Disk system adapted to be directly attached to network
EP1588452A2 (en) * 2001-07-16 2005-10-26 Kim, Han Gyoo, Hongik university computer engineering Scheme for dynamically connecting i/o devices through network
US20050149682A1 (en) * 2001-10-09 2005-07-07 Han-Gyoo Kim Virtual multiple removable media jukebox
JP3714420B2 (ja) * 2002-08-13 2005-11-09 セイコーエプソン株式会社 データ転送制御装置、電子機器、プログラム及び電子機器の製造方法
US7457880B1 (en) * 2003-09-26 2008-11-25 Ximeta Technology, Inc. System using a single host to receive and redirect all file access commands for shared data storage device from other hosts on a network
KR100522724B1 (ko) * 2003-10-24 2005-10-18 주식회사 레인콤 이동식 멀티미디어 플레이어의 구동 시스템과 구동 방법,이동식 멀티미디어 플레이어 및 기록 매체
US7664836B2 (en) * 2004-02-17 2010-02-16 Zhe Khi Pak Device and method for booting an operation system for a computer from a passive directly attached network device
US20060069884A1 (en) * 2004-02-27 2006-03-30 Han-Gyoo Kim Universal network to device bridge chip that enables network directly attached device
GB0406423D0 (en) * 2004-03-22 2004-04-21 Oxford Semiconductor Ltd Data interface
US7290069B2 (en) * 2004-04-16 2007-10-30 National Instruments Corporation Data acquisition system which monitors progress of data storage
CN1322410C (zh) * 2004-04-29 2007-06-20 联发科技股份有限公司 可在ata总线上进行多任务存取的数据传输系统
KR100568209B1 (ko) 2004-05-11 2006-04-05 삼성전자주식회사 디스플레이장치 및 이를 사용하는 컴퓨터 시스템
US7746900B2 (en) * 2004-07-22 2010-06-29 Zhe Khi Pak Low-level communication layers and device employing same
JP4660140B2 (ja) * 2004-08-18 2011-03-30 セイコーエプソン株式会社 データ転送制御システム、電子機器及びプログラム
JP4239930B2 (ja) * 2004-08-19 2009-03-18 セイコーエプソン株式会社 データ転送制御システム、電子機器及びプログラム
US7860943B2 (en) * 2004-08-23 2010-12-28 Zhe Khi Pak Enhanced network direct attached storage controller
US20060095594A1 (en) * 2004-11-03 2006-05-04 Jaan-Huei Chen System and method of automatically executing ata/atapi commands
US7500047B1 (en) * 2004-12-03 2009-03-03 Crossroads Systems, Inc. System and method for processing commands
US7849257B1 (en) 2005-01-06 2010-12-07 Zhe Khi Pak Method and apparatus for storing and retrieving data
US7310260B2 (en) * 2005-03-23 2007-12-18 Seiko Epson Corporation High performance register accesses
US7910152B2 (en) * 2006-02-28 2011-03-22 Advanced Cardiovascular Systems, Inc. Poly(ester amide)-based drug delivery systems with controlled release rate and morphology
CN100418075C (zh) * 2006-06-19 2008-09-10 威盛电子股份有限公司 用于控制驱动程序的对象堆叠装置
JP4400650B2 (ja) * 2007-05-23 2010-01-20 セイコーエプソン株式会社 データ転送制御装置及び電子機器
CN101419536B (zh) * 2008-12-02 2011-01-12 山东省计算中心 一种计算机内存数据获取方法与系统

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04102951A (ja) 1990-08-22 1992-04-03 Nippon Telegr & Teleph Corp <Ntt> データ転送制御方式
JPH0567013A (ja) 1991-09-05 1993-03-19 Yaskawa Electric Corp Dmaシリアル受信動作終了方式
US5613162A (en) * 1995-01-04 1997-03-18 Ast Research, Inc. Method and apparatus for performing efficient direct memory access data transfers
JPH10154125A (ja) * 1996-11-26 1998-06-09 Toshiba Corp Dmaデータ転送装置および同装置を使用した動画像復号化装置並びにdmaデータ転送制御方法
JPH10222441A (ja) 1997-01-31 1998-08-21 Oki Electric Ind Co Ltd Fifoメモリ及びこれを用いたデータ転送システム
JPH10254811A (ja) 1997-03-12 1998-09-25 Sony Corp 電子機器制御装置および方法
US6115771A (en) 1998-03-31 2000-09-05 Lsi Logic Corporation Method and system for converting computer peripheral equipment to SCSI-compliant devices
DE69930987T2 (de) 1998-04-30 2007-04-26 Clarion Co., Ltd. Fahrzeuginformationssystem und Verfahren zu dessen Steuerung, Speichermedium zur Speicherung des Steuerungsprogramms, Plattenwiedergabegerät, und integrierte Halbleiterschaltung
US6052745A (en) * 1998-06-12 2000-04-18 International Business Machines Corporation System for asserting burst termination signal and burst complete signal one cycle prior to and during last cycle in fixed length burst transfers
JP3376981B2 (ja) * 1999-12-24 2003-02-17 日本電気株式会社 接続制御機器ならびに物理層lsiおよび接続制御システム
JP3599048B2 (ja) 2002-07-26 2004-12-08 セイコーエプソン株式会社 データ転送制御システム、電子機器、プログラム及びデータ転送制御方法
JP2004070570A (ja) 2002-08-05 2004-03-04 Seiko Epson Corp データ転送制御システム、電子機器、プログラム及びデータ転送制御方法
JP3714420B2 (ja) 2002-08-13 2005-11-09 セイコーエプソン株式会社 データ転送制御装置、電子機器、プログラム及び電子機器の製造方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007279932A (ja) * 2006-04-05 2007-10-25 Seiko Epson Corp Usb複合デバイス,usb通信システム,及びusb通信方法
JP2011070546A (ja) * 2009-09-28 2011-04-07 Sony Corp バスプロトコル変換装置及びバスプロトコル変換方法
JP2013246457A (ja) * 2012-05-23 2013-12-09 Renesas Electronics Corp ホストコントローラ及びホストデバイス

Also Published As

Publication number Publication date
EP1389760A2 (en) 2004-02-18
US20040128405A1 (en) 2004-07-01
DE60309391T2 (de) 2007-09-20
CN1475923A (zh) 2004-02-18
ATE344490T1 (de) 2006-11-15
CN1237455C (zh) 2006-01-18
US7069350B2 (en) 2006-06-27
DE60309391D1 (de) 2006-12-14
EP1389760A3 (en) 2004-05-19
EP1389760B1 (en) 2006-11-02

Similar Documents

Publication Publication Date Title
JP2004070571A (ja) データ転送制御システム、電子機器、プログラム及びデータ転送制御方法
JP3649226B2 (ja) データ転送制御装置、電子機器及びデータ転送制御方法
JP3636157B2 (ja) データ転送制御装置、電子機器及びデータ転送制御方法
TW556090B (en) Data transmission control device, electronic machine, and control method for data transmission
JP2002344537A (ja) データ転送制御装置及び電子機器
US7165124B2 (en) Data transfer control system, electronic instrument, program, and data transfer control method
WO2001075618A2 (en) Asynchronous input/output interface protocol
JP2002344538A (ja) データ転送制御装置及び電子機器
US7359996B2 (en) Data transfer control device, electronic equipment, and data transfer control method
JP3636158B2 (ja) データ転送制御装置及び電子機器
JP3636160B2 (ja) データ転送制御装置、電子機器及びデータ転送制御方法
JP3614161B2 (ja) データ転送制御装置、電子機器及びデータ転送制御方法
JP2008204051A (ja) データ転送制御装置及び電子機器
JP3714420B2 (ja) データ転送制御装置、電子機器、プログラム及び電子機器の製造方法
US7409467B2 (en) Data transfer control system, electronic instrument, and data transfer control method
TWI239508B (en) Storage device controller apparatus, storage system and storage method
JP2009026165A (ja) コントローラ、電子機器及び電子機器の制御方法
JP4127071B2 (ja) データ転送制御装置、電子機器及びデータ転送制御方法
CN113821470A (zh) 总线设备、嵌入式系统和片上系统
JP2009032011A (ja) データ転送制御装置及び電子機器
JP2003323391A (ja) データ転送制御装置、電子機器及びデータ転送制御方法
JP2004295594A (ja) データ転送制御装置、電子機器及びデータ転送制御方法
JP2009032010A (ja) データ転送制御装置及び電子機器

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050413

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050419

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050617

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050810