説明

通信装置及び通信方法

【課題】通信状態の遷移を行うための複数の信号の送受信に関する動作テストを簡易に行うこと。
【解決手段】TXとRXとがループバック径路400で結合されてBIST処理が実行される。この処理の例ではOOB信号制御部204は、TEST用ステートマシーン251の制御により、OOB信号検出部203が検出した「COMWAKE」を無効にする。従ってTEST用ステートマシーン251はステート管理部222に省電力状態から復帰するための制御信号を出力しない。他の例では、省電力状態でTEST用OOB信号生成部214が生成した「COMWAKE」がTXから送信されてRXで受信される。また他の例では、OOB信号制御部204が自発的に「COMWAKE」を受信したように動作し、この情報を受けたTEST用ステートマシーン251が、ステート管理部222に省電力状態から復帰するための制御信号を出力する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、通信相手と通信する通信装置及び通信方法に関し、特に自己完結で通信に関する試験を実行する通信装置及び通信方法に関する。
【背景技術】
【0002】
近年、SATAに代表される所定の規格に基づいたインターフェースの機能を備える機器が増えている。所定の規格に基づくインターフェースに対応した機器が増えることで、これらの機器の利用者は、用途に応じて特定のインターフェースに対応した様々な機器を容易に置き換えて利用することが可能となっている。
【0003】
ところが従来は、これらの機器の製造工程におけるインターフェースの機能テストでは、擬似的な通信相手としてのテスト装置が利用されることが一般的であった。しかし、テスト対象となるインターフェースの規格のバージョンアップやプロトコルの変更が行われると、都度、テスト装置のバージョンアップや置き換えが必要となり製造工程におけるテスト装置の管理が煩雑になっていた。また、テスト装置の利用期間が短いと膨大なコストが必要となっていた。
【0004】
そこで、インターフェースの機能テストを簡易に行うことが求められている。
例えば、特許文献1では、受信インターフェース部と送信インターフェース部とを有する記憶装置におけるそれぞれのインターフェース部のテストを簡易に行う手法が開示されている。このテストは、これらの送信及び受信インターフェース部同士が例えばケーブル等の電気的接続によって直結される状態で行われる。そして、送信インターフェースが送信したコマンドを受信インターフェース部が受信し、この受信したコマンドが記憶装置内部で検証されることでインターフェース部の自己診断によるテストが行われていた。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2009−271594号公報 (図1 段落0016)
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかし特許文献1では、SATA規格におけるOOB(Out Of Band)シーケンスは除外し、汎用的なデータの送受信に関するコマンドを利用して、インターフェース部のテストを行っていた。OOBシーケンスは、SATA規格に基づく通信を行う特定ブロックの初期化及び、省電力状態への遷移又は省電力状態からの復帰のために利用される。このOOBシーケンスは、ホスト側とデバイス側とでやりとりされる複数の信号の、一連の送受信手順である。ところがSATAのインターフェース機能を備える機器では、このOOBシーケンスにおける動作不具合が発生する可能性が大いにあった。
【0007】
すなわち、SATA規格におけるOOBシーケンスといった、送受信を実行するブロックによる通信の状態を示す通信状態の遷移を行うための複数の信号の送受信に関する動作テストを簡易に行うことはできなかった。
【0008】
そこで本発明は上述した課題を解決するために、通信状態の遷移を行うための複数の信号の送受信に関する動作テストを簡易に行うことができる通信装置及び通信方法を提供することを目的とする。
【課題を解決するための手段】
【0009】
本発明は上述した課題を解決するため、コマンドを送信するために利用される送信手段と、前記コマンドを受信するために利用される受信手段と、前記送信手段と前記受信手段とが、複数のコマンドを所定手順で送信及び受信した場合に、前記送信手段及び前記受信手段による通信の状態を示す通信状態を、前記コマンドの送受信が停止する第1の状態から前記コマンドの送受信が定常的に行われる第2の状態へと切り替えるように応答する応答手段と、前記送信手段が送信した前記コマンドを前記受信手段が受信するように構成されたループバック態様の送受信径路を介して、前記送信手段と前記受信手段との間で送受信される前記複数のコマンドに対して前記応答手段が正しく応答するか否かの試験を実行する試験手段と、前記試験手段が実行する試験において、前記送信手段が前記所定のコマンドを送信し、前記送受信径路を介して前記受信手段が当該所定のコマンドを受信し、前記所定のコマンドの受信を無効化し、さらに前記送信手段が前記所定のコマンドに引き続き当該所定のコマンドとは異なるコマンドを送信するように制御する制御手段とを具備することを特徴とする通信装置を提供する。
【0010】
また本発明は上述した課題を解決するため、コマンドを送信し、前記コマンドを受信し、複数のコマンドを所定手順で送信及び受信した場合に、前記送信及び前記受信による通信の状態を示す通信状態を、前記コマンドの送受信が停止する第1の状態から前記コマンドの送受信が定常的に行われる第2の状態へと切り替えるように応答し、送信した前記コマンドを受信するように構成されたループバック態様の送受信径路を介して、送受信される前記複数のコマンドに対して正しく応答するか否かの試験を実行し、実行される試験において、前記所定のコマンドを送信し、前記送受信径路を介して当該所定のコマンドを受信し、前記所定のコマンドの受信を無効化し、さらに前記所定のコマンドに引き続き当該所定のコマンドとは異なるコマンドを送信するように制御することを特徴とする通信方法を提供する。
【0011】
また本発明は上述した課題を解決するため、コマンドを送信するために利用される送信手段と、前記コマンドを受信するために利用される受信手段と、を具備する通信装置において、前記送信手段が送信した前記コマンドを前記受信手段が受信するように構成されたループバック態様の送受信径路を介して、前記送信手段と前記受信手段との間で所定の手順で送受信される、前記送信手段及び前記受信手段による通信の状態を示す通信状態を切り替えるための複数のコマンドに対する応答が正しくなされるか否かが試験される場合、前記送信手段は、当該試験の開始から終了までの間で一度、受信した特定のコマンドに応じて送信されるべきコマンドとは異なるコマンドを送信することを特徴とする通信装置を提供する。
【発明の効果】
【0012】
本発明によれば、通信状態の遷移を行うための複数の信号の送受信に関する動作テストを簡易に行うことができる。
【図面の簡単な説明】
【0013】
【図1】本発明の実施形態に係る通信装置を備える磁気ディスク装置の構成を示すブロック図。
【図2】HDCに備えられ、ホストシステムとの間でSATA規格に基づく通信処理を実行する各ブロックからなるシステム構成図。
【図3】図2で説明したHDCに備えられる各ブロックによって実行される、省電力状態からの復帰のためのOOBシーケンスの動作を説明するためのシーケンス図。
【図4】本実施形態に係るHDDに備えられたHDCが実行するBIST処理の動作を説明するための概念図。
【図5】HDCによって実行される、省電力状態からの復帰のためのデバイス起動によるOOBシーケンスの動作をテストするBIST処理を説明するためのシーケンス図。
【図6】HDCによって実行される、省電力状態からの復帰のためのホスト起動によるOOBシーケンスの動作をテストするBIST処理の第1の例を説明するためのシーケンス図。
【図7】HDCによって実行される、省電力状態からの復帰のためのホスト起動によるOOBシーケンスの動作をテストするBIST処理の第2の例を説明するためのシーケンス図。
【発明を実施するための形態】
【0014】
以下、本発明における実施形態について図面を用いて説明する。
図1は、本発明の実施形態に係る通信装置を備える磁気ディスク装置(以下、HDDとも称する)10の構成を示すブロック図である。このHDD10は、ホストシステム100と通信する電子機器である。
【0015】
本実施形態に係るHDD10は、磁気ディスク1、磁気ヘッド2、アーム3、スピンドルモータ4、VCM(ボイスコイルモータ)5などの機構構造を有する。またHDD10は、モータドライバ21、ヘッドIC22、リードライトチャネルIC(以下、RDCとも称する)31、CPU41、RAM42、NVRAM43、HDC(Hard Disc Controller)50などの回路系の機能ブロックを備える。このHDC50は、PHY(Physical Layer)52及びLinkLayer54と呼ばれる階層ブロックで構成されている。
【0016】
本実施形態に係るHDD10は、HDD10の外部のホストシステム100と通信し、この通信に応じて所定の処理を実行する。またホストシステム100との通信規格では、複数の通信状態が定義されていて、これら複数の通信状態は、所定手順の通信シーケンスによって遷移する(切り替える)ことができる。この通信状態は、送受信を実行するブロックによる通信の状態を示すものである。
【0017】
磁気ディスク1は、スピンドルモータ4に固定され、このスピンドルモータ4が駆動することで回転する。また磁気ディスク1の少なくとも1面は磁気記録される記録面である。
【0018】
磁気ヘッド2は、磁気ディスク1の記録面に対応するようにアーム3の一端に備えられる。この磁気ヘッド2は、磁気ディスク1の記録面に磁気記録された信号を読み取って、この読み取った信号をヘッドIC22へ出力する。また磁気ヘッド2は、ヘッドIC22から入力されたライト信号(ライト電流)に応じて、磁気ディスク1の記録面に磁気記録する。
【0019】
アーム3は、一端に磁気ヘッド2を備えている。このアーム3は、VCM5が駆動されることで、磁気ヘッド2が磁気ディスク1の記録面上を半径方向に移動するように、磁気ヘッド2が備えられる一端とは逆の一端を軸として回転する。
【0020】
スピンドルモータ4は、モータドライバ21から入力される駆動信号に応じて駆動し、磁気ディスク1を回転させる。
VCM5は、モータドライバ21から入力される駆動信号に応じて駆動し、アーム3を回転させる。
モータドライバ21は、CPU41からの制御に基づいて、スピンドルモータ4及びVCM5を駆動するための駆動信号を、スピンドルモータ4及びVCM5それぞれへ出力する。
【0021】
ヘッドIC22は、磁気ヘッド2から入力された信号を増幅し、この増幅した信号を読み出し情報としてRDC31へ出力する。またヘッドIC22は、RDC31から入力された記録情報に応じたライト信号(ライト電流)を磁気ヘッド2へ出力する。
【0022】
RDC31は、ヘッドIC22から入力された読み出し情報に所定の処理を施して復号化し、この復号化した情報を転送情報としてHDC50へ出力する。またRDC31は、HDC50から入力された記録すべき情報に所定の処理を施して符号化し、この符号化した情報を記録情報としてヘッドIC22へ出力する。このRDC31は、符号化及び復号化のための所定の処理において、RAM42をワークメモリとして利用する。
【0023】
CPU41は、NVRAM43に記憶されたプログラムに従って、HDD10に備えられた各ブロックを制御する。このCPU41は、HDC50がホストシステム100から受信した情報に応じて所定の処理を行うプロセッサである。CPU41は、プログラムの実行においてRAM42をワークメモリとして利用する。
【0024】
RAM42は、RDC31、CPU41及びHDC50のワークメモリである。
NVRAM43は、CPU41が実行するプログラムを記憶する不揮発性メモリである。NVRAM43に記憶されるプログラムは更新されることが可能である。
HDC50は、ホストシステム100との間で情報を送受信する通信処理を実行する。HDC50は、RDC31から入力された転送情報に所定の処理を施して符号化し、この符号化した情報を送信情報としてホストシステム100へ送信する。またHDC50は、ホストシステム100から受信した受信情報に所定の処理を施して復号化し、この復号化した情報を記録すべき情報としてRDC31へ出力する。さらにHDC50は、HDC50内部で生成した特定の信号をホストシステム100へ出力し、またホストシステム100から特定の信号が入力されたことを検出して所定の処理を実行する。HDC50はRDC31との間で情報をやりとりするのではなく、RAM42との間で直接的に情報をやりとりすることも可能である。このHDC50とホストシステム100との間には、送信用の通信径路と受信用の通信径路とが個別に設けられている。またHDC50は、CPU41の制御によって、ホストシステム100との間の情報の送受信に関する自己診断の処理を実行する。
【0025】
本実施形態ではHDC50は、ホストシステム100との間でSATA(Serial Advanced
Technology Attachment)規格に準拠した通信処理を実行する。またHDC50は、SATA規格の自己診断機能であるBIST(Built In Self Test)の処理を実行する。このHDC50は、特にループバック態様のBISTの処理を実行する。すなわちHDC50は、本実施形態に係る通信装置として機能する。
【0026】
HDC50の階層ブロックであるPHY52はSATA規格に準拠した物理層である。PHY52は、LinkLayer54から入力された情報をSATA規格に準じたシリアル信号となるように変換し、変換されたシリアル信号を送信用の通信径路を介してホストシステム100へ送信する。またPHY52は、ホストシステム100から受信用の通信径路を介して受信されたSATA規格に準じた信号に所定の処理を施し、この処理によって得られた情報をLinkLayer54へ出力する。
【0027】
LinkLayer54はSATA規格に準拠した複数の階層ブロックのうちの一つの階層ブロックである。LinkLayer54は、PHY52から入力された情報に所定の処理を施し、この処理によって得られた情報をトランスポート層(不図示)へ出力する。またLinkLayer54は、トランスポート層(不図示)から入力された情報に所定の処理を施し、この処理によって得られた情報をPHY52へ出力する。
【0028】
本実施形態では、LinkLayer54は、PHY52を介してホストシステム100とやりとりされる特定パターンの信号シーケンスによって、SATA規格の通信における通信状態を切り替える処理を実行する。具体的には、通信状態は、SATA規格における通常の通信状態である「PHYRDY」、省電力の通信状態である「PARTIAL/SLUMBER」が適用される。この「PHYRDY」と称されるステイタスは、信号の送受信が定常的に行われる状態である。「PARTIAL/SLUMBER」と称されるステイタスは、信号の送受信が停止している状態である。またこれら複数の通信状態は、主にPHY52の動作状態を切り替えることで実現される。
【0029】
なお本実施形態は、本発明の実施形態に係る通信装置がSATA規格に準拠した通信処理を実行する例であるが、これに限定されるものではない。例えば本実施形態に係る通信装置が、送信用の通信径路と受信用の通信径路とが個別に設けられている構成であれば適用可能である。
【0030】
また本実施形態は、本発明に係る構成を適用した電子機器としてHDD10を例とした実施形態であるが、これに限定されるものではない。例えば本実施形態に係る構成が、光ディスク/光磁気ディスクドライブ、SSD(Solid State Drive)などの電子機器に適用された実施形態であっても構わない。
【0031】
このような構成により、本発明の実施形態に係るHDD10に備えられた複数のブロックが、HDD10の外部のホストシステム100と通信し、この通信でやりとりされる情報に応じて所定の処理を実行する。また本実施形態に係る、ホストシステム100との通信に利用されるSATA規格では、「PHYRDY」及び「PARTIAL/SLUMBER」といった複数の通信状態が定義されている。そしてこれら複数の通信状態は、HDD10とホストシステム100との間における、複数の信号の一連の送受信手順によって遷移することができる。また本実施形態では、SATA規格に基づくBISTの処理の実行が可能である。従って本実施形態に係るHDD10によれば、通信状態の遷移を行うための複数の信号の送受信に関する動作テストを行うことができる。これらの処理は、主にHDC50が複数の処理を実行することで実現される。
【0032】
次に、図2を用いて、図1で説明したHDC50に備えられ、ホストシステム100との間でSATA規格に基づく通信処理を実行する各ブロックを説明する。
図2は、HDC50に備えられ、ホストシステム100との間でSATA規格に基づく通信処理を実行する各ブロックからなるシステム構成図である。
前述したとおり本実施形態に係るHDD10における通信処理は、送信用の通信径路と受信用の通信径路とが個別に設けられている構成で実行される。また、HDD10とホストシステム100との間におけるOOB(Out Of Band)シーケンスの一部によって、HDD10は、「PHYRDY」及び「PARTIAL/SLUMBER」といった複数の通信状態の遷移を行うことができる。このOOBシーケンスは、SATA規格に基づく通信を行う特定ブロックの省電力状態への遷移又は省電力状態からの復帰のために利用される。この「PARTIAL/SLUMBER」の通信状態は省電力状態である。またOOBシーケンスは、SATA規格に基づくホスト側とデバイス側とでやりとりされる複数の信号の一連の送受信手順である。さらに本実施形態に係るHDD10は、OOBシーケンスの動作をループバック態様のBISTによってテストすることが可能である。すなわち、主に図2に示したシステム構成図によって、これらの処理が実行される。
【0033】
HDC50は、PHY52とLinkLayer54とを含んで構成されている。
PHY52は、受信AMP201、デシリアライザ202、OOB信号検出部203、OOB信号制御部204、送信AMP211、シリアライザ212、通常用OOB信号生成部213、TEST用OOB信号生成部214、TEST用PLL215、通常用PLL221、ステート管理部222などを備えている。
【0034】
LinkLayer54は、受信バッファ231、復号化部232、MUX233、送信バッファ241、符号化部242、MUX243、TEST用ステートマシーン251などを備えている。
【0035】
受信AMP201は、HDC50の外部から受信したSATA規格に準拠したRX信号を増幅し、増幅して得られた受信信号をデシリアライザ202及びOOB信号検出部203へ出力する。このRX信号は受信信号を示す。
【0036】
デシリアライザ202は、受信AMP201から入力された受信信号から必要な情報を抽出し、この抽出した情報を所定量単位でLinkLayer54の受信バッファ231へ出力する。
【0037】
OOB信号検出部203は、受信AMP201から入力された受信信号がOOB信号であるか否かを検出する。OOB信号は、OOBシーケンスで利用される、「COMRESET」、「COMINT」及び「COMWAKE」と称されるコマンドを示す信号である。OOB信号検出部203は、受信信号がOOB信号であることを検出すると、検出したOOB信号をOOB信号制御部204へ出力する。
【0038】
OOB信号制御部204は、LinkLayer54のTEST用ステートマシーン251からの制御に基づいて、OOB信号検出部203から入力されたOOB信号をステート管理部222へ出力するか否かを制御する。またOOB信号制御部204は、LinkLayer54のTEST用ステートマシーン251からの制御に基づいて、自発的に特定のOOB信号をステート管理部222へ出力する。
【0039】
送信AMP211は、シリアライザ212、通常用OOB信号生成部213又はTEST用OOB信号生成部214から入力された信号を、SATA規格に準拠したTX信号に変換してHDC50の外部へ送信する。このTX信号は送信信号を示す。
【0040】
シリアライザ212は、LinkLayer54の送信バッファ241から所定量単位で入力された複数の情報に所定の付加情報を付与してシリアル化し、このシリアル化した情報を送信AMP211へ出力する。
【0041】
通常用OOB信号生成部213は、ステート管理部222からの制御に応じてOOB信号を生成し、生成したOOB信号を送信AMP211へ出力する。
TEST用OOB信号生成部214は、BISTの処理において、TEST用ステートマシーン251からの制御に応じて所定のOOB信号を生成し、生成したOOB信号を送信AMP211へ出力する。本実施形態ではTEST用OOB信号生成部214は、BISTの処理が実行される場合に動作するように制御される。
【0042】
TEST用PLL215は、TEST用OOB信号生成部214及びOOB信号検出部203の動作の基準クロックとなるクロック信号を生成する。そしてTEST用PLL215は、生成したクロック信号をTEST用OOB信号生成部214及びOOB信号検出部203へ供給する。TEST用PLL215は、TEST用ステートマシーン251からの制御に基づいて動作又は動作停止する。本実施形態ではTEST用PLL215は、BISTの処理が実行される場合に動作するように制御される。
【0043】
通常用PLL221は、デシリアライザ202、OOB信号検出部203、シリアライザ212及び通常用OOB信号生成部213を含む複数のブロックの動作の基準クロックとなるクロック信号を生成する。そして通常用PLL221は、生成したクロック信号を対応するそれぞれのブロックへ供給する。通常用PLL221は、ステート管理部222からの制御に基づいて動作又は動作停止する。本実施形態では通常用PLL221は、通信状態が「PHYRDY」及び「PARTIAL」の場合に動作し、「SLUMBER」の場合に動作停止するように制御される。
【0044】
ステート管理部222は、TEST用ステートマシーン251からの制御に基づいてPHY52の動作状態を制御する。例えばステート管理部222は、通信状態が「SLUMBER」に対応するようにPHY52の動作状態を制御する場合、少なくとも通常用PLL221及び通常用OOB信号生成部213が動作停止するように制御する。またステート管理部222は、OOB信号制御部204から入力されたOOB信号をTEST用ステートマシーン251に出力する。
【0045】
受信バッファ231は、デシリアライザ202から所定量単位で入力された情報をスタックする。そして受信バッファ231は、スタックした情報をFIFO方式で復号化部232へ順次出力する。
【0046】
復号化部232は、受信バッファ231から順次入力された情報を復号化する。本実施形態では復号化部232は、SATA規格に準拠した10B/8Bデコーダ及びデスクランブラを含むブロックとして機能する。復号化部232は、復号化した情報をMUX233へ出力する。
【0047】
MUX233は、復号化部232から入力された情報をトランスポート層(不図示)又はTEST用ステートマシーン251へ出力する。MUX233が何れのブロックへ出力するかは、TEST用ステートマシーン251又は通常動作で利用されるステートマシーン(不図示)によって制御される。
【0048】
送信バッファ241は、符号化部242から所定量単位で入力された情報をスタックする。そして送信バッファ241は、スタックした情報をFIFO方式でシリアライザ212へ順次出力する。
【0049】
符号化部242は、MUX243から入力された情報を符号化する。本実施形態では符号化部242は、SATA規格に準拠した8B/10Bエンコーダ及びスクランブラを含むブロックとして機能する。符号化部242は、符号化した情報を送信バッファ241へ出力する。
【0050】
MUX243は、トランスポート層(不図示)又はTEST用ステートマシーン251から入力された情報を符号化部242へ出力する。MUX243が何れのブロックから入力するかは、TEST用ステートマシーン251又は通常動作で利用されるステートマシーン(不図示)によって制御される。
【0051】
TEST用ステートマシーン251は、OOBシーケンスの動作に係るBISTの処理を実行するための、複数の信号の一連の送受信手順及びPHY52に対する制御手順が定義された手順回路である。このTEST用ステートマシーン251は、MUX233から入力された情報に対して応答すべき情報を所定の送受信手順に従ってMUX243へ出力する。TEST用ステートマシーン251は、ステート管理部222へ所定の情報を出力することでPHY52の動作状態を制御する。またTEST用ステートマシーン251は、PHY52の動作状態の制御と併せて、OOB信号制御部204、TEST用OOB信号生成部214及びTEST用PLL215それぞれに対して、それぞれのブロックを制御するための情報を出力する。さらにTEST用ステートマシーン251は、ステート管理部222から入力されたOOB信号に応じて、PHY52の動作状態を制御するための情報をステート管理部222へ出力する。またTEST用ステートマシーン251は、ステート管理部222から入力された特定のOOB信号に応じて応答すべき情報をMUX243へ出力する。
【0052】
なお、OOB信号制御部204が備えられる実施形態ではなく、OOB信号制御部204が実行する処理を、OOB信号検出部203、ステート管理部222、又はTEST用ステートマシーン251が実行する実施形態であってもよい。
【0053】
すなわち、これら複数のブロックによるシステム構成により、HDC50は、SATA規格に基づくOOBシーケンスの動作をBISTによってテストすることができる。このOOBシーケンスの動作に対するBISTの処理は、主にLinkLayer54に備えられるTEST用ステートマシーン251がPHY52の動作状態を制御することで実現される。従って本実施形態に係るHDD10は、通信状態の遷移を行うための複数の信号の送受信に関する動作テストを行うことができる。
【0054】
次に、図3を用いて、図2で説明したHDC50に備えられる各ブロックによって実行される、省電力状態からの復帰のためのOOBシーケンスの動作を説明する。
図3は、図2で説明したHDC50に備えられる各ブロックによって実行される、省電力状態からの復帰のためのOOBシーケンスの動作を説明するためのシーケンス図である。
【0055】
SATA規格では、省電力状態からの復帰のためのOOBシーケンスは、ホストとデバイスとの間でやりとりされる複数の信号の一連の送受信手順として定義される。前述したようにOOBシーケンスでは、「COMRESET」、「COMINT」及び「COMWAKE」と称されるコマンドを示す信号が利用される。また、省電力状態からの復帰のためのOOBシーケンスの起動は、ホスト起動とデバイス起動の2つの起動方式が定義されている。
【0056】
ホストとデバイスとの間は、ホストからのTX信号がデバイスへのRX信号となるように接続され、ホストへのRX信号がデバイスからのTX信号となるように接続される。これ以降の説明では、ホスト及びデバイスからTX信号を送信する径路又は端子をTX、ホスト及びデバイスからRX信号を受信する径路又は端子をRXと称する。すなわち、ホストのTXから送信された信号はデバイスのRXで受信され、デバイスのTXから送信された信号はホストのRXで受信されることになる。
【0057】
そしてHDC50は、これ以降で説明するOOBシーケンスに基づく信号の送受信が行われた場合、HDC50自身の通信状態を「PHYRDY」から「PARTIAL/SLUMBER」へと切り替えるように応答する。
【0058】
図3(a)に示すホスト起動は、ホスト及びデバイスそれぞれの通信状態が省電力状態で開始される。
まず、ホストからデバイスへ「COMWAKE」を示す信号が送信される(S301)。そして、ホストからの「COMWAKE」を受信したデバイスからホストへ、「COMWAKE」を示す信号が送信される(S311)。ホストから送信される「COMWAKE」とデバイスから送信される「COMWAKE」とは同じ信号である。このような「COMWAKE」の双方向の送受信によって、ホスト及びデバイスは省電力状態から復帰する。
【0059】
デバイスは、「COMWAKE」を送信(S302)した後、所定時間経過してから「ALIGNp」を示す信号をホストへ送信する(S312)。この「ALIGNp」は「ALIGN」プリミティブを示している。プリミティブは、SATA規格における通信プロトコルの構成要素である。デバイスからの「ALIGNp」を受信したホストは、「ALIGNp」を示す信号をデバイスへ送信する(S302)。
【0060】
その後は、デバイスからホストへ「SYNCp」を示す信号が送信され(S313)、ホストからデバイスへ「SYNCp」を示す信号が送信される(S303)。この「SYNCp」は「SYNC」プリミティブを示している。
【0061】
このように、ホストとデバイスとの間の「ALIGNp」及び「SYNCp」の双方向の送受信後に、ホストとデバイスとの間の通常状態における情報の送受信ができるようになる。
【0062】
図3(b)に示すデバイス起動も、ホスト及びデバイスそれぞれの通信状態が省電力状態で開始される。
デバイス起動では、まずデバイスからホストへ「COMWAKE」を示す信号が送信される(S321)。そしてデバイスからホストへの「COMWAKE」の送受信によって、ホスト及びデバイスは省電力状態から復帰する。
【0063】
その後はホスト起動と同様に、デバイスからホストへ「ALIGNp」を示す信号が送信され(S322)、ホストからデバイスへ「ALIGNp」を示す信号が送信される(S331)。また、デバイスからホストへ「SYNCp」を示す信号が送信され(S323)、ホストからデバイスへ「SYNCp」を示す信号が送信される(S332)。
【0064】
そして、ホストとデバイスとの間の「ALIGNp」及び「SYNCp」の双方向の送受信後に、ホストとデバイスとの間の通常状態における情報の送受信ができるようになる。
【0065】
このようにして、ホストとデバイスとが通信可能に接続されている状態で、OOBシーケンスに基づく複数の信号がやりとりされる。そして本実施形態に係るHDD10は、省電力状態である「PARTIAL/SLUMBER」から「PHYRDY」に復帰することができる。
【0066】
次に、図4を用いて、本実施形態に係るHDD10に備えられたHDC50が実行するBIST処理の動作を説明する。
図4は、本実施形態に係るHDD10に備えられたHDC50が実行するBIST処理の動作を説明するための概念図である。
HDC50の送信用の通信径路であるTXと受信用の通信径路であるRXは、ルーバック態様の通信径路であるループバック径路400で接続される。このようにしてTXとRXとが接続されることで、TXから出力された信号はループバック径路400を介してRXで受信される。
【0067】
すなわち、本実施形態に係るHDD10に備えられたHDC50によるBIST処理は、TXとRXとが結線された状態で実行される。このBIST処理は、OOBシーケンスに基づく信号の送受信が行われた場合に、HDC50が、HDC50自身の通信状態を正しく切り替えるように応答するか否かを試験するものである。換言すると、HDC50はBIST処理によってOOBシーケンスに関する応答を自己診断することができる。
【0068】
なお図4に示す概念図では、ループバック径路400がHDC50の外部でTXとRXとを結線する実施形態を示したが、ループバック径路400がHDC50の内部でTXとRXとを結線する実施形態であってもよい。
このような状態で、本実施形態に係るHDC50は、これ以降で説明されるOOBシーケンスの動作をテストするためのBIST処理を実行する。
【0069】
(デバイス起動のOOBシーケンスをテストするBIST処理)
次に、図5を用いて、HDC50によって実行される、省電力状態からの復帰のためのデバイス起動によるOOBシーケンスの動作をテストするBIST処理を説明する。
【0070】
図5は、HDC50によって実行される、省電力状態からの復帰のためのデバイス起動によるOOBシーケンスの動作をテストするBIST処理を説明するためのシーケンス図である。
【0071】
このBIST処理では、HDC50はデバイスとして動作する。また図4に示したように、HDC50のTXはループバック径路400を介してHDC50自身のRXに信号を送信するため、実体としてのホストは存在せず仮想ホストが存在することになる。すなわち、本実施形態におけるデバイス起動によるOOBシーケンスの動作をテストするBIST処理では、デバイスであるHDC50が仮想ホストと通信すると共に、HDC50が起点となって省電力状態から復帰する動作をテストすることになる。
【0072】
すなわち、HDC50のTXとRXとが結線された状態で、所定の手続きによってHDC50はBIST処理を開始する。またこのとき通信状態は、省電力状態である「PARTIAL」又は「SLUMBER」である。そしてLinkLayer54の特定のブロックは、「PARTIAL」又は「SLUMBER」に対応する動作状態となるようにPHY52を制御している。この制御は、ステート管理部222に対する「PARTIAL」又は「SLUMBER」に対応する専用の制御信号をアサートすることで実現可能となる。
【0073】
このBIST処理が開始されると、まずLinkLayer54のTEST用ステートマシーン251は、PHY52が「PARTIAL」又は「SLUMBER」に応じた動作状態になるための制御信号をデアサートする(S501)。ステート管理部222は、「PARTIAL」に対応する制御信号がデアサートされると、通常用OOB信号生成部213が動作するように制御する。またステート管理部222は、「SLUMBER」に対応する制御信号がデアサートされると、通常用OOB信号生成部213及び通常用PLL221が動作するように制御する。このようにしてPHY52は、「PARTIAL」又は「SLUMBER」に応じた動作状態から「PHYRDY」に応じた動作状態へ遷移することができる。
【0074】
そしてステート管理部222からの制御に基づいて、通常用OOB信号生成部213が生成した「COMWAKE」を示す信号が、送信AMP211を介してTX信号としてTXから仮想ホストへ送信される(S502)。この「COMWAKE」は、ループバック径路400を介してRX信号としてRXで受信される。
【0075】
通常動作において、デバイスのRXが「COMWAKE」を受信すると、図3(a)に示したホスト起動のOOBシーケンスのように、ホストに対して「COMWAKE」を送信する。しかし本実施形態に係るBIST処置では、RXで受信された「COMWAKE」は無効化されるように処理される(S503)。
【0076】
具体的には次のような動作が実行される。まずOOB信号検出部203が、受信AMP201を介して受信された「COMWAKE」を検出する。そしてOOB信号検出部203は、検出した「COMWAKE」をOOB信号制御部204へ出力する。OOB信号制御部204は、TEST用ステートマシーン251からの制御に基づいて、入力されたOOB信号をステート管理部222へ出力しないように動作する。すなわちOOB信号制御部204は、RX信号として受信された「COMWAKE」を無効化する。このようにして、このBIST処理では、「COMWAKE」の送受信が繰り返されることを回避する。
【0077】
TEST用ステートマシーン251は、PHY52に対して「PARTIAL」又は「SLUMBER」に対応する制御信号をデアサートしてから所定時間が経過した後、「ALIGNp」を示す信号をMUX243へ出力する。この「ALIGNp」は、MUX243、符号化部242、送信バッファ241を介してシリアライザ212へ入力される。さらに「ALIGNp」は、シリアライザ212、送信AMP211を介してTX信号としてTXから仮想ホストへ送信される(S504)。
【0078】
そして、この「ALIGNp」は、ループバック径路400を介してRX信号としてRXで受信される。受信された「ALIGNp」を示す信号は、受信AMP201、デシリアライザ202を介して受信バッファ231へ入力される。さらに「ALIGNp」は、受信バッファ231、復号化部232、MUX233を介してTEST用ステートマシーン251へ入力される。そしてTEST用ステートマシーン251は「ALIGNp」の入力に応じて、継続する所定の処理を実行する。このようにしてデバイスとしてのHDC50は、仮想ホストとの間で、あたかも「ALIGNp」の送受信を行ったかのように動作することができる。
【0079】
TEST用ステートマシーン251は、仮想ホストからの「ALIGNp」を入力されてから所定時間が経過した後、「SYNCp」を示す信号をMUX243へ出力する。この「SYNCp」も前述した「ALYGNp」と同様に、仮想ホストに対して送信される(S505)。さらに「SYNCp」は、仮想ホストから送信された信号としてRXで受信され、TEST用ステートマシーン251で処理される。そしてデバイスとしてのHDC50は、仮想ホストとの間で、「ALIGNp」に引き続いて「SYNCp」の送受信を行ったかのように動作することができる。
【0080】
すなわち、デバイス起動によるOOBシーケンスの動作をテストするBIST処理は、「COMWAKE」の送信に引き続き、「COMWAKE」とは異なる「ALIGNp」を送信するタイミングで、「COMWAKE」の受信が無効化されることで実現される。換言すると、このBIST処理は、この処理の開始から終了までの間で一度、受信した「COMWAKE」に応じて送信されるべき「COMWAKE」とは異なる「ALIGNp」が送信されることで実現される。
【0081】
このようにしてHDC50は、仮想ホストから受信した特定のプリミティブを無効化することで、継続するプリミティブを所定手順で送受信することができる。またHDC50は、送信したプリミティブをループバック径路400を介して受信するので、仮想ホストに対するプリミティブの送信と仮想ホストからのプリミティブの受信とから成る一連の動作を実行することができる。従って本実施形態に係るHDC50は、通信状態の遷移を行うための複数の信号の送受信に関する動作テストを簡易に行うことができる。
【0082】
(ホスト起動のOOBシーケンスをテストするBIST処理(第1の例))
次に、図6を用いて、HDC50によって実行される、省電力状態からの復帰のためのホスト起動によるOOBシーケンスの動作をテストするBIST処理を説明する。
【0083】
図6は、HDC50によって実行される、省電力状態からの復帰のためのホスト起動によるOOBシーケンスの動作をテストするBIST処理の第1の例を説明するためのシーケンス図である。
【0084】
このBIST処理の第1の例では、HDC50はデバイスとして動作する。また図4に示したように、HDC50のTXはループバック径路400を介してHDC50自身のRXに信号を送信するため、実体としてのホストは存在せず仮想ホストが存在することになる。すなわち、本実施形態におけるホスト起動によるOOBシーケンスの動作をテストするBIST処理の第1の例では、デバイスであるHDC50が仮想ホストと通信すると共に、仮想ホストが起点となって省電力状態から復帰する動作をテストすることになる。
【0085】
すなわち、HDC50のTXとRXとが結線された状態で、所定の手続きによってHDC50はBIST処理を開始する。またこのとき通信状態は、省電力状態である「PARTIAL」又は「SLUMBER」である。LinkLayer54の特定のブロックが、「PARTIAL」又は「SLUMBER」に対応する動作状態となるようにPHY52を制御している。
【0086】
BIST処理が開始されると、まずLinkLayer54のTEST用ステートマシーン251は、PHY52を「PARTIAL」又は「SLUMBER」に対応する動作状態としたまま、TEST用OOB信号生成部214及びTEST用PLL215を起動する(S601)。ここで、PHY52が「SLUMBER」に対応する動作状態となっている場合には、通常用PLL221が停止しているので、TEST用PLL215の起動は必須となる。しかしPHY52が「PARTIAL」に対応する動作状態となっている場合、TEST用OOB信号生成部214が通常用PLL221からのクロック信号を受けることが可能であれば、TEST用PLL215の起動は不要となる。
【0087】
起動されたTEST用OOB信号生成部214は、「COMWAKE」を示す信号を生成する。そして生成された「COMWAKE」を示す信号は、送信AMP211を介してTX信号としてTXから仮想ホストへ送信される(S602)。そして、この「COMWAKE」は、ループバック径路400を介してRX信号としてRXで受信される。さらに受信AMP201で受信された「COMWAKE」は、仮想ホストから送信された「COMWAKE」としてOOB信号検出部203で検出される(S603)。すなわち、OOBシーケンスの先頭のコマンドとして仮想ホストから送信された「COMWAKE」が検出されることで、ホスト起動のOOBシーケンスが開始される。
【0088】
OOB信号検出部203で検出された「COMWAKE」は、OOB信号制御部204へ出力される。このときOOB信号制御部204は、TEST用ステートマシーン251からの制御に基づいて、入力されたOOB信号をステート管理部222へ出力するように動作する。すなわちOOB信号制御部204は、入力された「COMWAKE」をステート管理部222へ出力する。
【0089】
ステート管理部222は、OOB信号制御部204から入力された「COMWAKE」が検出されたことを示す制御信号を、TEST用ステートマシーン251へ出力する。そしてTEST用ステートマシーン251は、PHY52が「PARTIAL」又は「SLUMBER」に応じた動作状態になるための制御信号をデアサートする(S604)。このようにしてPHY52は、「PARTIAL」又は「SLUMBER」に応じた動作状態から「PHYRDY」に応じた動作状態へ遷移することができる。これ以降の動作は、図5に示した、デバイス起動のOOBシーケンスをテストするBIST処理と同様である。
【0090】
すなわち、通常用OOB信号生成部213が生成した「COMWAKE」が、デバイスからの応答として送信AMP211から仮想ホストへ送信される(S605)。この「COMWAKE」は、ループバック回路400を介して受信AMP201で受信されるが、OOB信号制御部204によって無効化される(S606)。すなわちこのタイミングでは、OOB信号制御部204は、TEST用ステートマシーン251からの制御により、入力されたOOB信号をステート管理部222へ出力しないように動作している。このようにしてこのBIST処理でも、「COMWAKE」の送受信が繰り返されることが回避される。
【0091】
TEST用ステートマシーン251は、所定時間が経過した後、「ALIGNp」を示す信号をMUX243へ出力する。この「ALIGNp」は、送信AMP211から仮想ホストへ送信される(S607)。送信された「ALIGNp」は、ループバック径路400を介して受信AMP201へ戻されて、TEST用ステートマシーン251へ入力される。
【0092】
TEST用ステートマシーン251は、所定時間が経過した後、「SYNCp」を示す信号をMUX243へ出力する。この「SYNCp」は、送信AMP211Xから仮想ホストへ送信される(S608)。送信された「SYNCp」は、ループバック径路400を介して受信AMP201へ戻されて、TEST用ステートマシーン251へ入力される。
【0093】
ホスト起動によるOOBシーケンスの動作をテストするBIST処理の第1の例においては、処理の開始から終了の間で「COMWAKE」は2回送信されて、その後は、継続するプリミティブである「ALIGNp」が送信される。すなわち、ホスト起動によるOOBシーケンスの動作をテストするBIST処理の第1の例は、「COMWAKE」の送信に引き続き、「COMWAKE」とは異なる「ALIGNp」を送信するタイミングで、「COMWAKE」の受信が無効化されることで実現される。換言すると、このBIST処理は、この処理の開始から終了までの間で一度、受信した「COMWAKE」に応じて送信されるべき「COMWAKE」とは異なる「ALIGNp」が送信されることで実現される。
【0094】
このようにしてHDC50は、HDC50自身が送信したプリミティブを仮想ホストから送信されたプリミティブとして受信することで、ホスト起動のOOBシーケンスを開始することができる。また仮想ホストから受信した所定のプリミティブを所定のタイミングで無効化することで、継続するプリミティブを所定手順で送受信することができる。さらにHDC50は、送信したプリミティブをループバック径路400を介して受信するので、仮想ホストに対するプリミティブの送信と仮想ホストからのプリミティブの受信とから成る一連の動作を実行することができる。従って本実施形態に係るHDC50は、通信状態の遷移を行うための複数の信号の送受信に関する動作テストを簡易に行うことができる。
【0095】
(ホスト起動のOOBシーケンスをテストするBIST処理(第2の例))
次に、図7を用いて、HDC50によって実行される、省電力状態からの復帰のためのホスト起動によるOOBシーケンスの動作をテストするBIST処理を説明する。
【0096】
図7は、HDC50によって実行される、省電力状態からの復帰のためのホスト起動によるOOBシーケンスの動作をテストするBIST処理の第2の例を説明するためのシーケンス図である。
【0097】
このホスト起動に係るBIST処理の第2の例でも、HDC50はデバイスとして動作する。また図4に示したように、HDC50のTXとRXとはループバック径路400を介して接続されている。すなわち、ホスト起動に係るBIST処理の第2の例でも、デバイスであるHDC50が仮想ホストと通信すると共に、仮想ホストが起点となって省電力状態から復帰する動作をテストすることになる。このホスト起動に係るBIST処理の第2の例は、前述したホスト起動に係るBIST処理の第1の例と略同様の動作を行うが、BIST処理の起点となる動作が異なるものである。
【0098】
HDC50のTXとRXとが結線された状態で、所定の手続きによってHDC50はBIST処理を開始する。またこのとき通信状態は、省電力状態である「PARTIAL」又は「SLUMBER」である。LinkLayer54の特定のブロックが、「PARTIAL」又は「SLUMBER」に対応する動作状態となるようにPHY52を制御している。
【0099】
BIST処理が開始されると、まずLinkLayer54のTEST用ステートマシーン251は、PHY52を「PARTIAL」又は「SLUMBER」に対応する動作状態としたまま、OOB信号制御部204を制御する。OOB信号制御部204は、TEST用ステートマシーン251からの制御によって、自発的に「COMWAKE」が検出されたことを示す信号をステート管理部222へ出力する(S701)。すなわちステート管理部222は、OOB信号制御部204から「COMWAKE」が検出されたことを示す制御信号を入力される。すなわち、OOBシーケンスの先頭のコマンドとしてホストから送信された「COMWAKE」が検出されることで、ホスト起動のOOBシーケンスが開始される。
【0100】
ステート管理部222は、OOB信号制御部204から入力された「COMWAKE」が検出されたことを示す制御信号を、TEST用ステートマシーン251へ出力する。そしてTEST用ステートマシーン251は、PHY52が「PARTIAL」又は「SLUMBER」に応じた動作状態になるための制御信号をデアサートする(S702)。このようにしてPHY52は、「PARTIAL」又は「SLUMBER」に応じた動作状態から「PHYRDY」に応じた動作状態へ遷移することができる。これ以降の動作は、図5に示したデバイス起動のOOBシーケンスをテストするBIST処理と同様である。
【0101】
すなわち、デバイスからの応答として通常用OOB信号生成部213が生成した「COMWAKE」が、送信AMP211から仮想ホストへ送信される(S703)。この「COMWAKE」は、ループバック回路400を介して受信AMP201で受信されるが、OOB信号制御部204によって無効化される(S704)。すなわちこのタイミングでは、OOB信号制御部204は、TEST用ステートマシーン251からの制御により、入力されたOOB信号をステート管理部222へ出力しないように動作している。このようにしてこのBIST処理でも、「COMWAKE」の送受信が繰り返されることが回避される。
【0102】
TEST用ステートマシーン251は、所定時間が経過した後、「ALIGNp」を示す信号をMUX243へ出力する。この「ALIGNp」は、送信AMP211から仮想ホストへ送信される(S705)。送信された「ALIGNp」は、ループバック径路400を介して受信AMP201へ戻されて、TEST用ステートマシーン251へ入力される。
【0103】
TEST用ステートマシーン251は、所定時間が経過した後、「SYNCp」を示す信号をMUX243へ出力する。この「SYNCp」は、送信AMP211Xから仮想ホストへ送信される(S706)。送信された「SYNCp」は、ループバック径路400を介して受信AMP201へ戻されて、TEST用ステートマシーン251へ入力される。
【0104】
なお、OOB信号制御部204が自発的に「COMWAKE」が検出されたことを示す信号をステート管理部222へ出力することがBIST処理の起点となる実施形態を説明したが、他の実施例でも構わない。例えば、OOB信号検出部203が、自発的に「COMWAKE」が検出されたことを示す信号をOOB信号制御部204へ出力する構成であってもよい。また、ステート管理部222又はTEST用ステートマシーン251が「COMWAKE」が検出されたことを示す信号を擬似的に入力される構成としてもよい。何れの構成でも、このホスト起動に係るBIST処理の第2の例を実現することはできるが、PHY52が備えるブロックが起点となることが好ましい。
【0105】
すなわち、ホスト起動によるOOBシーケンスの動作をテストするBIST処理の第2の例は、「COMWAKE」の送信に引き続き、「COMWAKE」とは異なる「ALIGNp」を送信するタイミングで、「COMWAKE」の受信が無効化されることで実現される。換言すると、このBIST処理は、この処理の開始から終了までの間で一度、受信した「COMWAKE」に応じて送信されるべき「COMWAKE」とは異なる「ALIGNp」が送信されることで実現される。
【0106】
このようにしてHDC50は、仮想ホストからプリミティブが送信されたものとして、ホスト起動のOOBシーケンスを開始することができる。また仮想ホストから受信した所定のプリミティブを所定のタイミングで無効化することで、継続するプリミティブを所定手順で送受信することができる。さらにHDC50は、送信したプリミティブをループバック径路400を介して受信するので、仮想ホストに対するプリミティブの送信と仮想ホストからのプリミティブの受信とから成る一連の動作を実行することができる。従って本実施形態に係るHDC50は、通信状態の遷移を行うための複数の信号の送受信に関する動作テストを簡易に行うことができる。
【0107】
以上説明したように本実施形態によれば、HDC50のTXとRXとを容易に接続することができる。そしてこのような接続がされた状態で以下の動作を実行することが可能となる。例えば、受信した所定のOOB信号を所定のタイミングで無効化するブロックによって、継続するプリミティブを所定手順で送受信することが可能となる。また通常動作と同じシーケンスとなるような信号の送受信を司るブロックによって、仮想ホストとの間のプリミティブの送受信の一連の動作を実行することが可能となる。さらに仮想ホストからの特定のプリミティブの受信を擬似的に検出するブロック又は特定のプリミティブを送信するブロックによって、容易にOOBシーケンスを開始することが可能となる。従って本実施形態に係るHDC50は、通信状態の遷移を行うための複数の信号の送受信に関する動作テストを簡易に行うことができる。
【0108】
なお本発明は、前述した実施形態に限定されるものではなく、本発明の要旨を変えない範囲において、種々の変更、改変等が可能である。また、前述した実施形態に開示されている複数の構成要素を適宜に組み合わせることにより、種々の発明を形成することができる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよく、さらに、異なる実施形態に係る構成要素を適宜組み合わせても良い。
【符号の説明】
【0109】
1…磁気ディスク、2…磁気ヘッド、3…アーム、4…スピンドルモータ、5…VCM、10…HDD、21…モータドライバ、22…ヘッドIC、31…リードライトチャネルIC(RDC)、41…CPU、42…RAM、43…NVRAM、50…HDC、52…PHY、54…LinkLayer、100…ホストシステム、201…受信AMP、202…デシリアライザ、203…OOB信号検出部、204…OOB信号制御部、211…送信AMP、212…シリアライザ、213…通常用OOB信号生成部、214…TEST用OOB信号生成部、215…TEST用PLL、221…通常用PLL、222…ステート管理部、231…受信バッファ、232…復号化部、233…MUX、241…送信バッファ、242…符号化部、243…MUX、251…TEST用ステートマシーン、400…ループバック径路。

【特許請求の範囲】
【請求項1】
コマンドを送信するために利用される送信手段と、
前記コマンドを受信するために利用される受信手段と、
前記送信手段と前記受信手段とが、複数のコマンドを所定手順で送信及び受信した場合に、前記送信手段及び前記受信手段による通信の状態を示す通信状態を、前記コマンドの送受信が停止する第1の状態から前記コマンドの送受信が定常的に行われる第2の状態へと切り替えるように応答する応答手段と、
前記送信手段が送信した前記コマンドを前記受信手段が受信するように構成されたループバック態様の送受信径路を介して、前記送信手段と前記受信手段との間で送受信される前記複数のコマンドに対して前記応答手段が正しく応答するか否かの試験を実行する試験手段と、
前記試験手段が実行する試験において、前記送信手段が前記所定のコマンドを送信し、前記送受信径路を介して前記受信手段が当該所定のコマンドを受信し、前記所定のコマンドの受信を無効化し、さらに前記送信手段が前記所定のコマンドに引き続き当該所定のコマンドとは異なるコマンドを送信するように制御する制御手段と、
を具備することを特徴とする通信装置。
【請求項2】
前記第1の状態において前記送信手段が送信するコマンドを生成する生成手段を具備し、
前記試験手段が実行する前記試験で、前記送信手段が前記生成手段によって生成されたコマンドを送信し、前記受信手段は前記通信状態を前記第1の状態から前記第2の状態に切り替えるための前記複数のコマンドのうちの先頭のコマンドとして前記送信されたコマンドを受信することを特徴とする請求項1記載の通信装置。
【請求項3】
前記試験手段が実行する前記試験で、前記制御手段は前記通信状態を前記第1の状態から前記第2の状態に切り替えるための前記複数のコマンドのうちの先頭のコマンドを前記受信手段が受信したと仮定することを特徴とする請求項1記載の通信装置。
【請求項4】
前記試験手段が実行する前記試験は、SATA規格におけるOOBシーケンスに関するコマンド送受信の試験であると共に、前記第1の状態はPARTIALステイタス又はSLUMBERステイタス、前記第2の状態はPHYRDYステイタス、且つ前記所定のコマンドはCOMWAKEコマンドであることを特徴とする請求項1記載の通信装置。
【請求項5】
コマンドを送信し、
前記コマンドを受信し、
複数のコマンドを所定手順で送信及び受信した場合に、前記送信及び前記受信による通信の状態を示す通信状態を、前記コマンドの送受信が停止する第1の状態から前記コマンドの送受信が定常的に行われる第2の状態へと切り替えるように応答し、
送信した前記コマンドを受信するように構成されたループバック態様の送受信径路を介して、送受信される前記複数のコマンドに対して正しく応答するか否かの試験を実行し、
実行される試験において、前記所定のコマンドを送信し、前記送受信径路を介して当該所定のコマンドを受信し、前記所定のコマンドの受信を無効化し、さらに前記所定のコマンドに引き続き当該所定のコマンドとは異なるコマンドを送信するように制御する、
ことを特徴とする通信方法。
【請求項6】
コマンドを送信するために利用される送信手段と、
前記コマンドを受信するために利用される受信手段と、
を具備する通信装置において、
前記送信手段が送信した前記コマンドを前記受信手段が受信するように構成されたループバック態様の送受信径路を介して、前記送信手段と前記受信手段との間で所定の手順で送受信される、前記送信手段及び前記受信手段による通信の状態を示す通信状態を切り替えるための複数のコマンドに対する応答が正しくなされるか否かが試験される場合、
前記送信手段は、当該試験の開始から終了までの間で一度、受信した特定のコマンドに応じて送信されるべきコマンドとは異なるコマンドを送信することを特徴とする通信装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2011−191955(P2011−191955A)
【公開日】平成23年9月29日(2011.9.29)
【国際特許分類】
【出願番号】特願2010−56756(P2010−56756)
【出願日】平成22年3月12日(2010.3.12)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】