JP3714420B2 - データ転送制御装置、電子機器、プログラム及び電子機器の製造方法 - Google Patents

データ転送制御装置、電子機器、プログラム及び電子機器の製造方法 Download PDF

Info

Publication number
JP3714420B2
JP3714420B2 JP2002235667A JP2002235667A JP3714420B2 JP 3714420 B2 JP3714420 B2 JP 3714420B2 JP 2002235667 A JP2002235667 A JP 2002235667A JP 2002235667 A JP2002235667 A JP 2002235667A JP 3714420 B2 JP3714420 B2 JP 3714420B2
Authority
JP
Japan
Prior art keywords
data transfer
information
rewriter
bus
transfer control
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.)
Expired - Fee Related
Application number
JP2002235667A
Other languages
English (en)
Other versions
JP2004078402A (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.)
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 JP2002235667A priority Critical patent/JP3714420B2/ja
Priority to US10/625,643 priority patent/US7424580B2/en
Priority to DE60309394T priority patent/DE60309394T2/de
Priority to EP03017730A priority patent/EP1394682B1/en
Priority to AT03017730T priority patent/ATE344493T1/de
Priority to CN03153410.4A priority patent/CN1248125C/zh
Publication of JP2004078402A publication Critical patent/JP2004078402A/ja
Application granted granted Critical
Publication of JP3714420B2 publication Critical patent/JP3714420B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)
  • Stored Programmes (AREA)
  • Communication Control (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、データ転送制御装置、電子機器、プログラム、及び電子機器の製造方法に関する。
【0002】
【背景技術及び発明が解決しようとする課題】
近年、IEEE1394と呼ばれるインターフェース規格が脚光を浴びている。このIEEE1394のバスには、ハードディスクドライブ、光ディスクドライブ、プリンタ、スキャナなどのコンピュータの周辺機器のみならず、ビデオカメラ、VTR、TVなどの家庭用電化製品も接続できる。このため、電子機器のデジタル化を飛躍的に促進できるものとして期待されている。
【0003】
そして、このIEEE1394等のインターフェースを備えた電子機器においては、電子機器に固有の識別情報であるGUIDを持つ必要がある。このため、工場出荷時に、このGUID(Global Unique ID)、コンフィギュレーションROM(ConfigurationROM)情報などの機器情報を電子機器のフラッシュメモリ(広義には不揮発性メモリ)に書き込む工程が必要になる。
【0004】
しかしながら、この機器情報の書き込みは、1台1台の電子機器に対して行う必要があるため、製造工程のなるべく前半の工程で行うことが望ましい。具体的には、データ転送制御装置のLSIがマウントされる基板に対して、CDドライブやハードディスクドライブなどのストレージデバイスのユニットを接続する前に、機器情報を書き込むことが望ましい。
【0005】
本発明は、以上のような技術的課題に鑑みてなされたものであり、その目的とするところは、機器情報等を簡易に書き込むことができるデータ転送制御装置、電子機器、プログラム、及び電子機器の製造方法を提供することにある。
【0006】
【課題を解決するための手段】
本発明は、バスを介してデータ転送を行うためのデータ転送制御装置であって、機器情報及びデータ転送制御プログラム情報の少なくとも一方を記憶するための不揮発性メモリのリライト領域に、第1のバスを介して転送される情報をダウンロードし、リライト領域に情報を書き込むリライタ部と、第2のバスにデバイスが未接続であることが検出された場合に、リライタ部の処理を開始させるリライタ起動部とを含むデータ転送制御装置に関係する。
【0007】
本発明によれば、第2のバスにデバイスが未接続(不存在)であることが検出されると、リライタ(rewriter)部の処理が開始する(リライタ部が起動する)。そして、第1のバスを介して転送される情報がダウンロードされてリライト領域に書き込まれる。従って、第2のバスにデバイスが未接続の場合には、機器情報やデータ転送制御プログラム情報が、リライタ領域に自動的に書き込まれるようになる。これにより、機器情報等を簡易に書き込むことができるデータ転送制御装置を実現できる。
【0008】
なお、この場合の機器情報としては、例えば、電子機器やデータ転送制御装置を識別するための情報やデータ転送制御時に必要な機器情報などがある。また、データ転送制御プログラム情報としては、例えば、第1のバスを介したデータ転送を制御するプログラムの情報などがある。この場合のデータ転送制御プログラムには、第1のバス用の第1のインターフェース規格の上位の第1のプロトコルのデータ転送制御プログラムを含めることができる。
【0009】
また本発明では、第2のバスのデバイスが有するレジスタへのアクセス結果に基づいて、第2のバスにデバイスが接続されているか否かを検出してもよい。
【0010】
この場合のレジスタへのアクセスは、レジスタへのライトでもよいし、リードもよいし、その両方でもよい。また、第2のバスのデバイスが有するレジスタとしては、第2のバス用の第2のインターフェース規格において定義されるレジスタを採用できる。
【0011】
また本発明では、リライト領域に情報をダウンロードするモードでは、前記リライタ部が、第1のバスに接続されるホストとの間でデータ転送を行うことで、リライト領域に情報を書き込んでもよい。
【0012】
この場合、ダウンロードモード時における第1のバスを介したデータ転送は、例えば第1のインターフェース規格により実現できる。
【0013】
また本発明では、リライト領域に情報をダウンロードするモードとは異なる通常動作モードでは、第1のバスを介してホストから転送されるデータを第2のバスを介してデバイスに転送し、第2のバスを介してデバイスから転送されるデータを第1のバスを介してホストに転送してもよい。
【0014】
このようにすることで、いわゆるバスブリッジ機能を実現できる。
【0015】
また本発明では、前記機器情報が、データ転送制御装置が組み込まれる電子機器に固有の識別情報を含んでもよい。
【0016】
このようにすれば、当該電子機器を他の電子機器に対して第1のバスを介して接続した場合に、他の電子機器が当該電子機器を容易に識別できるようになる。
【0017】
また本発明では、前記不揮発性メモリが、データ転送制御プログラム情報がリライタ領域に正常に書き込まれたか否かを示すための情報を記憶する領域を有してもよい。
【0018】
このようにすれば、誤ったデータ転送制御プログラム情報がリライタ領域に書き込まれてしまう事態を防止できる。
【0019】
また本発明では、前記不揮発性メモリが、リライタ部の処理をイネーブル又はディスエーブルに設定するためのリライタ処理設定情報を記憶する領域を有し、前記リライタ処理設定情報が、初期状態においてはイネーブルに設定され、リライタ部の処理が終了するとディスエーブルに設定されるようにしてもよい。
【0020】
このようにリライタ処理設定情報を初期状態においてイネーブルに設定すれば、他の処理を省略して直ぐにリライタ処理に移行することが可能になる。
【0021】
また本発明では、第1のバスが、第1のインターフェース規格によりデータ転送が行われるバスであり、第2のバスが、第2のインターフェース規格によりデータ転送が行われるバスであってもよい。
【0022】
また本発明は、上記のいずれかのデータ転送制御装置と、第2のバスに接続されるデバイスとを含む電子機器に関係する。
【0023】
また本発明は、機器情報及びデータ転送制御プログラム情報の少なくとも一方を記憶するための不揮発性メモリのリライト領域に、第1のバスを介して転送される情報をダウンロードし、リライト領域に情報を書き込むリライタ部と、第2のバスにデバイスが未接続であることが検出された場合に、リライタ部の処理を開始させるリライタ起動部として、データ転送制御装置を機能させるプログラムに関係する。
【0024】
また本発明は、データ転送制御装置とデータ転送制御装置の第2のバスに接続されるデバイスとを含む電子機器の製造方法であって、データ転送制御装置の第2のバスとデバイスとを未接続にし、第2のバスとデバイスとが未接続の時に起動するリライタ処理を開始させ、リライタ処理により、機器情報及びデータ転送制御プログラム情報の少なくとも一方を記憶するためのリライト領域に、第1のバスを介して転送される情報をダウンロードし、リライト領域に情報を書き込み、リライト領域への情報の書き込み後に、データ転送制御装置の第2のバスとデバイスとを接続する電子機器の製造方法に関係する。
【0025】
【発明の実施の形態】
以下、本発明の実施形態について詳細に説明する。
【0026】
なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが本発明の解決手段として必須であるとは限らない。
【0027】
1.IEEE1394、SBP-2
1.1 層構造
IEEE1394のトランザクション層の一部の機能を含む上位のプロトコルとして、SBP-2(Serial Bus Protocol-2)と呼ばれるプロトコルが提案されている。このSBP-2(広義にはSBP)は、SCSI(MMC−2)のコマンドセットをIEEE1394のプロトコル上で利用可能にするために提案されたものである。このSBP-2を用いれば、既存のSCSI規格対応の電子機器で使用されていたコマンドセットに最小限の変更を加えて、IEEE1394規格の電子機器に使用できるようになる。従って、電子機器の設計や開発を容易化できる。
【0028】
図1に、IEEE1394、SBP-2の層構造(プロトコル・スタック)を簡略化して示す。
【0029】
IEEE1394(IEEE1394−1995、P1394a、P1394b等)のプロトコルは、トランザクション層、リンク層、物理層により構成される。
【0030】
トランザクション層は、上位層にトランザクション単位のインターフェース(サービス)を提供し、下層のリンク層が提供するインターフェースを通して、リードトランザクション、ライトトランザクション、ロックトランザクション等のトランザクションを実施する。
【0031】
ここで、リードトランザクションでは、応答ノードから要求ノードにデータが転送される。一方、ライトトランザクションでは、要求ノードから応答ノードにデータが転送される。またロックトランザクションでは、要求ノードから応答ノードにデータが転送され、応答ノードがそのデータに処理を施して要求ノードに返信する。
【0032】
リンク層は、アドレッシング、データチェック、パケット送受信のためのデータフレーミング、アイソクロナス転送のためのサイクル制御などを提供する。
【0033】
物理層は、リンク層により使用されるロジカルシンボルの電気信号への変換や、バスの調停や、バスの物理的インターフェースを提供する。
【0034】
SBP-2層は、図1に示すように、IEEE1394(広義には第1のインターフェース規格)のトランザクション層の一部の機能を含む上位のプロトコルを提供する。
【0035】
1.2 SBP-2の処理
図2に、SBP-2(広義には第1のインターフェース規格の上位の第1のプロトコル)の処理の全体についてのフローチャートを示す。
【0036】
図2に示すように、SBP-2では、まず、接続機器の確認を行うためのコンフィギュレーションROM情報のリード処理が行われる(ステップT1)。
【0037】
次に、イニシエータ(例えばパーソナルコンピュータ)が、ターゲット(例えばストレージデバイス)に対するアクセス権(リクエスト開始の許可。バスの使用権)を獲得するためのログイン処理が行われる(ステップT2)。具体的には、イニシエータにより作成されたログインORB(Operation Request Block)を用いてログイン処理が行われる。
【0038】
次に、フェッチエージェントの初期化が行われる(ステップT3)。そして、コマンドブロックORB(ノーマルコマンドORB)を用いてコマンド処理が行われ(ステップT4)、最後に、ログアウトORBを用いてログアウト処理が行われる(ステップT5)。
【0039】
ここで、ステップT4のコマンド処理においては、図3のA1に示すように、イニシエータがライト要求パケットを転送して(ライト要求トランザクションを発行して)、ターゲットのドアベルレジスタをリングする。すると、A2に示すように、ターゲットがリード要求パケットを転送し、イニシエータが対応するリード応答パケットを返す。これにより、イニシエータが作成したORB(コマンドブロックORB)が、ターゲットのデータバッファ(パケットバッファ)にフェッチされる。そして、ターゲットは、フェッチされたORBに含まれるコマンドを解析する。
【0040】
そして、ORBに含まれるコマンドがSCSIのライトコマンドであった場合には、A3に示すように、ターゲットがリード要求パケットをイニシエータに転送し、イニシエータが対応するリード応答パケットを返す。これにより、イニシエータのデータバッファに格納されているデータがターゲットに転送される。そして、例えばターゲットがストレージデバイスであった場合には、転送されたデータがストレージデバイスに書き込まれる。
【0041】
一方、ORBに含まれるコマンドがSCSIのリードコマンドであった場合には、図4のB1に示すように、ターゲットは、一連のライト要求パケットをイニシエータに転送する。これにより、例えばターゲットがストレージデバイスであった場合には、ストレージデバイスから読み出されたデータが、イニシエータのデータバッファに転送されることになる。
【0042】
このSBP-2によれば、ターゲットは、自身が都合の良いときに要求パケットを転送して(トランザクションを発行して)、データを送受信できる。従って、イニシエータとターゲットが同期して動く必要がなくなるため、データ転送効率を高めることができる。
【0043】
なお、IEEE1394の上位プロトコルとしては、ストレージデバイスやプリンタのデータの転送に最適なSBP-2以外にも、映像や音声のデータの転送に最適なAV/Cコマンドが提案されている。また、IEEE1394バス上で、インターネットプロトコル(IP)のパケットを転送するものとしてIPover1394と呼ばれるプロトコルも提案されている。
【0044】
1.3 電子機器への組み込み
さて、本実施形態のデータ転送制御装置10は図5(A)に示すように、IEEE1394(SBP-2)に準拠したBUS1(第1のバス)とATA(IDE)/ATAPIに準拠したBUS2(第2のバス)との間のバスブリッジ機能を有している。ここで、ATA(AT Attachment)は、主にハードディスク用のインターフェース規格として広く用いられているものであり、ATAPI(ATA Packet Interface)は、ATAをCDドライブなどの光ディスクドライブでも使用できるようにしたインターフェース規格である。
【0045】
図5(A)に示すようなバスブリッジ機能を実現できるデータ転送制御装置10は、PC(ホスト、パーソナルコンピュータ)から転送されてくるORB(広義にはコマンドパケット)が含むSCSI(MMC-2)のコマンドを、ATAPIのコマンドとしてストレージデバイス100(広義にはデバイス)に発行する。そして、ストレージデバイス100との間のデータ転送を実現する。
【0046】
このようなバスブリッジ機能をデータ転送制御装置10に持たせることで、ATA/ATAPIのインターフェースしか備えていないストレージデバイス100に、IEEE1394のインターフェース機能を持たせることができる。これにより、ストレージデバイス100が組み込まれる電子機器の商品価値を高めることができる。
【0047】
さて、図5(B)に示すように、このようなストレージデバイス100が組み込まれる電子機器8では、その製造時(工場出荷時)に、GUID(Global Unique ID)、コンフィギュレーションROM(ConfigurationROM)情報などの機器情報(電子機器やデータ転送制御装置に固有の情報)を、例えばデータ転送制御装置10(LSIチップ)の内蔵フラッシュメモリ44に書き込む必要がある。このような機器情報を書き込んでおけば、電子機器8を他の電子機器に接続した時に適正なデータ転送を実現できる。また、SBP-2(IEEE1394)のデータ転送を制御するSBP-2(SBP)用ファームウェア(広義にはデータ転送制御プログラム)の修正を行う場合や、電子機器メーカがメーカ専用のSBP-2用ファームウェアを使用する場合にも、SBP-2用ファームウェアをフラッシュメモリ44に書き込んで更新する必要がある。
【0048】
この場合に図5(B)では、SBP-2のデータ転送を利用して、機器情報やSBP-2用ファームウェアをフラッシュメモリ44に書き込んでいる。
【0049】
より具体的には、工場のPCのIEEE1394ポートを、データ転送制御装置10がマウントされる基板(サーキットボード)9のIEEE1394ポートに接続する。そして、通常動作モード(通常にデータ転送を行うモード)からダウンロードモード(フラッシュメモリ44に情報を書き込むモード)に移行するためのコマンドをSBP-2のORBに含ませて、工場のPCからデータ転送制御装置10に転送する。すると、フラッシュメモリ44への情報の書き込みを行うリライタ(リライタ部、リライタモジュール)が起動し、機器情報やSBP-2用ファームウェアの書き込み処理を行う。
【0050】
このように図5(B)では、SBP-2転送を利用してフラッシュメモリ44に情報を書き込んでいるため、データ転送制御装置10(基板9)をストレージデバイス100(ストレージユニット)に接続した状態でBUS1を介した転送を行う必要がある。SBP-2転送を行うためにはストレージデバイス100の情報等が必要になるが、ストレージデバイス100が未接続では、このような情報を得ることができないからである。また、PCのシステムの認識対象は、あくまでもストレージデバイス100であって、データ転送制御装置10はバスブリッジ機能を有するデバイスにすぎないからである。
【0051】
このため図5(B)の手法では、データ転送制御装置10がマウントされる基板9をストレージデバイス100に接続する製造工程の後に、機器情報の書き込みを行わなければならない。このため、機器情報の書き込みを前半の製造工程で行うことができず、製造工程の繁雑化・長期化や電子機器の高コスト化等を招くという問題がある。
【0052】
本実施形態では以上のような課題を解決するために、以下に説明するような構成のデータ転送制御装置を採用している。
【0053】
2.全体構成
図6に、本実施形態のデータ転送制御装置及びこれを含む電子機器の全体構成例を示す。なお、以下では、イニシエータとの間でデータ転送を行うターゲットがストレージデバイス(CDドライブ、DVDドライブ、ハードディスクドライブ等)である場合について例にとり説明するが、本発明はこれに限定されない。
【0054】
データバッファ4を有するPC(ホスト、パーソナルコンピュータ)と電子機器8は、IEEE1394に準拠したBUS1(第1のバス)により接続される。そして、電子機器8は、データ転送制御装置10とストレージデバイス100(広義にはデバイス)を有する。
【0055】
なお、電子機器8には、図示しないシステムCPU、システムメモリ(ROM、RAM)、操作部、或いは信号処理デバイス等を含めることができる。
【0056】
また、PCは、OS(Operation System)のデバイスドライバとして機能するダウンローダホスト部6を含む。このダウンローダホスト部6は、PCが有するCPUと、ダウンローダホスト・プログラム(ダウンローダホストモジュール)により実現される。このダウンローダホスト・プログラム(ドライバキット)は、PCにより読み取り可能な情報記憶媒体(CD、DVD)やインターネット(通信回線)を介して提供できる。
【0057】
データ転送制御装置10は、物理層(PHY)回路14、リンク層回路20、SBP-2回路22、インターフェース回路30、パケット管理回路38、バケットバッファ40(データバッファ)を含む。また、CPU42、フラッシュメモリ44(EEPROM)を含む。また、フラッシュメモリ44にその処理モジュール(プログラム)が記憶され、CPU42(広義にはプロセッサ)により実行されるファームウェア50を含む。なお、本実施形態のデータ転送制御装置10は、図6に示す全ての回路ブロック、機能ブロックを含む必要はなく、その一部を省略してもよい。
【0058】
物理層回路14は、図1の物理層のプロトコルをハードウェアにより実現するための回路であり、リンク層回路20により使用されるロジカルシンボルを電気信号に変換する機能を有する。
【0059】
リンク(&トランザクション)層回路20は、図1のリンク層のプロトコルやトランザクション層のプロトコルの一部をハードウェアにより実現するための回路であり、ノード間でのパケット転送のための各種サービスを提供する。
【0060】
これらの物理層回路14、リンク層回路20の機能により、IEEE1394に準拠したデータ転送を、BUS1(第1のバス)を介してPC(広義には電子機器)との間で行うことが可能になる。
【0061】
SBP-2回路22(転送実行回路)は、SBP-2のプロトコルの一部やトランザクション層の一部をハードウェアにより実現する回路である。このSBP-2回路22の機能により、転送データを一連のパケットに分割し、分割された一連のパケットを連続転送する処理が可能になる。
【0062】
インターフェース回路30は、ストレージデバイス100とのインターフェース処理を行う回路である。このインターフェース回路30の機能により、ATA(AT Attachment)、ATAPI(ATA Packet Interface)に準拠したデータ転送を、BUS2(第2のバス)を介してストレージデバイス100との間で行うことが可能になる。
【0063】
そして、図6のように物理層回路14、リンク層回路20、インターフェース回路30を設けることで、IEEE1394(広義には第1のインターフェース規格)とATA(IDE)/ATAPI(広義には第2のインターフェース規格)のバスブリッジ機能をデータ転送制御装置10に持たせることが可能になる。
【0064】
インターフェース回路30が含むDMAコントローラ32は、BUS2を介してストレージデバイス100との間でDMA(Direct Memory Access)転送を行うための回路である。
【0065】
なお、BUS2に接続されるストレージデバイス100は、ATA(IDE)/ATAPIに準拠したデータ転送を行うためのインターフェース回路102と、ストレージ106へのアクセス制御(書き込み又は読み出し制御)を行うアクセス制御回路104と、光ディスク、ハードディスクなどのストレージ106を含む。
【0066】
バッファ管理回路38は、パケットバッファ40とのインターフェースを管理する回路である。バッファ管理回路38は、バッファ管理回路38の制御のためのレジスタや、パケットバッファ40へのバス接続を調停する調停回路や、各種の制御信号を生成するシーケンサなどを含む。
【0067】
また、バッファ管理回路38はポインタ管理部39を含む。このポインタ管理部39は、パケットバッファ40のポインタをリングバッファ方式で管理し、書き込み用、読み込み用の複数のポインタを更新する処理を行う。
【0068】
パケットバッファ40(パケットメモリ、データバッファ)は、パケット(転送データ)を一時的に格納するためのバッファであり、SRAM、SDRAM、或いはDRAMなどのハードウェアにより構成される。なお、本実施形態では、パケットバッファ40は、ランダムアクセス可能なパケット記憶部として機能する。また、パケットバッファ40を、データ転送制御装置10に内蔵せずに、外付けにしてもよい。
【0069】
CPU42(広義にはプロセッサ)は、装置全体の制御やデータ転送の制御を行うものである。
【0070】
フラッシュメモリ44(EEPROM)は、電気的にデータの書き換えが可能な不揮発性メモリである。このフラッシュメモリ44には、ファームウェア50の処理モジュール(プログラム)が記憶される。
【0071】
ファームウェア50は、CPU42上で動作する種々の処理モジュール(処理ルーチン)を含むプログラムであり、トランザクション層等のプロトコルは、このファームウェア50と、ハードウェアであるCPU42等により実現される。
【0072】
ファームウェア50(F/W)は、コミュニケーション部52、マネージメント部60、フェッチ部70、ストレージタスク部80、リライタ(rewriter)起動部82、リライタ(ダウンローダ)部90を含む。なお、ファームウェア50は、これらの全ての機能ブロック(モジュール)を含む必要はなく、その一部を省略してもよい。
【0073】
ここで、コミュニケーション部52は、物理層回路14、リンク層回路20などのハードウェアとの間のインターフェースとして機能する処理モジュールである。
【0074】
マネージメント部60(マネージメントエージェント)は、ログイン、リコネクト、ログアウト、リセット等の管理を行う処理モジュールである。例えばイニシエータがターゲットにログインを要求した場合には、まず、このマネージメント部60が、このログイン要求を受け付けることになる。
【0075】
フェッチ部70(フェッチエージェント)は、ORB(Operation Request Block)受信と、ステータスの発行と、ストレージタスク部80へのコマンド処理依頼を行う処理モジュールである。フェッチ部70は、単一の要求しか扱うことができないマネージメント部60とは異なり、イニシエータからの要求により自身がフェッチしたORBのリンクリストも扱うことができる。
【0076】
ストレージタスク部80は、ORBが含むコマンドの処理とDMA転送処理を実行するための処理モジュールである。
【0077】
リライタ起動部82(リライタ起動モジュール)は、リライタ部90の処理を開始させる処理を行う。
【0078】
より具体的には、リライタ起動部82は、BUS2にストレージデバイス100(広義にはデバイス)が未接続であることが検出された場合に、リライタ部90の処理(ダウンロードモード)を自動的に開始させる。また、PCのダウンローダホスト部6から、ダウンロード開始コマンドを受信した時にも、リライタ部90の処理を開始させる。
【0079】
なお、BUS2にストレージデバイス100が接続されていることが検出された場合には、SBP-2処理(通常動作モード)が開始される。このSBP-2処理は、コミュニケーション部52、マネージメント部60、フェッチ部70、ストレージタスク部80などにより実現される。
【0080】
また、BUS2にストレージデバイス100が接続されているか否かの検出は、例えば、ストレージデバイス100が有するレジスタ103(ATAレジスタ)へのアクセス結果(ライト結果、リード結果の少なくとも一方)に基づいて判断できる。なお、BUS2の状態を監視する監視回路(検出回路)を設けて、この監視回路を用いて、BUS2にストレージデバイス100が接続されているか否かを検出してもよい。
【0081】
リライタ部90(ダウンローダ部、リライタモジュール)は、フラッシュメモリ44(広義には不揮発性メモリ)への情報の書き込み(書き換え)処理を行う。
【0082】
より具体的には、リライタ部90は、GUID(広義には電子機器に固有の識別情報)やコンフィグROM情報などの機器情報や、データ転送制御プログラム情報(SBP-2の転送処理を実現するファームウェアのプログラム情報)を記憶するためのフラッシュメモリ44のリライト領域(リライタ部90により情報の書き込みが可能な記憶領域)に、BUS1を介して転送される情報をダウンロードする。そして、リライト領域に情報(機器情報、データ転送制御プログラム情報)を書き込む。
【0083】
この場合、リライト領域への情報のダウンロードは、PCのダウンローダホスト部6とリライタ部90の処理により、BUS1を介したデータ転送(IEEE1394)を行うことで実現される。
【0084】
3.メモリマップ
図7に、フラッシュメモリ44(不揮発性メモリ)のメモリマップ例を示す。
【0085】
リライタ割り込みベクタテーブル領域には、リライタ部90が割り込み処理を行うのに必要なベクタテーブルが記憶される。ブート領域には、ブート処理のための情報が記憶される。リライタ・プログラム領域には、リライタのプログラムの実行コードが記憶される。リライタ・コンフィグROM領域には、データ転送制御装置10をテストデバイスとして認識するためのコンフィグROM情報が記憶される。
【0086】
SBP-2用ファームウェア・プログラム領域には、SBPー2用ファームウェアのプログラムの実行コードが記憶される。この領域の先頭にはSBP-2用ファームウェアの割り込みベクタテーブルが記憶される。
【0087】
プログラムライト完了マーク領域にはプログラムライト完了マークが記憶される。このマークは、SBP-2用ファームウェア・プログラム領域にプログラムが正常に書き込まれたことを示すためのマーク(広義には、データ転送制御プログラム情報がリライタ領域に正常に書き込まれたか否かを示すための情報)である。
【0088】
SBP-2ファームウェア・コンフィグROM領域には、SBP-2用ファームウェアのコンフィグROM情報が記憶される。
【0089】
リライタイネーブルフラグ領域には、リライタイネーブルフラグ(広義には、リライタ処理をイネーブル又はディスエーブルに設定するためのリライタ処理設定情報)が記憶される。リライタイネーブルフラグ(以下、適宜、REFと呼ぶ)がディスエーブルの時にはデータ転送制御装置10は通常動作モード(SBP-2処理モード)に移行し、REFがイネーブルの時にはダウンロードモード(リライタ処理モード)に移行するようになる。
【0090】
ID領域には、ベンダID、シリアルIDなどのID(GUID)が記憶される。そして、PCが、SBP-2用ファームウェア・コンフィグROM領域にコンフィグROMの情報を書き込むと、ID領域に記憶されているIDの情報が、コンフィグROMの中に埋め込まれるようになる。そして、PCがIDをリードすると、このコンフィグROMの中のIDがPCに返される。
【0091】
SBP-2用ファームウェア・プログラム領域、プログラムライト完了マーク領域、SBP-2用ファームウェア・コンフィグROM領域、リライタイネーブルフラグ領域、ID領域は、リライタ部90により情報の書き込みが可能なリライト領域になっている。即ち、リライタ部90は、ダウンロードモード時に、PCのダウンローダホスト部6との間でデータ転送を行い、PCからの情報をリライト領域にダウンロードし、情報の書き込みを行うことができる。
【0092】
4.処理の詳細
次に、本実施形態のデータ転送制御装置の処理について、図8、図9のフローチャートを用いて説明する。
【0093】
データ転送制御装置10の電源がオン(リブート、リセット)になると、リライタイネーブルフラグREF(図7参照)がイネーブルか否かが判断される(ステップS1)。具体的には、図6のCPU42が、電源オン時に図7のC00000h(ブートアドレス)から処理を開始する。そして、C00000hにはREFをチェックするプログラム(スタートアッププログラム)のアドレスが記憶されているため、これによりREFがイネーブルか否かがチェックできる。
【0094】
そして、REFがイネーブルの場合には、リライタ処理(ダウンロードモード)に移行する(ステップS2)。そして、PCのダウンローダホスト部6からダウンロード終了コマンドを受信しプログラムが正しく書き込まれているとプログラムライト完了マークが記録される(ステップS3)。そして、プログラムライト完了マークが記録されている場合には(ステップS4)、REFがディスエーブルに設定され(ステップS5)、ステップS1に戻る。一方、プログラムライト完了マークが記録されていない場合にはステップS2に戻る。
【0095】
なお、初期状態においてREF=イネーブルに設定すれば、1回目のリライタ処理では、ステップS6、S7、S8、S9の処理を省略することが可能になる。
【0096】
ステップS1においてREFがディスエーブルの場合には、通常動作モード(SBP-2処理モード)の設定処理が行われる(ステップS6)。具体的には、ベクタテーブルのアドレスが図7のC02000hに設定される。そして、IDE(ATA/ATAPI)のための初期化処理が行われる(ステップS7)。
【0097】
IDE初期化処理においてBUS2にストレージデバイス100が未接続か否かが検出され、未接続と判断された場合には(ステップS8)、ダウンロードモード(リライタ処理モード)の設定処理が行われる(ステップS9)。具体的には、ベクタテーブルのアドレスが図7のC00000hに設定される。そして、リライタ処理に移行し(ステップS2)、リライタ部90の処理が開始される(リライタプログラムが起動する)。
【0098】
一方、ステップS8で、ストレージデバイス100が未接続ではないと判断された場合には、SBP-2処理(通常動作モード)に移行し(ステップS10)、SBP-2のプロトコルに基づく通常のデータ転送制御処理が行われる。そして、PCのダウンローダ部6からダウンロード開始コマンドを受信すると(ステップS11)、リライタモードの設定処理が行われ(ステップS9)、リライタ処理に移行する(ステップS2)。一方、ダウンロード開始コマンドを受信しなかった場合には、電源オフか否かが判断され(ステップS12)、電源オフでない場合にはステップS10に戻る。
【0099】
図9は、図8のステップS7のIDE初期化処理(ストレージデバイス100の初期化処理)のフローチャートである。
【0100】
まず、IDE(ATA/ATAPI)のリセット処理が行われる(ステップS21)。そして、一定期間(例えば1分)が経過したか否かが判断される(ステップS22)。そして、経過していない場合には、ストレージデバイス100がBUSYか否かが判断され(ステップS23)、BUSYの場合にはステップS22に戻る。この場合、BUSYか否かは図10(A)に示すATAのステータスレジスタのBSYビットを調べることで判断できる。
【0101】
なお、このステータスレジスタは、図6のストレージデバイス100のレジスタ103に含まれる。また、下記に述べるセクタサイズレジスタ、シリンダハイレジスタ、セクタカウントレジスタ、シリンダローレジスタもレジスタ103に含まれる。これらのレジスタの値は、後述するように、BUS2を介したATAのPIO転送を用いて読み出すことができる。また、これらのレジスタの値は、データ転送制御装置10が有するレジスタを用いて、PCに対しても表示される。
【0102】
ストレージデバイス100がBUSYでない場合には、ストレージデバイス100のセクタサイズレジスタ、シリンダハイレジスタに例えば「55h」、「AAh」をライトする(ステップS24)。次に、セクタサイズレジスタ、シリンダサイズレジスタをリードして、「55h」、「AAh」が適正にライトされたか否かを確認する(ステップS25)。
【0103】
次に、ストレージデバイス100のセクタカウントレジスタ、シリンダローレジスタの値が「01h」、「00h」に一致するか否かを判断する(ステップS26)。そして、一致した場合には、ストレージデバイス100をATAデバイスと認識する(ステップS27)。ATAに準拠したデバイス(ハードディスドライブ等)では、セクタカウントレジスタ、シリンダローレジスタの値が図10(B)に示すようになっているはずだからである。
【0104】
次に、ストレージデバイス100のセクタカウントレジスタ、シリンダローレジスタの値が「01h」、「14h」に一致するか否かを判断する(ステップS28)。そして、一致した場合には、ストレージデバイス100をATAPIデバイスと認識し(ステップS29)、一致しなかった場合には、ステップS22に戻る。ATAPIに準拠したデバイス(CDドライブ、DVDドライブ等)では、セクタカウントレジスタ、シリンダローレジスタの値が図10(C)に示すようになっているはずだからである。
【0105】
そして本実施形態では、ステップS22で一定期間が経過したと判断された場合、或いはステップS25で適正な値が書き込まれなかったと判断した場合には、デバイス未接続と認識する(ステップS30)。
【0106】
以上のように本実施形態では、ストレージデバイス100が有するレジスタ103へのアクセス結果(ライト、リード結果)に基づいてデバイスが未接続(未検出)か否かを判断する手法を採用している。そして、このようなレジスタ103へのアクセス処理(ATAデバイスかATAPIデバイスかを認識する処理)は、ストレージデバイス100の初期化処理において必要な処理である。従って、このような手法を採用すれば、必要最小限の処理の追加で、デバイスが未接続か否かを検出できるという利点がある。
【0107】
なお、デバイスが未接続か否かの検出は、BUS2の所定の信号線の状態を監視するハードウェア回路を設けて実現してもよい。例えば、ストレージデバイス100側でプルアップ或いはプルダウンするような信号線が存在する場合には、その信号線の電圧レベルを監視することで、デバイスが未接続か否かを検出できる。
【0108】
5.電子機器の製造方法
以上のように説明した本実施形態のデータ転送制御装置によれば、電子機器の製造工程の簡素化、短期間化を実現できる。
【0109】
例えば図11(A)に示すように本実施形態では、BUS2にストレージデバイス100を未接続にした状態で、工場のPC(PCのIEEE1394ポート)をデータ転送制御装置10(基板9のIEEE1394ポート)にBUS1を介して接続する。
【0110】
この状態でデータ転送制御装置10の電源をオンにすると、初期状態でREF=イネーブルに設定している場合には、ダウンロードモードに移行してリライタ処理が開始する(フラッシュメモリ44のリライタプログラムが起動する)。そして正常にプログラムが書き込まれるとREF=ディスエーブルに設定される(図8のステップS5)。そしてデータ転送制御装置10の電源を一旦オフにし、同様の状態でオンにすると、図8のステップS8でデバイス未接続と判断され、ステップS9、S2に示すように、自動的にダウンロードモードに移行してリライタ処理が開始する(フラッシュメモリ44のリライタプログラムが起動する)。
【0111】
そして、このリライタ処理により、BUS1を介したデータ転送を行い、図11(A)に示すように、GUID、コンフィギュレーションROM情報などの機器情報や、SBP-2用ファームウェア(データ転送制御プログラム)の情報を、図7のリライト領域にダウンロードして書き込む。これにより、電子機器8を識別するための固有の機器情報をフラッシュメモリ44に格納できる。或いは、各電子機器メーカに専用のSBP-2用ファームウェアをフラッシュメモリ44に格納できる。
【0112】
その後に、図11(B)に示すように、データ転送制御装置10(基板9)をストレージデバイス100に接続する。そして、これらのデータ転送制御装置10(基板9)及びストレージデバイス100を電子機器に組み込む。これにより、図12(A)に示すような電子機器8を完成できる。
【0113】
そして図12(B)に示すように、電子機器8をユーザが使用する時には、BUS2にストレージデバイス100が接続された状態になっている。従って、図8のステップS8において、デバイスが未接続ではないと判断され、通常のSBP-2処理(通常動作モード)が行われる。これにより、BUS2を介して家庭用のPC(ホスト)から転送されるデータ(ライトデータ)をBUS2を介してストレージデバイス100(デバイス)に転送(ライト)する通常のデータ転送を実現できる。また、BUS2を介してストレージデバイス100から転送されるデータ(リードデータ)を、BUS1を介してPCに転送(リード)するデータ転送も実現できる。即ち、データ転送制御装置10を用いてBUS1(IEEE1394)とBUS2(ATA、ATAPI)のバスブリッジ機能を実現し、電子機器8にIEEE1394のインターフェース機能を持たせることが可能になる。
【0114】
このように本実施形態では、図5(B)の手法とは異なり、ストレージデバイス100をデータ転送制御装置10(基板9)に接続する前の製造工程で、フラッシュメモリ44に情報を書き込めるようになる。また、PCからダウンロード開始コマンド等を転送しなくても、デバイス未接続の時には自動的にダウンロードモードに移行し、リライタ処理が起動する。従って、製造工程の簡素化、短期化を図れると共に、人的作業の手間を軽減できる。ここで、初期状態でREF=イネーブルにしておくことによって、1回目のダウンロードモード移行では、図8のステップS6、S7、S8、S9の処理を省略できるため、更に製造工程の短縮化を図ることができる。
【0115】
6.リライタ処理(ダウンロード処理)
次にリライタ処理の詳細について説明する。
【0116】
図13はID(GUID)のダウンロード処理を説明する図である。
【0117】
まず、ダウンローダホスト部6がIDのライトを実行すると、リライタ部90がそのIDをフラッシュメモリ44に書き込む。そして、ダウンローダホスト部6がステータスのリードを実行すると、リライタ部90がステータスを返す。その後、ダウンローダホスト部6がIDのリードを実行し、IDが適正に書き込まれたか否かを確認して、処理が終了する。
【0118】
図14はプログラム(SBP-2ファームウェア)のダウンロード処理を説明する図である。
【0119】
まず、ダウンローダホスト部6がステータスのリードを実行すると、リライタ部90がステータスを返す。次に、ダウンローダホスト部6がダウンロード開始アドレス、ダウンロードサイズのライトを実行する。そして、ダウンローダホスト部6が例えば512バイト(512バイト以下)単位でダウンロードデータ(SBP-2ファームウェアのプログラム情報)のライトを実行すると、リライタ部90がそのダウンロードデータをフラッシュメモリ44に書き込む。そして、ダウンロードデータのライトが終了すると、ダウンローダホスト部6がプログラムチェックサムのリードを実行し、リライタ部90がチェックサムを返す。その後、ダウンローダホスト部6が、チェックサムが適正か否かを確認して、処理が終了する。
【0120】
図15(A)はコンフィグROMの情報のダウンロード処理を説明する図である。
【0121】
まず、ダウンローダホスト部6がステータスのリードを実行すると、リライタ部90がステータスを返す。次に、ダウンローダホスト部6がダウンロード開始アドレス、ダウンロードサイズのライトを実行する。そして、ダウンローダホスト部6が例えば512バイト(512バイト以下)単位でダウンロードデータ(コンフィグROM情報)のライトを実行すると、リライタ部90がそのダウンロードデータをフラッシュメモリ44に書き込む。この際、コンフィグROMに対して、既に書き込まれているID等を反映させる。そして、ダウンロードデータのライトが終了すると、ダウンローダホスト部6がステータスのリードを実行し、リライタ部90がステータスを返す。次に、ダウンローダホスト部6がコンフィグROMのCRCのリードを実行すると、リライタ部90がCRCを返して、処理が終了する。
【0122】
図15(B)はダウンロード終了処理を説明する図である。
【0123】
ダウンローダホスト部6が、ダウンロード終了コマンドのライトを実行すると、リライタ部90が、リライタイネーブルフラグREFをディスエーブルにし、ステータスをダウンロードの終了に設定して、リブート処理を行う。
【0124】
6.ATA/ATAPIのインターフェース回路
図16に、ATA/ATAPIのインターフェース回路30の構成例を示す。なお、インターフェース回路30は図16の全ての回路ブロックを備える必要はなく、その一部を省略してもよい。
【0125】
FIFO31は、データ転送の転送レートの差を調整(緩衝)するためのバッファである。DMAコントローラ32は、FIFO31やインターフェースコア回路34の制御(REQ/ACK制御)等を行う回路である。
【0126】
インターフェースコア回路34は、DMAの制御等を行う回路である。インターフェースコア回路34が含むカウンタ35は、ATA(IDE)/ATAPI用のリセットカウンタである。インターフェースコア回路34が含むUDMA回路36は、ATA/ATAPIのUltraDMA転送を制御するための回路であり、UltraDMA用のFIFO37、UltraDMA用のCRC演算回路38を含む。
【0127】
レジスタ33は、DMA転送の開始等を制御するためのレジスタであり、このレジスタ33は、ファームウェア50(CPU42)によりアクセス可能になっている。
【0128】
CS[1:0]は、ATAの各レジスタにアクセスするために使用するチップセレクト信号である。DA[2:0]は、データ又はデータポートにアクセスするためのアドレス信号である。
【0129】
DMARQ、DMACKは、DMA転送に使用される信号である。データ転送の準備が整った時にストレージデバイス100(デイバイス)側がDMARQをアサートして(アクティブにして)、これに応答して、データ転送制御装置10(ホスト)側がDMA転送開始時にDMACKをアサートする。
【0130】
DIOW(STOP)は、レジスタ又はデータポートの書き込み時に使用するライト信号である。なお、UrtraDMA転送中はSTOP信号として機能する。DIOR(HDMARDY、HSTROBE)は、レジスタ又はデータポートの読み出し時に使用するリード信号である。なお、UrtraDMA転送中はHDMARDY、HSTROBE信号として機能する。
【0131】
IORDY(DDMARDY、DSTROBE)は、ストレージデバイス100のデータ転送の準備が整っていない時のウェイト信号等に使用される。なお、UrtraDMA転送中はDDMARDY、DSTROBE信号として機能する。
【0132】
INTRQは、ストレージデバイス100(デバイス)が、データ転送制御装置10(ホスト)に対して割り込みを要求するために使用される信号である。このINTRQがアサートされた後、データ転送制御装置10がストレージデバイス100のステータスレジスタの内容を読むと、所定時間後にストレージデバイス100はINTRQをネゲートする(非アクティブにする)。このINTRQを用いることで、ストレージデバイス100は、コマンド処理の終了をデータ転送制御装置10に通知できる。
【0133】
図17(A)、(B)に、以上のATA用の信号の波形例を示す。これらの図は、PIO(Parallel I/O)リード、PIOライト時の信号波形例である。なお、これらの図において「#」は負論理(Lレベルがアサート)の信号であることを表す。
【0134】
ATAのレジスタ103のリードは図16(A)のPIOリードにより実現し、レジスタ103へのライトは図16(B)のPIOライトにより実現する。例えば、図9のステップS23、S25、S26、S28のレジスタ・リードは、PIOリードにより実現する。また、ステップS24のレジスタ・ライトは、PIOライトにより実現する。
【0135】
なお、本発明は本実施形態に限定されず、本発明の要旨の範囲内で種々の変形実施が可能である。
【0136】
例えば、明細書中の記載において広義な用語(第1のインターフェース規格、第2のインターフェース規格、第1のインターフェース規格の上位の第1のプロトコル、第1のインターフェース規格の上位の第2のプロトコル、コマンドパケット、デバイス、ホスト、不揮発性メモリ、GUID、データ転送制御プログラム、プロセッサ等)として引用された用語(IEEE1394、ATA/ATAPI、SBP-2、IPover1394、ORB、ストレージデバイス、パーソナルコンピュータ、フラッシュメモリ、機器情報、SBP-2用ファームウェア、CPU等)は、明細書中の他の記載においても広義な用語に置き換えることができる。
【0137】
また、本発明のうち従属請求項に係る発明においては、従属先の請求項の構成要件の一部を省略する構成とすることもできる。また、本発明の1の独立請求項に係る発明の要部を、他の独立請求項に従属させることもできる。
【0138】
また、本発明のデータ転送制御装置、電子機器の構成は、図6に示す構成に限定されず、種々の変形実施が可能である。例えば、これらの各図の各回路ブロック、機能ブロックの一部を省略したり、その接続関係を変更してもよい。また、第2のバス(BUS2)は、ストレージデバイスとは異なるデバイスに接続されていてもよい。また、物理層回路とリンク層回路とパケットバッファの接続構成も図6に示す接続構成に限定されない。
【0139】
また本実施形態では、リライタ起動部、リライタ部等の機能をファームウェア(プログラム)により実現する場合について説明したが、これらを機能の一部又は全部をハードウェア回路により実現してもよい。
【0140】
また本発明は種々の電子機器(ハードディスクドライブ、光ディスクドライブ、光磁気ディスクドライブ、PDA、拡張機器、オーディオ機器、デジタルビデオカメラ、携帯電話、プリンタ、スキャナ、TV、VTR、電話機、表示デバイス、プロジェクタ、パーソナルコンピュータ或いは電子手帳等)に適用できる。
【0141】
また、本実施形態では、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)は、データ転送制御装置のバスブリッジ機能や、電子機器の製造方法について説明するための図である。
【図6】本実施形態のデータ転送制御装置、電子機器の構成例を示す図である。
【図7】フラッシュメモリ(不揮発性メモリ)のメモリマップを示す図である。
【図8】本実施形態の詳細な処理例について示すフローチャートである。
【図9】本実施形態の詳細な処理例について示すフローチャートである。
【図10】図10(A)、(B)、(C)は、ATAの各種レジスタについて説明するための図である。
【図11】図11(A)、(B)は、電子機器の製造方法について説明するための図である。
【図12】図12(A)、(B)は、電子機器の製造方法やデータ転送制御手法について説明するための図である。
【図13】IDのダウンロード処理について説明するための図である。
【図14】プログラムのダウンロード処理について説明するための図である。
【図15】図15(A)、(B)は、コンフィグROMのダウンロード処理やダウンロード終了処理について説明するための図である。
【図16】ATA/ATAPIのインターフェース回路の構成例を示す図である。
【図17】図17(A)、(B)は、PIOリード、PIOライト時における信号波形例である。
【符号の説明】
BUS1 第1のバス(IEEE1394)
BUS2 第2のバス(ATA/ATAPI)
PC ホスト、パーソナルコンピュータ(イニシエータ)
8 電子機器(ターゲット)
10 データ転送制御装置
14 物理層回路
20 リンク層回路
22 SBP-2回路
30 インターフェース回路
32 DMAコントローラ
38 バッファ管理回路
40 パケットバッファ
42 CPU(プロセッサ)
44 フラッシュメモリ(不揮発性メモリ)
50 ファームウェア
52 コミュニケーション部
60 マネージメント部
70 フェッチ部
80 ストレージタスク部
82 リライタ起動部
90 リライタ部
100 ストレージデバイス
102 インターフェース回路
103 レジスタ
104 アクセス制御回路
106 ストレージ

Claims (12)

  1. バスを介してデータ転送を行うためのデータ転送制御装置であって、
    機器情報及びデータ転送制御プログラム情報の少なくとも一方を記憶するための不揮発性メモリのリライト領域に、情報を書き込むリライタ部と、
    前記リライタ部の処理を開始させるリライタ起動部とを含み、
    前記リライタ起動部は、第2のバスに対するデバイスの未接続が検出された場合に、前記リライタ部の処理を開始させ、
    前記リライタ部は、前記機器情報及び前記データ転送制御プログラム情報の少なくとも一方を、第1のバスを介して接続されるホストから、前記不揮発性メモリの前記リライト領域に、ダウンロードし、
    前記機器情報は、データ転送制御装置が組み込まれる電子機器に固有の情報であることを特徴とするデータ転送制御装置。
  2. 請求項1において、
    第2のバスのデバイスが有するレジスタへのアクセス結果に基づいて、第2のバスにデバイスが接続されているか否かを検出することを特徴とするデータ転送制御装置。
  3. 請求項1又は2において、
    リライト領域に情報をダウンロードするモードでは、
    前記リライタ部が、第1のバスに接続されるホストとの間でデータ転送を行うことで、リライト領域に情報を書き込むことを特徴とするデータ転送制御装置。
  4. 請求項1乃至3のいずれかにおいて、
    リライト領域に情報をダウンロードするモードとは異なる通常動作モードでは、
    第1のバスを介してホストから転送されるデータを第2のバスを介してデバイスに転送し、第2のバスを介してデバイスから転送されるデータを第1のバスを介してホストに転送することを特徴とするデータ転送制御装置。
  5. 請求項1乃至4のいずれかにおいて、
    前記不揮発性メモリが、データ転送制御プログラム情報がリライト領域に正常に書き込まれた否かを示すための情報を記憶する領域を有することを特徴とするデータ転送制御装置。
  6. 請求項1乃至5のいずれかにおいて、
    前記不揮発性メモリが、リライタ部の処理をイネーブル又はディスエーブルに設定するためのリライタ処理設定情報を記憶する領域を有し、
    前記リライタ処理設定情報が、初期状態においてはイネーブルに設定され、リライタ部の処理が終了するとディスエーブルに設定されることを特徴とするデータ転送制御装置。
  7. 請求項1乃至6のいずれかにおいて、
    第1のバスが、第1のインターフェース規格によりデータ転送が行われるバスであり、第2のバスが、第2のインターフェース規格によりデータ転送が行われるバスであることを特徴とするデータ転送制御装置。
  8. 請求項1乃至7のいずれかのデータ転送制御装置と、
    第2のバスに接続されるデバイスと、
    を含むことを特徴とする電子機器。
  9. 機器情報及びデータ転送制御プログラム情報の少なくとも一方を記憶するための不揮発性メモリのリライト領域に、情報を書き込むリライタ部と、
    前記リライタ部の処理を開始させるリライタ起動部として、
    データ転送制御装置を機能させるプログラムであって、
    前記リライタ起動部は、第2のバスに対するデバイスの未接続が検出された場合に、前記リライタ部の処理を開始させ、
    前記リライタ部は、前記機器情報及び前記データ転送制御プログラム情報の少なくとも一方を、第1のバスを介して接続されるホストから、前記不揮発性メモリの前記リライト領域に、ダウンロードし、
    前記機器情報は、データ転送制御装置が組み込まれる電子機器に固有の情報であることを特徴とするプログラム。
  10. 請求項9において、
    第2のバスのデバイスが有するレジスタへのアクセス結果に基づいて、第2のバスにデバイスが接続されているか否かが検出されることを特徴とするプログラム。
  11. 請求項9又は10において、
    前記不揮発性メモリが、リライタ部の処理をイネーブル又はディスエーブルに設定するためのリライタ処理設定情報を記憶する領域を有し、
    前記リライタ処理設定情報が、初期状態においてはイネーブルに設定され、リライタ部の処理が終了するとディスエーブルに設定されることを特徴とするプログラム。
  12. 不揮発性メモリのリライト領域に情報を書き込むリライタ部を有するデータ転送制御装置と、前記データ転送制御装置に接続される第2のバスと、前記第2のバスを介して前記データ転送制御装置と接続されるデバイスとを含む電子機器の製造方法であって、
    前記データ転送制御装置と前記デバイスとを未接続にし、
    前記データ転送制御装置と前記デバイスとが未接続の場合に、前記リライタ部にリライタ処理を開始させ、
    前記リライタ処理により、機器情報及びデータ転送制御プログラム情報の少なくとも一方を記憶するためのリライト領域に、第1のバスを介して転送される情報をダウンロードして情報を書き込むことで、前記第2のバスに対するデバイスの未接続が検出された場合に、前記機器情報及び前記データ転送制御プログラム情報の少なくとも一方を、前記第1のバスを介して接続されるホストから、前記不揮発性メモリの前記リライト領域にダウンロードし、
    前記リライト領域への情報のダウンロード後に、前記データ転送制御装置の前記第2のバスとデバイスとを接続し、
    前記機器情報は、データ転送制御装置が組み込まれる電子機器に固有の情報であること、を特徴とする電子機器の製造方法。
JP2002235667A 2002-08-13 2002-08-13 データ転送制御装置、電子機器、プログラム及び電子機器の製造方法 Expired - Fee Related JP3714420B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2002235667A JP3714420B2 (ja) 2002-08-13 2002-08-13 データ転送制御装置、電子機器、プログラム及び電子機器の製造方法
US10/625,643 US7424580B2 (en) 2002-08-13 2003-07-24 Data transfer control device, electronic instrument, program and method of fabricating electronic instrument
DE60309394T DE60309394T2 (de) 2002-08-13 2003-08-04 Datenübertragungssteuerungssystem, Programm und Verfahren zur Herstellung eines elektronischen Gerätes
EP03017730A EP1394682B1 (en) 2002-08-13 2003-08-04 Data transfer control device, program and method of fabricating an electronic instrument
AT03017730T ATE344493T1 (de) 2002-08-13 2003-08-04 Datenübertragungssteuerungssystem, programm und verfahren zur herstellung eines elektronischen gerätes
CN03153410.4A CN1248125C (zh) 2002-08-13 2003-08-12 数据传输控制装置、电子设备、及电子设备的制造方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002235667A JP3714420B2 (ja) 2002-08-13 2002-08-13 データ転送制御装置、電子機器、プログラム及び電子機器の製造方法

Publications (2)

Publication Number Publication Date
JP2004078402A JP2004078402A (ja) 2004-03-11
JP3714420B2 true JP3714420B2 (ja) 2005-11-09

Family

ID=31492469

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002235667A Expired - Fee Related JP3714420B2 (ja) 2002-08-13 2002-08-13 データ転送制御装置、電子機器、プログラム及び電子機器の製造方法

Country Status (6)

Country Link
US (1) US7424580B2 (ja)
EP (1) EP1394682B1 (ja)
JP (1) JP3714420B2 (ja)
CN (1) CN1248125C (ja)
AT (1) ATE344493T1 (ja)
DE (1) DE60309394T2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004070571A (ja) 2002-08-05 2004-03-04 Seiko Epson Corp データ転送制御システム、電子機器、プログラム及びデータ転送制御方法
JP4239930B2 (ja) * 2004-08-19 2009-03-18 セイコーエプソン株式会社 データ転送制御システム、電子機器及びプログラム
JP4337783B2 (ja) * 2005-06-30 2009-09-30 セイコーエプソン株式会社 データ転送制御装置及び電子機器
KR100642045B1 (ko) * 2005-08-09 2006-11-10 (주)씨앤에스 테크놀로지 호스트 프로세서로부터 멀티미디어 프로세서로 멀티미디어프로그램을 다운로드하는 시스템 및 방법
CN100451971C (zh) * 2006-01-13 2009-01-14 英业达股份有限公司 设定程序管理方法
KR20100091379A (ko) * 2009-02-10 2010-08-19 삼성전자주식회사 반도체 디스크 장치 및 그것의 프로그램 페일 처리 방법
KR101573791B1 (ko) * 2009-06-10 2015-12-02 삼성전자주식회사 범용 직렬 버스를 이용한 데이터 전송 방법 및 그 장치
JP6708596B2 (ja) * 2017-09-27 2020-06-10 日立オートモティブシステムズ株式会社 電子制御装置及び制御プログラム検証方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0443876A3 (en) * 1990-02-23 1992-01-02 Kabushiki Kaisha Toshiba Computer system capable of connecting expansion unit
US6202160B1 (en) 1997-05-13 2001-03-13 Micron Electronics, Inc. System for independent powering of a computer system
US6202209B1 (en) * 1998-02-24 2001-03-13 Xircom, Inc. Personal information device and method for downloading reprogramming data from a computer to the personal information device via the PCMCIA port or through a docking station with baud rate conversion means
US5978591A (en) * 1998-02-24 1999-11-02 Franklin Electronics Publishers, Inc. Personal information device and method for downloading reprogramming data from a computer to the personal information device via the PCMCIA port or through a docking station with baud rate conversion means
US6115771A (en) * 1998-03-31 2000-09-05 Lsi Logic Corporation Method and system for converting computer peripheral equipment to SCSI-compliant devices
JP3599048B2 (ja) 2002-07-26 2004-12-08 セイコーエプソン株式会社 データ転送制御システム、電子機器、プログラム及びデータ転送制御方法
JP2004070570A (ja) 2002-08-05 2004-03-04 Seiko Epson Corp データ転送制御システム、電子機器、プログラム及びデータ転送制御方法
JP2004070571A (ja) 2002-08-05 2004-03-04 Seiko Epson Corp データ転送制御システム、電子機器、プログラム及びデータ転送制御方法

Also Published As

Publication number Publication date
CN1482552A (zh) 2004-03-17
ATE344493T1 (de) 2006-11-15
CN1248125C (zh) 2006-03-29
EP1394682A2 (en) 2004-03-03
DE60309394T2 (de) 2007-10-11
US7424580B2 (en) 2008-09-09
US20040167999A1 (en) 2004-08-26
JP2004078402A (ja) 2004-03-11
EP1394682B1 (en) 2006-11-02
DE60309394D1 (de) 2006-12-14
EP1394682A3 (en) 2004-07-21

Similar Documents

Publication Publication Date Title
JP5065297B2 (ja) Mmc/sdデバイスからホストデバイスをブートする方法,mmc/sdデバイスからブート可能なホストデバイス及びホストデバイスをブートできるmmc/sdデバイス
EP1389760B1 (en) Data transfer control system, program and data transfer control method
US9680972B2 (en) SD switch box in a cellular handset
US7165124B2 (en) Data transfer control system, electronic instrument, program, and data transfer control method
JP3714420B2 (ja) データ転送制御装置、電子機器、プログラム及び電子機器の製造方法
US8527667B2 (en) Apparatuses and methods for transferring data
US20050198425A1 (en) Combined optical storage and flash card reader using single ide or sata port and method thereof
JP4404023B2 (ja) データ転送制御装置及び電子機器
JP2006059088A (ja) データ転送制御システム、電子機器及びプログラム
US7409467B2 (en) Data transfer control system, electronic instrument, and data transfer control method
US7366805B2 (en) Data transfer control system, electronic instrument, program, and data transfer control method
JP2009037479A (ja) データ転送制御装置及び電子機器
JP2009026165A (ja) コントローラ、電子機器及び電子機器の制御方法
JP4337783B2 (ja) データ転送制御装置及び電子機器
JP2009037475A (ja) データ転送制御装置及び電子機器

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050308

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050506

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050816

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080902

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090902

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090902

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100902

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100902

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110902

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120902

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130902

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees