(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0018】
図1は、本発明のデータ転送装置の一例として、無線LANコンバータの構成を示したブロック図である。無線LANコンバータは、無線LANと有線LANとを相互にデータ送受信可能とするデータ転送装置である。
【0019】
図1に示すように、無線LANコンバータ10は、CPU21、RAM22、フラッシュROM23、無線通信部24、および有線通信部25を備えている。
【0020】
CPU21は、本発明における制御部に相当し、フラッシュROM23に記憶されているファームウェア(プログラム)をワークメモリであるRAM22に展開し、無線LANコンバータ10の動作を統括的に制御する。
【0021】
無線通信部24は、アンテナや無線コントローラを内蔵し、無線LANの規格に準じて、他の無線通信機能を有した装置とデータ送受信を行う。無線通信部24が用いる規格としては、主にIEEE802.11a、IEEE802.11b、IEEE802.11g、IEEE802.11n、およびIEEE802.11ac等がある。以下、これら規格名は、単に11a、11b、11g、11n、および11ac等と称する。
【0022】
また、無線通信部24が用いる周波数としては、主に5GHz帯(11a、11n、および11acで用いる。)および2.4GHz帯(11b、11g、および11nで用いる。)がある。また、無線通信部24は、同時に使用するアンテナ数が1本である1ストリーム(送信1チャネル×受信1チャネル:1×1と称する。)、同時に使用するアンテナ数が2本である2ストリーム(送信2チャネル×受信2チャネル:2×2と称する。)、または同時に使用するアンテナ数が3本である3ストリーム(送信3チャネル×受信3チャネル:3×3と称する。)のいずれかを用いて、並列処理を行う。ただし、11a、11b、11gの場合は、1ストリームのみを用い、11acの場合は、3ストリームを用いる。ただし、本実施形態で示す規格や周波数、チャンネル数は一例であり、例えばさらなる多チャンネル化処理も可能である。
【0023】
有線通信部25は、有線無線LANの規格に準じて、他の有線通信機能を有した装置とデータ送受信を行う。無線通信部24が用いる規格としては、主にIEEE802.3i(10BASE−T)、IEEE802.3u(100BASE−TX)、IEEE802.3ab(1000BASE−T)等がある。以下、これら規格名は、単に10BASE、100BASE、および1000BASE等と称する。
【0024】
これら無線通信部24または有線通信部25は、本発明における第1のデータ通信部または第2のデータ通信部に相当する。無線LANコンバータ10は、無線通信部24で受信したデータを有線通信部25から送信し、有線通信部25で受信したデータを無線通信部24から送信することで、無線LANと有線LANとを相互にデータ送受信可能とする。
【0025】
ここで、CPU21は、無線通信部24と有線通信部25とのデータ通信を制御することで、電力消費を効率化するものである。
【0026】
図2は、無線LANコンバータ10(CPU21)の動作を示したフローチャートである。CPU21は、電源がオンされたとき、ユーザの指示を受け付けたとき、あるいは所定時間経過毎に定期的にこの動作を行う。
【0027】
まず、CPU21は、有線LANのリンクがあるか否かを判断する(s11)。有線LANが接続されるまではこの判断を繰り返す。有線LANのリンクがあると判断した場合、有線LANのリンク速度が10BASEであるか否かを判断する(s12)。
【0028】
CPU21は、有線通信部25の有線LANのリンク速度が10BASEであると判断した場合、無線通信部24の無線LANで用いる規格を11a、11bまたは11gに制限する。
【0029】
図3は、有線LANと無線LANの各種規格、および並列処理の速度を比較した図である。
図3の有線LANの欄における規格「10BASE」に示すように、有線LANのリンク速度が10BASEである場合、一般的に期待し得る最大のデータ転送速度(最大速度期待値)は、約10Mbpsである。一方で、
図3の右欄に示すように、無線LANの11bにおける最大速度期待値は、5Mbps程度であり、有線LANよりもデータ転送速度が遅くなる。無線LANの11a/gにおける最大速度期待値は、20Mbps程度であり、有線LANよりもデータ転送速度が速くなる。また、無線LANの11nや11acは、全て有線LANよりもデータ転送速度が速くなる。
【0030】
したがって、無線LAN側が11a/g以上であれば、無線LAN側がボトルネックとなることはない。しかし、11n以上の高速な規格を用いたとしても、データ転送速度は、有線LANの10Mbps以上にはならない。したがって、CPU21は、有線LANの通信速度を超える無線LANの規格のうち、最も低速である11a/g以下に制限する。これにより、無線LANコンバータ10は、無駄な高速化処理を行わないため、高速化処理に要する電力消費を抑えて、効率化することができる。
【0031】
なお、仮に、データ転送量と消費電力が比例する場合、データ転送量が同じである限りは、無線LANの通信を制限したとしても、平均的な消費電力は変わらない可能性がある。しかし、11n等の高速な無線LANによる通信を行う場合、瞬間的に高速転送を行うため、ピーク消費電力が高くなる。ピーク消費電力が高くなると、各種電子部品の負荷が高くなる。したがって、無線LANを制限することで、各種電子部品の負荷を抑えることができる。これにより、例えば、電源回路の簡略化、価格抑制、あるいは寿命の延長にも効果が期待できる。
【0032】
一方、
図2に示すように、CPU21は、有線通信部25の有線LANのリンク速度が10BASEではないと判断した場合、さらに、有線LANのリンク速度が100BASEであるか否かを判断する(s14)。CPU21は、有線通信部25の有線LANのリンク速度が100BASEであると判断した場合、無線通信部24の無線LANで用いる規格を11n(2×2)に制限し(s15)、有線通信部25の有線LANのリンク速度が100BASEではないと判断した場合、無線通信部24の無線LANで用いる規格を制限しない(s16)。
【0033】
図3の有線LANの欄における規格「100BASE」に示すように、有線LANのリンク速度が100BASEである場合、最大速度期待値は、約100Mbpsである。したがって、CPU21は、有線LANの通信速度を超える無線LANの規格のうち、最も低速である11n(2×2)以下に制限する。
【0034】
また、
図3の有線LANの欄における規格「1000BASE」に示すように、有線LANのリンク速度が1000BASEである場合、最大速度期待値は、約1000Mbpsである。この場合、有線LANの通信速度を超える無線LANの規格が存在しない。したがって、CPU21は、無線LANの規格を制限することなく、この場合、最大速度期待値が800Mbps程度である11ac(3×3)まで含めて全て有効とする。
【0035】
次に、
図4は、有線LANを制限する場合の動作を示したフローチャートである。この動作についても、電源がオンされたとき、ユーザの指示を受け付けたとき、あるいは所定時間経過毎に定期的に行う。
【0036】
まず、CPU21は、無線LANのリンクがあるか否かを判断する(s21)。無線LANが接続されるまではこの判断を繰り返す。無線LANのリンクがあると判断した場合、当該無線LANのリンクで用いられている規格が11bであるか否かを判断する(s22)。
【0037】
CPU21は、無線LANのリンクで用いられている規格が11bであると判断した場合、有線通信部25で用いる規格を10BASEに制限する(s23)。すなわち、
図3に示したように、無線LANの11bにおける最大速度期待値は、5Mbps程度であり、有線LANが10BASEであっても有線LAN側がボトルネックとなることはない。したがって、CPU21は、無線LANの通信速度を超える有線LANの規格のうち、最も低速である10BASEの規格に制限する。
【0038】
一方で、CPU21は、無線LANのリンクで用いられている規格が11bではないと判断した場合、さらに、無線LANのリンクで用いられている規格が11n(1×1)以下であるか否かを判断する(s24)。CPU21は、無線LANのリンクで用いられている規格が11n(1×1)以下であると判断した場合、有線通信部25で用いる規格を100BASEに制限し(s25)、無線LANのリンクで用いられている規格が11n(1×1)以下ではない、すなわち11n(2×2)以上であると判断した場合、1000BASEを使用する(s26)。
【0039】
図3に示したように、無線LANの11n(1×1)以下である場合、最大速度期待値は、70Mbps程度であり、有線LANが100BASEであっても有線LAN側がボトルネックとなることはない。無線LANの11n(2×2)では、最大速度期待値は、150Mbps程度であり、有線LANの100BASEの最大速度期待値を超える。したがって、CPU21は、無線LAN側が11n(1×1)以下であると判断した場合、有線通信部25で用いる規格を100BASEに制限し、11n(2×2)以上であると判断した場合、1000BASEを使用する。
【0040】
特に、有線LANは、規格によっては、データ通信の有無に関わらず、一定の電力を消費し、かつリンク速度が高いほど、電力の消費が高くなる。したがって、無線LANコンバータ10は、有線LAN側の無駄な電力消費を抑えることができる。
【0041】
なお、
図2および
図4に示した動作は、少なくともいずれか1つのみ行うことも可能であるし、両方を行うことも可能である。
【0042】
また、
図4の動作に代えて、
図5に示すような動作を行うことも可能である。
図5は、リンク速度に応じて有線LANを制限する場合の動作を示したフローチャートである。この動作についても、電源がオンされたとき、ユーザの指示を受け付けたとき、あるいは所定時間経過毎に定期的に行う。
【0043】
まず、CPU21は、無線LANのリンクがあるか否かを判断する(s31)。無線LANが接続されるまではこの判断を繰り返す。無線LANのリンクがあると判断した場合、当該無線LANのリンク速度が40Mbps未満であるか否かを判断する(s32)。例えば、11bのリンク速度は11Mbpsであり、11aおよび11gのリンク速度は54Mbpsである。一般に、無線LANは、理論的にリンク速度の半分程度の速度までしか発揮できず、実効速度としては、さらに低速となる。すなわち、無線LANのリンク速度が40Mbps未満であれば、有線LANが10BASEであっても有線LAN側がボトルネックとなる可能性が低い。したがって、CPU21は、無線LANのリンク速度が40Mbps未満である場合、有線通信部25で用いる規格を10BASEに制限する(s33)。
【0044】
一方で、CPU21は、無線LANのリンク速度が40Mbps以上であると判断した場合、さらに、無線LANのリンク速度が200Mbps未満であるか否かを判断する(s34)。CPU21は、無線LANのリンク速度が200Mbps未満であると判断した場合、有線通信部25で用いる規格を100BASEに制限し(s35)、無線LANのリンク速度が200Mbps未満ではない、すなわち200Mbps以上であると判断した場合、1000BASEを使用する(s36)。
【0045】
例えば、11n(1×1)のリンク速度は150Mbpsであり、11n(2×2)のリンク速度は300Mbpsである。また、11n(3×3)のリンク速度は450Mbpsであり、11ac(3×3)のリンク速度は1300Mbpsである。
【0046】
このように、
図4の動作に代えて、
図5に示すような動作を行う場合でも、無線LANコンバータ10は、有線LAN側の無駄な電力消費を抑えることができる。
【0047】
また、無線LANコンバータ10は、
図6および
図7に示すような動作を行うことも可能である。
図6は、実効速度を測定する場合の動作を示したフローチャートである。この動作についても、電源がオンされたとき、ユーザの指示を受け付けたとき、あるいは所定時間経過毎に定期的に行う。
【0048】
まず、CPU21は、無線LANのリンクがあるか否かを判断する(s41)。無線LANが接続されるまではこの判断を繰り返す。無線LANのリンクがあると判断した場合、当該無線LANのスループットを測定する(s42)。
【0049】
図7は、実効速度の測定動作を示したフローチャートである。同図左側が無線LANコンバータ10の動作を示すフローチャートであり、同図右側は、通信先の機器(以下、親機と言う。)の動作を示すフローチャートである。
【0050】
まず、無線LANコンバータ10は、親機に測定要求を送信する(s51)。親機は、当該測定要求を受信し(s52)、正常受信した旨(ACK)を返答する(s53)。無線LANコンバータ10は、ACKを受信し(s54)、測定用パケットを送信する(s55)。
【0051】
親機は、当該測定用パケットを受信すると(s56)、応答を送信する(s57)。無線LANコンバータ10は、当該応答を受信し(s58)、送信スループットを記録する(s59)。その後、無線LANコンバータ10は、ACKを返答する(s60)。
【0052】
親機は、ACKを受信すると(s61)、測定用パケットを送信する(s62)。無線LANコンバータ10は、当該測定用パケットを受信し(s63)、受信スループットを記録する(s64)。
【0053】
このようにして、CPU21は、無線LANの実効速度を測定する。
図6に示すように、CPU21は、当該測定が終了すると、当該実効速度が10Mbps以下であるか否かを判断する(s43)。CPU21は、実効速度が10Mbps以下である場合、有線通信部25で用いる規格を10BASEに制限する(s44)。
【0054】
一方で、CPU21は、実効速度が10Mbpsを超えると判断した場合、さらに、実効速度が100Mbps以下であるか否かを判断する(s45)。CPU21は、実効速度が100Mbps以下であると判断した場合、有線通信部25で用いる規格を100BASEに制限し(s46)、実効速度が100Mbpsを超えると判断した場合、1000BASEを使用する(s47)。
【0055】
このように、無線LANコンバータ10は、実効速度に応じて、高精度に無駄な電力消費を抑えることもできる。
【0056】
なお、起動時に
図6および
図7に示す動作を行ってもよいが、例えば起動時にはまず
図4(または
図5)に示す動作を行い、その後、所定時間経過毎に定期的に
図6に示す動作を行うことで、動的な制御を実現することも可能である。あるいは、例えば起動時にはまず1000BASEを使用し、その後、所定時間経過毎に定期的に
図6に示す動作を行うことで、動的な制御を実現することも可能である。
【0057】
次に、
図8は、他のデータ転送装置の構成を示したブロック図である。
図8(A)は、USB−有線LANコンバータ10Aの構成を示すブロック図であり、
図8(B)は、USB−無線LANコンバータ10Bの構成を示すブロック図である。いずれも、
図1に示した無線LANコンバータ10と共通する構成については、同一の符号を付し、その説明を省略する。
【0058】
まず、
図8(A)に示すように、USB−有線LANコンバータ10Aは、無線LANコンバータ10のCPU21およびRAM22に代えてコントローラ201を備え、無線通信部24に代えてUSBコネクタ35を備えている。USB−有線LANコンバータ10Aは、USBコネクタ35で受信したデータを有線通信部25から送信し、有線通信部25で受信したデータをUSBコネクタ35から送信することで、USBと有線LANとを相互にデータ送受信可能とする。
【0059】
USBで用いられる規格としては、主にUSB1.0、USB1.1、USB2.0、およびUSB3.0がある。リンク速度としては、LowSpeed(1.5Mbps)、FullSpeed(12Mbps)、HighSpeed(480Mbps)、およびSuperSpeed(5000Mbps)がある。
【0060】
図9は、USBのリンク速度に合わせて有線LANを制限する場合の動作を示したフローチャートである。まず、コントローラ201は、USBのリンクがあるか否かを判断する(s71)。USBが接続されるまではこの判断を繰り返す。USBのリンクがあると判断した場合、当該USBのリンク速度がLowSpeedまたはFullSpeedであるか否かを判断する(s72)。例えば、FullSpeedの実効速度は、10Mbps程度である。したがって、USBのリンク速度がLowSpeedまたはFullSpeedであれば、有線LANが10BASEであっても有線LAN側がボトルネックとなることはない。したがって、コントローラ201は、USBのリンク速度がLowSpeedまたはFullSpeedである場合、有線通信部25で用いる規格を10BASEに制限する(s73)。
【0061】
一方で、コントローラ201は、USBのリンク速度がLowSpeedまたはFullSpeedではないと判断した場合、さらに、USBのリンク速度がHighSpeedであるか否かを判断する(s74)。コントローラ201は、USBのリンク速度がHighSpeedであると判断した場合、有線通信部25で用いる規格を100BASEに制限し(s75)、USBのリンク速度がHighSpeedではない、すなわちSuperSpeedであると判断した場合、1000BASEを使用する(s76)。
【0062】
例えば、HighSpeedの実効速度は、最大でも100Mbps未満である。したがって、USBのリンク速度がHighSpeedであれば、有線LANが100BASEであっても有線LAN側がボトルネックとなる可能性が低い。
【0063】
このように、USB−有線LANコンバータ10Aも、有線LAN側の無駄な電力消費を抑えることができる。
【0064】
なお、
図9に示したコントローラ201の動作は、USB−有線LANコンバータ10Aが接続される情報処理装置(PC)側の制御部(ドライバ等)により行うことも可能である。
【0065】
一方、
図8(B)に示すように、USB−無線LANコンバータ10Bは、無線LANコンバータ10のCPU21およびRAM22に代えてコントローラ201を備え、有線通信部25に代えてUSBコネクタ35を備えている。USB−無線LANコンバータ10Bは、USBコネクタ35で受信したデータを無線通信部24から送信し、無線通信部24で受信したデータをUSBコネクタ35から送信することで、USBと無線LANとを相互にデータ送受信可能とする。
【0066】
図10は、USBのリンク速度に合わせて無線LANを制限する場合の動作を示したフローチャートである。まず、コントローラ201は、USBのリンクがあるか否かを判断する(s81)。USBが接続されるまではこの判断を繰り返す。USBのリンクがあると判断した場合、当該USBのリンク速度がLowSpeedまたはFullSpeedであるか否かを判断する(s82)。例えば、FullSpeedの実効速度は、10Mbps程度であるため、無線LANが11a、11b、または11gであっても、無線LAN側がボトルネックとなることはない。したがって、コントローラ201は、USBのリンク速度がLowSpeedまたはFullSpeedである場合、無線通信部24で用いる規格を11a、11b、または11gに制限する(s83)。
【0067】
一方で、コントローラ201は、USBのリンク速度がLowSpeedまたはFullSpeedではないと判断した場合、さらに、USBのリンク速度がHighSpeedであるか否かを判断する(s84)。コントローラ201は、USBのリンク速度がHighSpeedであると判断した場合、無線通信部24で用いる規格を11n(2×2)に制限し(s85)、USBのリンク速度がHighSpeedではない、すなわちSuperSpeedであると判断した場合、無線LAN側の制限は行わない(s86)。
【0068】
HighSpeedの実効速度は、最大でも100Mbps未満であり、11n(2×2)の最大実効速度期待値は、150Mbps程度である。したがって、無線LANが11n(2×2)であっても無線LAN側がボトルネックとなる可能性が低い。
【0069】
このように、USB−無線LANコンバータ10Bも、無線LAN側の無駄な電力消費を抑えることができる。
【0070】
なお、
図10に示したコントローラ201の動作も、USB−無線LANコンバータ10Bが接続されるPC側の制御部(ドライバ等)により行うことも可能である。
【0071】
次に、
図11は、本発明のデータ転送装置の応用例であるSSDの構成を示したブロック図である。SSD50は、コントローラ31、キャッシュメモリ32、記憶部33、およびSATAインタフェース(I/F)39を備えている。
【0072】
コントローラ31は、SSD50を統括的に制御する制御部である。コントローラ31は、SATAI/F39で受信したライトリクエストおよびデータに基づいて、記憶部33にデータを書き込む。また、コントローラ31は、SATAI/F39で受信したリードリクエストに対して、記憶部33からデータを読み出し、SATAI/F39から送信する。
【0073】
この実施形態では、SATAI/F39が本発明における第1のデータ通信部に相当し、コントローラ31が本発明における制御部および第2のデータ通信部に相当する。
【0074】
ここで、記憶部33は、複数のフラッシュROM301〜304を備えている。コントローラ31は、並列書き込み処理または並列読み出し処理を行うことで、データ転送速度を高速化させる処理を行う。
【0075】
しかし、記憶部33とのデータ転送速度が並列か処理により高速化されたとしても、SATAI/F39側のデータ転送速度がボトルネックになり、無駄な高速化処理を行う場合もある。
【0076】
そこで、この実施形態では、SATAI/F39側のデータ転送速度に応じて、並列処理を制限する動作を行う。
【0077】
図12は、コントローラ31の動作を示したフローチャートである。まず、コントローラ31は、SATAのリンクがあるか否かを判断する(s91)。SATAが接続されるまではこの判断を繰り返す。SATAのリンクがあると判断した場合、当該SATAのリンク速度が1.5Gbpsであるか否かを判断する(s92)。SATAのリンク速度が1.5Gbpsであれば、並列処理をオフにする(s93)。なお、この例では、並列処理をオフした場合に、記憶部33とのデータ転送速度が1.5Gbpsを超えるものとして説明するが、並列処理をオフした場合に、記憶部33とのデータ転送速度が1.5Gbps未満となる場合には、例えば並列処理数を制限する動作を行う。
【0078】
一方で、コントローラ31は、SATAのリンク速度が1.5Gbpsではないと判断した場合、さらに、SATAのリンク速度が3.0Gbpsであるか否かを判断する(s94)。コントローラ31は、SATAのリンク速度が3.0Gbpsであると判断した場合、並列処理を制限する(s95)。例えば、最大のチャンネル数が4チャンネルであっても、2チャンネルに制限する。この例では、並列処理を2チャンネルに制限した場合でも、記憶部33とのデータ転送速度が3.0Gbpsを超えるものとして説明するが、2チャンネルに制限した場合に、記憶部33とのデータ転送速度が3.0Gbps未満となる場合には、例えば3チャンネルに制限する動作を行う。
【0079】
一方で、コントローラ31は、SATAのリンク速度が3.0Gbpsではないと判断した場合、並列処理の制限は行わない(s96)。例えば、SATAのリンク速度が6.0Gbpsである場合には、並列処理の制限は行わない。
【0080】
以上のように、SSDのようなデータ転送装置においても、無駄な高速化処理を行わずに、高速化処理に要する電力消費を抑えて、効率化することができる。
【0081】
なお、
図12に示したコントローラ31の動作も、SSD50が接続されるPC側の制御部(ドライバ等)により行うことも可能である。