JP2007317011A - データ処理装置、データ転送方法、データ転送プログラム - Google Patents

データ処理装置、データ転送方法、データ転送プログラム Download PDF

Info

Publication number
JP2007317011A
JP2007317011A JP2006147037A JP2006147037A JP2007317011A JP 2007317011 A JP2007317011 A JP 2007317011A JP 2006147037 A JP2006147037 A JP 2006147037A JP 2006147037 A JP2006147037 A JP 2006147037A JP 2007317011 A JP2007317011 A JP 2007317011A
Authority
JP
Japan
Prior art keywords
data
host
bridge
bus
unused
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.)
Granted
Application number
JP2006147037A
Other languages
English (en)
Other versions
JP4564939B2 (ja
Inventor
Yoshinobu Fukui
祥布 福井
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.)
NEC Solution Innovators Ltd
Original Assignee
NEC System Technologies 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 NEC System Technologies Ltd filed Critical NEC System Technologies Ltd
Priority to JP2006147037A priority Critical patent/JP4564939B2/ja
Publication of JP2007317011A publication Critical patent/JP2007317011A/ja
Application granted granted Critical
Publication of JP4564939B2 publication Critical patent/JP4564939B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Systems (AREA)
  • Bus Control (AREA)

Abstract

【課題】ホスト装置に複数のデバイスが接続されている場合に、それらのデバイスの使用状況に応じてデータ転送に用いるバスを適切に決定することができるデータ転送方法等を提供すること
【解決手段】ホスト装置1は、上位層から受信したデータを所定の分割サイズに分割し、ホストバスの中からデバイスの使用状況に応じて選択した複数のものを用いてブリッジに送信する機能と、ブリッジから複数のホストバスを介して受信したデータを結合して上位層に送信する機能とを備えたホスト側データ分割結合器11を備えている。ブリッジ3は、デバイス20から受信したデータを所定の分割サイズに分割し、ホストバスの中からデバイスの使用状況に応じて選択した複数のものを用いてホスト装置に送信する機能と、ホスト装置から複数のホストバスを介して受信したデータを結合してデバイスに送信する機能とを備えたブリッジ側データ分割結合器31を備えている。
【選択図】図1

Description

本発明は、シリアル方式によるデータ転送技術に関し、特に空いているバス利用してデータ転送速度を向上させる技術に関する。
データ処理装置で用いられているATA(AT
Attachment)の転送方式は転送速度を向上するためにパラレル転送からシリアル転送に移行しつつある。シリアルATAの規格においても1.5Gbps(bit/sec)、3Gbpsというように転送速度を向上させた規格も定義されてきており今後も速度向上が実施されていくと思われる。
実際にシリアル転送を行う物理層の速度向上は技術的に難しい面があり、ホスト側の速度制約またはホスト側とデバイス側双方の相性によってはデバイス側がサポートする最高速度で転送することができない場合があった。
また、図7に示すように、ホスト400のインターフェースと記憶装置等のデバイス402等は1対1接続されており使用中のデバイスのバスのみが使用されており、未使用のデバイスのバスはデータ転送に使用されることがなく効率が悪いという問題もあった。たとえば、デバイス402だけがホスト400との間でバス406を介してデータ転送を行っている場合、空いているバス407、408、409を有効に使用することはできなかった。
このような問題を解決しようとするデータ転送システムが特許文献1に記載されている。このデータ転送システムは、ホストシステムと記憶装置との間にデバイスシステムを備え、ホストシステムとデバイスシステムは、それぞれに備えられる複数のシリアルインタフェースコントローラを通して接続され、デバイスシステムと記憶装置は、少なくとも一つのインタフェースコントローラで接続され、ホストシステムとデバイスシステムは、複数のシリアルインタフェースコントローラの数に対応して転送するデータを分割及び、結合する機能を備えている。
特開2003−131815号公報
しかし、特許文献1には、記憶装置が複数接続されている場合のデータ転送方法については記載されていない。そのため、複数の記憶装置の動作状況(各記憶装置がホストシステムとの間でデータ転送を行っているか否か)に応じてデータ転送に用いるバス(シリアルインターフェースコントローラ)を適切に決定することができないという問題があった。
そこで、本発明は、ホスト装置に複数のデバイスが接続されている場合に、それらのデバイスの使用状況に応じてデータ転送に用いるバスを適切に決定することができるデータ転送方法等を提供することを、その目的とする。
本発明の、データ処理装置は、ホスト装置と、このホスト装置と複数のホストバスにより接続されたブリッジと、このブリッジと複数のデバイスバスにより接続された複数のデバイスを備えている。
ホスト装置は、上位層から受信したデータを所定の分割サイズに分割し、ホストバスの中からデバイスの使用状況に応じて選択した複数のものを用いてブリッジに送信する機能と、ブリッジから複数のホストバスを介して受信したデータを結合して上位層に送信する機能とを備えたホスト側データ分割結合器を備えている。
ブリッジは、デバイスから受信したデータを所定の分割サイズに分割し、ホストバスの中からデバイスの使用状況に応じて選択した複数のものを用いてホスト装置に送信する機能と、ホスト装置から複数のホストバスを介して受信したデータを結合してデバイスに送信する機能とを備えたブリッジ側データ分割結合器を備えている(請求項1ないし請求項5)。
上記データ処理装置によれば、デバイスの使用状況に応じて、データ転送を行っていないデバイスのホストバスを適切に選択して、ホスト装置とブリッジとの間のデータ転送に使用する。
そのため、デバイスが複数接続されている場合においても、ホストバスの使用効率を向上させてホストバスの転送能力をデバイスが持つ転送能力に近づけることができる。
上記データ処理装置において、ホスト側データ分割結合器およびブリッジ側データ分割結合器は、合計のデータ転送能力がデータの転送の対象であるデバイスのデータ転送能力と同等または超える範囲で本数が最小となるようにホストバスを選択するようにしてもよい(請求項2)。
このようにすれば、デバイスの持つ転送能力に応じて、必要十分な数のホストバスを選択して、ホスト装置とブリッジとの間のデータ転送に用いることができる。
上記データ処理装置において、ホスト装置とブリッジとの間およびブリッジとデバイスとの間のデータ送受信は、シリアルATA方式によって行い、ホスト側データ分割結合器およびブリッジ側データ分割結合器は、分割したデータのヘッダにブリッジとデバイスとの間のデータの送受信に使用するデバイスバスを特定する情報と、分割されたデータを結合する順番を示す情報を付加するようにしてもよい(請求項3)。さらに、分割サイズを、32ビットとしてもよい(請求項4)。
このようにすれば、広く普及しているシリアルATA方式に対応したホスト装置とデバイスを利用して、データ処理装置を容易に構成することができる。分割サイズを32ビットとすれば、シリアルATA方式の最小データサイズと一致するので、送信部に渡すデータに送信データのサイズを示す情報を付加する必要がなくなる。
本発明の第2のデータ処理装置は、ホスト装置と、このホスト装置と複数のホストバスにより接続されたブリッジと、このブリッジと複数のデバイスバスにより接続された複数のデバイスを備えている。
ホスト装置は、デバイス装置に送信するデータをデータ転送を行っていないホストバスである未使用バスの本数に分割して分割データを生成しこの分割データをメモリに格納するデータ分割手段と、未使用バスを特定する未使用バス特定情報をブリッジに通知する未使用バス特定情報通知手段と、メモリに格納された各分割データをそれぞれ一本の未使用バスを用いてブリッジに送信するデータ送信手段と、ブリッジから送信された分割データを受信しメモリに格納する分割データ受信手段と、この分割データ受信手段によりメモリに格納された分割データを結合するデータ結合手段を備えている。
ブリッジは、未使用バス特定情報を基に、デバイスから受信したデータを未使用バスの本数で分割し、未使用バスを介してホスト装置に送信する機能と、ホスト装置から受信した分割データを結合してデバイスに送信する機能とを備えたデータ分割結合器を備えている(請求項5)。
上記データ転送装置によれば、第1のデータ処理装置と同様に、デバイスが複数接続されている場合においても、ホストバスの使用効率を向上させてホストバスの転送能力をデバイスが持つ転送能力に近づけることができる。
本発明のデータ転送方法は、ホスト装置が、デバイスに送信するデータを所定の分割サイズに分割し、ホストバスの中からデバイスの使用状況に応じて選択した複数のものを用いてホスト装置とデバイス装置の間に設けられたブリッジに送信し、このブリッジ装置が、ホスト装置から受信したデータを結合してデバイスに送信するホスト側送信工程と、ブリッジが、デバイスから受信したデータを所定の分割サイズに分割し、ホストバスの中からデバイスの使用状況に応じて選択した複数のものを用いてホスト装置に送信し、このホスト装置が、ブリッジから受信したデータを結合して上位層に送信するデバイス側送信工程とにより、ホスト装置とでバイトの間のデータ転送を行う(請求項6ないし請求項9)。
上記データ転送方法によれば、デバイスの使用状況に応じて、データ転送を行っていないデバイスのホストバスを適切に選択して、ホスト装置とブリッジとの間のデータ転送に使用する。
そのため、デバイスが複数接続されている場合においても、ホストバスの使用効率を向上させてホストバスの転送能力をデバイスが持つ転送能力に近づけることができる。
上記データ転送方法において、ホスト側送信工程およびデバイス側送信工程では、合計のデータ転送能力がデータの転送の対象であるデバイスのデータ転送能力と同等または超える範囲で本数が最小となるようにホストバスを選択するようにしても良い(請求項7)。
このようにすれば、デバイスの持つ転送能力に応じて、必要十分な数のホストバスを選択して、ホスト装置とブリッジとの間のデータ転送に用いることができる。分割サイズを32ビットとすれば、シリアルATA方式の最小データサイズと一致するので、送信部に渡すデータに送信データのサイズを示す情報を付加する必要がなくなる。
上記データ転送方法において、ホスト装置とブリッジとの間およびブリッジとデバイスとの間のデータ送受信は、シリアルATA方式によって行い、ホスト側送信工程およびデバイス側送信工程では、分割したデータのヘッダにブリッジとデバイスとの間のデータの送受信に使用するデバイスバスを特定する情報と、分割されたデータを結合する順番を示す情報を付加するようにしても良い(請求項8)。さらに、分割サイズを32ビットとしてもよい(請求項9)。
このようにすれば、広く普及しているシリアルATA方式に対応したホスト装置とデバイスを利用して、データ処理装置を容易に構成することができる。
本発明の第2のデータ転送方法は、ホスト装置が、デバイス装置に送信するデータをデータ転送を行っていないホストバスである未使用バスの本数に分割して分割データを生成しこの分割データをメモリに格納し、未使用バスを特定する未使用バス特定情報をホスト装置とデバイス装置の間に設けられたブリッジに通知し、メモリに格納された各分割データをそれぞれ一本の未使用バスを用いてブリッジに送信し、ブリッジが、未使用バス特定情報を基に、ホスト装置から受信した分割データを結合してデバイスに送信するホスト側送信工程と、ブリッジが、未使用バス特定情報を基に、デバイスから受信したデータを未使用バスの本数で分割し、未使用バスを使用してホスト装置に送信し、ホスト装置がブリッジから送信された分割データを受信しメモリに格納し、このメモリに格納された分割データを結合するデバイス側送信工程とによりデータの転送を行う(請求項10)。
上記データ転送装置によれば、第1のデータ処理装置と同様に、デバイスが複数接続されている場合においても、ホストバスの使用効率を向上させてホストバスの転送能力をデバイスが持つ転送能力に近づけることができる。
本発明のデータ転送プログラムは、デバイスとの間でデータ転送を行うホスト装置に、デバイス装置に送信するデータをデータ転送を行っていないホストバスである未使用バスの本数に分割して分割データを生成しこの分割データをメモリに格納するデータ分割処理と、未使用バスを特定する未使用バス特定情報をホスト装置とデバイス装置の間に設けられたブリッジに通知する未使用バス特定情報通知処理と、メモリに格納された各分割データをそれぞれ一本の未使用バスを用いてブリッジに送信するデータ送信処理と、ブリッジから送信された分割データを受信しメモリに格納する分割データ受信処理と、この分割データ受信手段によりメモリに格納された分割データを結合するデータ結合処理とを実行させる(請求項11)。
上記データ転送プログラムによれば、デバイスが複数接続されている場合においても、ホストバスの使用効率を向上させてホストバスの転送能力をデバイスが持つ転送能力に近づけることができる。
本発明によれば、デバイスの使用状況に応じて、データ転送を行っていないデバイスのホストバスを適切に選択して、ホスト装置とブリッジとの間のデータ転送に使用する。
そのため、デバイスが複数接続されている場合においても、ホストバスの使用効率を向上させてホストバスの転送能力をデバイスが持つ転送能力に近づけることができる。
以下、図を参照しながら本発明の第一の実施形態であるデータ処理装置4の構成と動作について説明する。
図1は、データ処理装置4の全体構成を示すブロック図である。
1はホスト、2はデバイス群、3はブリッジである。ホスト1は、ブリッジ3を介してデバイス群2との間でデータの転送を行う。
ホスト1は、たとえばパーソナルコンピュータであり、転送データの分割および分割された転送データの結合を行うデータ分割/結合器11を備えている。
デバイス群2は、デバイス21、デバイス22、デバイス23、デバイス24からなる。各デバイスは、シリアルATA方式に対応した任意の機器で、例えばハードディスク装置である。なお、特に区別する必要のない場合は、これらのデバイスの総称として「デバイス20」ということにする。また、デバイスの数は、4台には限定されず、2台以上であれば何台でもよい。
ブリッジ3は、ホスト1とデバイス20との間のデータ転送を中継する装置で、転送データの分割および分割された転送データの結合を行うデータ分割/結合器31を備えている。
ブリッジ3とデバイス21、22、23、24は、それぞれデバイスバス51、52、53、54により接続されている。ホスト11とブリッジ3は、4本のホストバス41、42、43、44により接続されている。ホスト1がデバイス21、22、23、24との間でデータ転送を行う際には、それぞれ、ホストバス41、42、43、44を使用する。すなわち、ホストバスとデバイスは1対1に対応付けられている。ただし、データ処理装置4においては、対応付けられているホストバス以外のホストバスがデータの転送に使用されていない(そのようなバスを以下「未使用バス」という)場合には、未使用バスもデータの転送に使用することによりデータ転送の高速化を実現している。
図2は、データ分割/結合器11(ホスト側データ分割結合器の一例)の機能ブロック図である。
データ分割/結合器11は、データ分割部111と制御部112とデータ結合部113を備えている。
制御部112は、デバイス20の使用状況、すなわち各デバイスがいずれのホストバスを使用しているかという状況に応じてブリッジ3との間でデータを送受信するために用いるホストバスを選択する。
データ分割部111は、例えばデバイスドライバ等の上位層(図1のap1、ap2、ap3、ap4)から受信したデバイス20への送信データa2hN(N=1〜4)を制御部112の指示により分割しブリッジ3への送信データh2bN(N=1〜4)を作成する。
データ結合部113はブリッジ3からの送信データb2hN(N=1〜4)を制御部112からの指示により結合し上位層への送信データh2aN(N=1〜4)を作成する。
図3は、データ分割/結合器31(ブリッジ側データ分割結合器の一例)の機能ブロック図である。
データ分割/結合器31は、データ分割部311と制御部312とデータ結合部313を備えている。
制御部312は、デバイス20の使用状況に応じてホスト1との間でデータを送受信するために用いるホストバスを選択する。
データ結合部311はホスト部1からの送信データh2bN(N=1〜4)を制御部312からの指示により結合しデバイス20への送信データb2dN(N=1〜4)を作成する。
データ分割部313はデバイスから上位層への送信データd2bN(N=1〜4)を制御部312からの指示により分割しホスト部への送信データb2hN(N=1〜4)を作成する。
次に、図1ないし図4を用いて、データ処理装置4の動作について説明する。図1に示すようにデバイス21、22、23、24の4デバイスが接続されるシステムを例に説明する。
デバイス21、22、34、24が全て動作している場合は、ホストバス41、42、43、44はそれぞれデバイス21、22、34、24のデータ転送のために使用される。
しかし、4デバイスのうち、1デバイスでも動作していない場合で、かつ、ホストのデータ転送速度より速い転送速度のデバイスがデータ転送を行う場合、このデータ転送用に未使用バスを使用する。以下の詳細説明では4つのデバイスのうち、デバイス24のみがデータ転送を行う場合の動作を説明する。デバイス24は、6Gbpsの転送能力があり、ホスト1側の転送能力は1.5Gbpsとして説明する。データを分割するサイズは任意であるがシリアルATAの最小データサイズであるDword(32bit)として説明する。
図4に、データ分割/結合器11、31が分割データに付加する情報を示す。
データ分割/結合器11、31はシリアルATAのデータ転送フォーマットの未使用フィールドに新規に「PortNumber」と「DataNumber」の二つのフィールドを追加することにより分割データに情報を付加する。
「PortNumber」は、ホスト1との間でデータ転送を行うデバイス(すなわち、デバイスバスを)を特定する情報である。
「DataNumber」は、データ分割/結合器11またはデータ分割/結合器31により分割されたデータの分割前のデータにおける先頭からの順番を示すフィールドである。データ結合/分配器11またはデータ結合/分配器31は、このフィールドを参照して分割されたデータを元の順番に結合する。
では、以下に具体例で説明する。
まず、ホスト1からデバイス24へのデータ転送について説明する。
(1)データ分割/結合器11は、上位層ap4からのデータ(a2h4)を受信する。
(2)データ分割/結合器11内のデータ分割部111はa2h4をDword毎にh2b1,2,3,4に分割しそれぞれホストバス41、42、43、44に送信する。つまり、a2h4の4N+1番目のDwordデータ(N=0,1,2・・・)の先頭にデバイス4-1番目を示す情報(図5のPortNumber=4、DataNumber=1)を付加したデータ(h2b1)をホストバス41に送信する。同様にa2h4の4N+2番目のDwordデータとその先頭にデバイス4-2番目を示す情報(PortNumber=4、DataNumber=2) を付加したデータ(h2b2)をホストバス42に、a2h4の4N+3番目のDwordデータとその先頭にデバイス4-3番目を示す情報(PortNumber=4、DataNumber=3) を付加したデータ(h2b3)をホストバス43に、a2h4の4N+4番目のDwordデータとその先頭にデバイス4-4番目を示す情報(PortNumber=4、DataNumber=4) を付加したデータ(h2b4)をホストバス44に送信する。
(3)ブリッジではデータ分割/結合器31内のデータ結合部311がh2b1,2,3,4のそれぞれの先頭に付加されたPortNumber、DataNumberを元に結合したデータ(b2d4)をデバイスバス54に送信する。
(4)デバイス24がb2d4を受信する。
次に、デバイス24からホスト1へのデータ転送について説明する。
(1)ブリッジではデバイス24からのデータ(d2b4)を受信する。
(2)データ分割/結合器31内のデータ分割部313はd2b4をDword毎にb2h1,2,3,4に分割しそれぞれホストバス41、42、43、44に送信する。つまり、d2b4の4N+1番目のDwordデータとその先頭にデバイス4-1番目を示す情報(PortNumber=4、DataNumber=1)を付加したデータ(b2h1)をホストバス41に送信し、同様にd2b4の4N+2番目のDwordデータとその先頭にデバイス4-2番目を示す情報(PortNumber=4、DataNumber=2)を付加したデータ(b2h2)をホストバス42に、d2b4の4N+3番目のDwordデータとその先頭にデバイス4-3番目を示す情報(PortNumber=4、DataNumber=3)を付加したデータ(b2h3)をホストバス43に、d2b4の4N+4番目のDwordデータとその先頭にデバイス4-4番目を示す情報(PortNumber=4、DataNumber=4)を付加したデータ(b2h4)をホストバス44に送信する。
(3)ホスト側ではデータ分割/結合器11内のデータ結合部113がb2h1,2,3,4のそれぞれの先頭に付加されたPortNumber、DataNumberを元に結合したデータ(h2a4)を上位層ap4に送信する。
(4)ap4がh2a4を受信する。
上記の例ではデバイス24のデータ転送能力が6Gbpsで他の3デバイスが全てデータ転送を行っていないためホストバス41、42、43、44全てを使用したが、デバイスのデータ転送能力が3Gbpsの場合は最大2本のhost-busを使用する。つまり、バスの転送能力の合計がデバイスの転送能力以上となる範囲内で、最小本数のバスを使用する。
また、複数のデバイスがデータ転送を行っている場合も、上記の例と同様に未使用バスを適宜選択して使用する。例えば、デバイス23とデバイス24がデータ転送を行っている場合は、ホスト1とデバイス23との間の転送には、ホストバス41とホストバス43を、ホスト1とデバイス24との間の転送には、ホストバス42とホストバス44を、それぞれ使用する。
シリアルATAの仕様では、ホストのシリアルインターフェースの通信速度を認識するために、ホスト内にレジスタ等の通知手段を持つこととなっている。
本発明において、同様にホスト1がブリッジ3と各デバイス20間の通信速度を認識する必要がある。これは、例えば、シリアルATAのコマンドのうち未使用のものを利用して行うことができる。つまり、ホスト1が各デバイス20に対してこのコマンドを送信し、このコマンドに対してブリッジ3がホスト1に対して終了通知(レジスタFIS)を返信するが、その終了通知の空き領域を利用して速度情報を通知する。
次に、データ処理装置4の効果について説明する。
第1の効果は、デバイスが複数接続されている場合においても、ホストバスの使用効率を向上させてホストバスの転送能力をデバイス20が持つ転送能力に近づけることができることにある。
その理由は、デバイスの使用状況に応じてデータ転送を行っていないデバイスのホストバス(未使用バス)を適切に選択して、ホスト1とブリッジ3との間のデータ転送に使用するためである。
次に、本発明の第2の実施形態であるデータ処理装置7ついて図面を参照して詳細に説明する。データ処理装置4と共通する構成要素には、第1の実施形態の場合と同一の符号を付して説明を省略する。
図5は、データ処理装置7の全体構成を示すブロック図である。
データ処理装置7は、ホスト5とブリッジ6とデバイス群2により構成されている。ホスト5とブリッジ6、ブリッジ6とデバイス群2に含まれるデバイス20は、図1と同様に、それぞれ、ホストバスとデバイスバスで接続されている。
図1のデータ処理装置4においては、ホスト1は、データ分割/結合器11を備えているが、データ処理装置7ではデータ分割/結合器11が行う処理をソフトウェアで行うことにより、従来のホストのハードウェア構成をそのまま使用する。
ブリッジ部6は、データ分割/結合器61を備えている。データ分割/結合器61の構成は、図3に示したものと同様であるが、その動作はやや異なっている。ブリッジ部3ではデータを分割/結合するのみで、図4のように従来のS-ATAのデータ転送フォーマットの未使用フィールドに「PortNumber」および「DataNumber」フィールドを追加する処理は行わない。
図6は、ホスト5の機能ブロック図である。
ホスト5は、データ分割手段501、データ結合手段502、メモリ503、未使用バス特定情報通知手段504を備えている。
データ分割手段501は、デバイス20に送信するデータを送信に使用するホストバスの本数に分割しメモリ503に格納する。
データ結合手段502は、上位層ap1、ap2、ap3、ap4がブリッジ6から受信しメモリ503に格納した分割されたデータを結合する。
未使用バス特定情報通知手段504は、ホストバス41、42、43、44のそれぞれがどのデバイス20により使用されているかを示す情報、すなわち未使用バスを特定する情報をブリッジ6に通知する。この通知は、例えば、シリアルATAのコマンドのうち未使用のものを利用して行うことができる。
上記の各手段は、ホスト5のCPU(Central
Processing Unit)がコンピュータプログラムを実行し、ホスト5の各ハードウェアを制御することにより実現される。
次に、データ処理装置7の動作について説明する。
データを分割するサイズは任意であるが、ここでは、シリアルATAの最小データサイズに合わせてDwordで説明する。以下の詳細説明では4つのデバイスのうち、デバイス24のみがデータ転送を行う場合の動作を説明する。このデバイスは6Gbpsのデータ転送能力がありホスト側が1.5Gbpsのデータ転送能力しかないため、ホストバス41、42、43、44を全てデバイス24のデータ転送のために使用することによりデバイス24のフルデータ転送能力を使用することができる。
では、以下に具体例で説明する。
まず、ホスト5からデバイス24へのデータ転送について説明する。
(1)ソフトウェアによりメモリ上にDword毎に4分割、すなわちデータ転送に使用するホストバスの本数に分割されたデータを用意する。具体的には、データ分割手段501がデータを4分割しメモリ503に格納する。
(2)未使用バス特定情報通知手段504は、未使用バスを特定する情報をブリッジ6に通知する。
(3)ホスト5は、デバイス24に対してコマンドを発行する。
(4)データ転送を開始しホスト側は上位層ap1,2,3,4からそれぞれ4分割されたデータを受信する。
(5)ホスト5は、ap1,2,3,4からのデータをそのままホストバス41、42、43、44に送信する。
(6)ブリッジ6は、デバイス24からDMA(Direct
Memory Access)送信要求(DMA_ACTIVATE_FIS)を受信する。
(7)ブリッジではデータ分割/結合器31内のデータ結合部311がホスト5から受信した分割されたデータh2b1,2,3,4を結合してデータ(b2d4)を生成し、デバイスバス54に送信する。つまり、h2b1のN番目のデータとh2b2のN番目のデータとh2b3のN番目のデータとh2b4のN番目のデータ(N=1,2・・・)というふうに結合する。
(8)デバイス24がb2d4を受信する。
次に、デバイス24からホスト5へのデータ転送について説明する。
(1)未使用バス特定情報通知手段504は、未使用バスを特定する情報をブリッジ6に通知する。
(2)ホスト5は、デバイス24に対して転送開始を要求するコマンドを発行する。
(3)ブリッジ6は、デバイス24からのデータ(d2b4)を受信する。
(4)データ分割/結合器61のデータ分割部313はd2b4をDword毎にb2h1,2,3,4に分割しそれぞれhost-bus1,2,3,4に送信する。つまり、d2b4の4N+1番目のDwordデータ (b2h1)をホストバス41に送信し、同様にd2b4の4N+2番目のDwordデータ (b2h2)をホストバス42に、d2b4の4N+3番目のDwordデータ (b2h3)をホストバス43に、d2b4の4N+4番目のDwordデータ (b2h4)をホストバス44に送信する。
(5)ホスト5は、受信したデータをそのまま上位層ap1,2,3,4に送信する。
(6)ap1,2,3,4はそれぞれh2a1,2,3,4を受信し、それぞれデータ結合手段502によって設定されたメモリ上に送信する。
(7)データ結合手段502は、4つのメモリ領域のデータをDword毎に結合する。
上記の例ではデバイス24のデータ転送能力が6Gbpsで他の3デバイスが全てデータ転送を行っていないためホストバス41、42、43、44の全てを使用した。デバイスのデータ転送能力が3Gbpsの場合は最大2本のホストバスを使用する。つまり、ホストバスの転送能力の合計がデバイスの転送能力以上となる範囲内で、最小本数のバスを使用する。
本実施例においても、ブリッジ6からホスト5への通信速度の通知は、第1の実施例と同様に、例えば、シリアルATAのコマンドのうち未使用のものを用いて行うことができる。
データ処理装置7によれば、データ処理装置4と同様に、ホストバスの使用効率を向上させてホストバスの転送能力をデバイス20が持つ転送能力に近づけることができる。
また、データ処理装置7においては、ホスト5におけるデータの分割および結合をソフトウェアにより行っている。
そのため、ホスト装置5のハードウェアは、従来のものに変更を加えることなくそのまま使用することができる。また、分割された転送データのヘッダに新たなフィールドを設ける必要もない。
本発明の第1の実施形態であるデータ処理装置のブロック図である。 ホストのデータ分割/結合器の機能ブロック図である。 ブリッジのデータ分割/結合器の機能ブロック図である。 データ分割/結合器が転送データに付加する情報を説明する図である。 本発明の第2の実施形態であるデータ処理装置のブロック図である。 図5のホストの機能ブロック図である。 従来のシリアル転送方式を説明する図である。
符号の説明
1、5 ホスト
2 デバイス群
3、6 ブリッジ
4、7 データ処理装置
11、31、61 データ分割/結合器
21、22、23、24 デバイス
41、42、43、44 ホストバス
51、52、53、54 デバイスバス
501 データ分割手段
502 データ結合手段
503 メモリ
504 未使用バス特定情報通知手段

Claims (11)

  1. ホスト装置と、このホスト装置と複数のホストバスにより接続されたブリッジと、このブリッジと複数のデバイスバスにより接続された複数のデバイスを備えたデータ処理装置において、
    前記ホスト装置は、上位層から受信したデータを所定の分割サイズに分割し、前記ホストバスの中から前記デバイスの使用状況に応じて選択した複数のものを用いて前記ブリッジに送信する機能と、前記ブリッジから複数の前記ホストバスを介して受信したデータを結合して前記上位層に送信する機能とを備えたホスト側データ分割結合器を備え、
    前記ブリッジは、前記デバイスから受信したデータを所定の分割サイズに分割し、前記ホストバスの中から前記デバイスの使用状況に応じて選択した複数のものを用いて前記ホスト装置に送信する機能と、前記ホスト装置から複数の前記ホストバスを介して受信したデータを結合して前記デバイスに送信する機能とを備えたブリッジ側データ分割結合器を備えたことを特徴としたデータ処理装置。
  2. 前記ホスト側データ分割結合器および前記ブリッジ側データ分割結合器は、合計のデータ転送能力が前記データの転送の対象である前記デバイスのデータ転送能力と同等または超える範囲で本数が最小となるように前記ホストバスを選択することを特徴とした請求項1に記載のデータ処理装置。
  3. 前記ホスト装置と前記ブリッジとの間および前記ブリッジと前記デバイスとの間のデータ送受信は、シリアルATA方式によって行い、前記ホスト側データ分割結合器および前記ブリッジ側データ分割結合器は、前記分割したデータのヘッダに前記ブリッジと前記デバイスとの間の前記データの送受信に使用する前記デバイスバスを特定する情報と、前記分割されたデータを結合する順番を示す情報を付加することを特徴とした請求項1または請求項2に記載のデータ処理装置。
  4. 前記分割サイズは、32ビットであることを特徴とした請求項3に記載のデータ処理装置。
  5. このホスト装置と複数のホストバスにより接続されたブリッジとこのブリッジと複数のデバイスバスにより接続された複数のデバイスを備えたデータ処理装置において、
    前記ホスト装置は、前記デバイス装置に送信するデータをデータ転送を行っていない前記ホストバスである未使用バスの本数に分割して分割データを生成しこの分割データを前記メモリに格納するデータ分割手段と、
    前記未使用バスを特定する未使用バス特定情報を前記ブリッジに通知する未使用バス特定情報通知手段と、
    前記メモリに格納された前記各分割データをそれぞれ一本の前記未使用バスを用いて前記ブリッジに送信するデータ送信手段と、
    前記ブリッジから送信された分割データを受信しメモリに格納する分割データ受信手段と、
    この分割データ受信手段により前記メモリに格納された分割データを結合するデータ結合手段を備え、
    前記ブリッジは、前記未使用バス特定情報を基に、前記デバイスから受信したデータを前記未使用バスの本数で分割し、前記未使用バスを介して前記ホスト装置に送信する機能と、前記ホスト装置から受信した前記分割データを結合して前記デバイスに送信する機能とを備えたデータ分割結合器を備えたことを特徴としたデータ処理装置。
  6. ホスト装置とデバイスとの間でデータの転送を行う方法において、
    前記ホスト装置が、前記デバイスに送信するデータを所定の分割サイズに分割し、前記ホストバスの中から前記デバイスの使用状況に応じて選択した複数のものを用いて前記ホスト装置と前記デバイス装置の間に設けられたブリッジに送信し、このブリッジ装置が、前記ホスト装置から受信したデータを結合して前記デバイスに送信するホスト側送信工程と、
    前記ブリッジが、前記デバイスから受信したデータを所定の分割サイズに分割し、前記ホストバスの中から前記デバイスの使用状況に応じて選択した複数のものを用いて前記ホスト装置に送信し、このホスト装置が、前記ブリッジから受信したデータを結合して上位層に送信するデバイス側送信工程とを備えたことを特徴としたデータ転送方法。
  7. 前記ホスト側送信工程および前記デバイス側送信工程では、合計のデータ転送能力が前記データの転送の対象である前記デバイスのデータ転送能力と同等または超える範囲で本数が最小となるように前記ホストバスを選択することを特徴とした請求項6に記載のデータ転送方法。
  8. 前記ホスト装置と前記ブリッジとの間および前記ブリッジと前記デバイスとの間のデータ送受信は、シリアルATA方式によって行い、前記ホスト側送信工程および前記デバイス側送信工程では、前記分割したデータのヘッダに前記ブリッジと前記デバイスとの間の前記データの送受信に使用する前記デバイスバスを特定する情報と、前記分割されたデータを結合する順番を示す情報を付加することを特徴とした請求項6または請求項7に記載のデータ転送方法。
  9. 前記分割サイズは、32ビットであることを特徴とした請求項8に記載のデータ転送方法。
  10. ホスト装置とデバイスとの間でデータの転送を行う方法において、
    前記ホスト装置が、前記デバイス装置に送信するデータをデータ転送を行っていない前記ホストバスである未使用バスの本数に分割して分割データを生成しこの分割データを前記メモリに格納し、前記未使用バスを特定する未使用バス特定情報を前記ホスト装置と前記デバイス装置の間に設けられたブリッジに通知し、前記メモリに格納された前記各分割データをそれぞれ一本の前記未使用バスを用いて前記ブリッジに送信し、前記ブリッジが、前記未使用バス特定情報を基に、前記ホスト装置から受信した前記分割データを結合して前記デバイスに送信するホスト側送信工程と、
    前記ブリッジが、前記未使用バス特定情報を基に、前記デバイスから受信したデータを前記未使用バスの本数で分割し、前記未使用バスを使用して前記ホスト装置に送信し、前記ホスト装置が前記ブリッジから送信された分割データを受信しメモリに格納し、このメモリに格納された分割データを結合するデバイス側送信工程とを備えたことを特徴としたデータ転送方法。
  11. ホスト装置とデバイスとの間のデータの転送を制御するプログラムにおいて、
    前記ホスト装置に、
    前記デバイス装置に送信するデータをデータ転送を行っていない前記ホストバスである未使用バスの本数に分割して分割データを生成しこの分割データを前記メモリに格納するデータ分割処理と、
    前記未使用バスを特定する未使用バス特定情報を前記ホスト装置と前記デバイス装置の間に設けられたブリッジに通知する未使用バス特定情報通知処理と、
    前記メモリに格納された前記各分割データをそれぞれ一本の前記未使用バスを用いて前記ブリッジに送信するデータ送信処理と、
    前記ブリッジから送信された分割データを受信しメモリに格納する分割データ受信処理と、
    この分割データ受信手段により前記メモリに格納された分割データを結合するデータ結合処理とを実行させることを特徴としたデータ転送プログラム。
JP2006147037A 2006-05-26 2006-05-26 データ処理装置、データ転送方法、データ転送プログラム Expired - Fee Related JP4564939B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006147037A JP4564939B2 (ja) 2006-05-26 2006-05-26 データ処理装置、データ転送方法、データ転送プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006147037A JP4564939B2 (ja) 2006-05-26 2006-05-26 データ処理装置、データ転送方法、データ転送プログラム

Publications (2)

Publication Number Publication Date
JP2007317011A true JP2007317011A (ja) 2007-12-06
JP4564939B2 JP4564939B2 (ja) 2010-10-20

Family

ID=38850804

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006147037A Expired - Fee Related JP4564939B2 (ja) 2006-05-26 2006-05-26 データ処理装置、データ転送方法、データ転送プログラム

Country Status (1)

Country Link
JP (1) JP4564939B2 (ja)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05265949A (ja) * 1992-03-24 1993-10-15 Nec Corp 集積回路装置
JPH10341241A (ja) * 1997-01-31 1998-12-22 Nec Corp 無線ネットワークインタフェースカード及び無線ネットワークインタフェースカードのためのキュー管理方法
JPH11177581A (ja) * 1997-07-29 1999-07-02 Matsushita Electric Ind Co Ltd データ送信装置,データ受信装置およびデータ記録装置
JP2000165304A (ja) * 1998-09-21 2000-06-16 Mitsubishi Electric Corp 電力線搬送通信装置及びその通信制御方法
JP2000286855A (ja) * 1999-03-30 2000-10-13 Nec Corp 通信システム及び通信機器
JP2002351817A (ja) * 2001-04-19 2002-12-06 Fujitsu Ltd メモリにアクセスする方法及び装置
JP2005332085A (ja) * 2004-05-18 2005-12-02 Fujitsu Ltd コンピュータネットワークシステムにおける通信経路制御プログラム及び装置
JP2006079370A (ja) * 2004-09-09 2006-03-23 Canon Inc シミュレーション装置及びシミュレーション方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05265949A (ja) * 1992-03-24 1993-10-15 Nec Corp 集積回路装置
JPH10341241A (ja) * 1997-01-31 1998-12-22 Nec Corp 無線ネットワークインタフェースカード及び無線ネットワークインタフェースカードのためのキュー管理方法
JPH11177581A (ja) * 1997-07-29 1999-07-02 Matsushita Electric Ind Co Ltd データ送信装置,データ受信装置およびデータ記録装置
JP2000165304A (ja) * 1998-09-21 2000-06-16 Mitsubishi Electric Corp 電力線搬送通信装置及びその通信制御方法
JP2000286855A (ja) * 1999-03-30 2000-10-13 Nec Corp 通信システム及び通信機器
JP2002351817A (ja) * 2001-04-19 2002-12-06 Fujitsu Ltd メモリにアクセスする方法及び装置
JP2005332085A (ja) * 2004-05-18 2005-12-02 Fujitsu Ltd コンピュータネットワークシステムにおける通信経路制御プログラム及び装置
JP2006079370A (ja) * 2004-09-09 2006-03-23 Canon Inc シミュレーション装置及びシミュレーション方法

Also Published As

Publication number Publication date
JP4564939B2 (ja) 2010-10-20

Similar Documents

Publication Publication Date Title
JP5159900B2 (ja) 予約デバイスのアクセス競合を低減するコンピュータ・プログラム、装置、及び方法
EP3276481B1 (en) Nvme networked storage implementation method, terminal, server, and system
KR101242896B1 (ko) I/o 처리 시스템의 채널 서브시스템에서 제어 블록에 대한 간접 데이터 주소지정 제공
EP2825969B1 (en) Data redirection for universal serial bus devices
CN107436855B (zh) 用于具有可重配置多端口的pcie存储系统的qos认知io管理
US20080215774A1 (en) Wireless Universal Serial Bus Dual Role Device
CN100468373C (zh) 经平台总线传送和接收网络协议顺应信号包的方法
CN105549916A (zh) PCIe固态硬盘控制器、基于PCIe的存储系统及其数据读写方法
TW201832089A (zh) 多點分支串列匯流排上的多埠多邊頻帶gpio合併技術
US20130132625A1 (en) Methods and devices for extending usb 3.0-compliant communication
US11500541B2 (en) Memory system and controlling method
US20110289243A1 (en) Communication control device, data communication method and program
CN101937413B (zh) 一种i2c总线的通信方法
US9116881B2 (en) Routing switch apparatus, network switch system, and routing switching method
JP2012048704A (ja) シリアル・アドバンスト・テクノロジ・アタッチメント通信における改善されたホスト/イニシエータ利用のための方法および機器
US9882737B2 (en) Network system
JP6418417B2 (ja) Usbデータ転送を管理するシステムおよび方法
JP2009282917A (ja) サーバ間通信機構及びコンピュータシステム
US10585842B2 (en) Computer system for virtualizing I/O device and method of operating the same and hub device
US10042788B2 (en) Storage system and method for controlling command transmission
JP4564939B2 (ja) データ処理装置、データ転送方法、データ転送プログラム
US20100215055A1 (en) Method and apparatus for using multiple protocols on a communication link
CN103995786B (zh) 高速缓存一致性消息的传输方法和装置
KR20220132333A (ko) PCIe 인터페이스 장치 및 그 동작 방법
CN107925444A (zh) 非接触式通信接口系统和方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100323

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100524

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100802

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

Free format text: PAYMENT UNTIL: 20130806

Year of fee payment: 3

R150 Certificate of patent (=grant) or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees