(57)【要約】【課題】ホストからのＦＩＳに対して、矛盾なく応答することができる通信制御装置を提供すること。【解決手段】本発明に係る通信制御装置１０は、ＦＩＳの生成及び転送プロトコルの制御を行うトランスポート層と、転送プロトコルの状態を管理するシーケンサ管理回路１２と、転送プロトコルの状態に応じて、ＦＩＳの送受信の許可／不許可を判定するプリミティブ制御回路１１と、プリミティブ制御回路１１の判定結果に応じて、ＦＩＳの送受信を制御するリンク層とを備え、ホストとの間でシリアル伝送によりデータを転送する。【選択図】図１
2011257910.tif 000002
【特許請求の範囲】
【請求項１】
ＦＩＳの生成及び転送プロトコルの制御を行うトランスポート層と、
前記転送プロトコルの状態を管理する管理回路と、
前記転送プロトコルの状態に応じて、前記ＦＩＳの送受信の許可／不許可を判定する判定回路と、
前記判定回路の判定結果に応じて、前記ＦＩＳの送受信を制御するリンク層とを備え、
ホストとの間でシリアル伝送によりデータを転送するドライブ装置用の通信制御装置。
【請求項２】
前記判定回路は、受信したフレーム送信要求を無視するか否かを判定することにより、前記ＦＩＳの送受信の許可／不許可を決定する請求項１に記載の通信制御装置。
【請求項３】
前記判定回路は、前記転送プロトコルが、ドライブ装置に対する初期化信号を受信した後又はＡＴＡコマンド書き込み後である場合に、前記ＦＩＳの送受信を不許可とすることを特徴とする請求項１又は２に記載の通信制御装置。
【請求項４】
転送プロトコルの状態に応じて、ＦＩＳの送受信の許可／不許可を判定し、
前記ＦＩＳの送受信の許可／不許可の判定結果に応じて、前記ＦＩＳの送受信を制御して、ホストとの間でシリアル伝送によりデータを転送するドライブ装置の通信制御方法。
【請求項５】
受信したフレーム送信要求を無視するか否かを判定することにより、前記ＦＩＳの送受信の許可／不許可を決定することを特徴とする請求項４に記載の通信制御方法。
【請求項６】
前記転送プロトコルが、ドライブ装置に対する初期化信号を受信した後又はＡＴＡコマンド書き込み後である場合に、前記ＦＩＳの送受信を不許可とすることを特徴とする請求項４又は５に記載の通信制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信制御装置及び通信制御方法に関し、特に、シリアルＡＴＡ（ＳＡＴＡ：Serial Advanced Technology Attachment）インターフェースを有する通信制御装置及び通信制御方法に関する。
【背景技術】
【０００２】
光ディスク記録再生装置やハードディスク装置等のドライブ装置は、ＰＣやレコーダー／プレーヤー等のホストに接続して使用される。光ディスク又はハードディスクから読み込んだデータの送信、ディスクへの書き込みデータの受信は、インターフェース（Ｉ／Ｆ）を介して制御される。このＩ／Ｆの一つの規格として、ＳＡＴＡ規格がある。ＳＡＴＡ規格では、以下の３つの層による制御が規定されている。
【０００３】
この３つの層は、トランスポート層、リンク層、物理層である。トランスポート層は、ＦＩＳ（Frame Information Structure）と呼ばれるフレームの構築、順序（プロトコル）の制御を行う。リンク層は、フレームを転送するために、伝送路のアービトレーション、ＦＩＳ、制御コードのビット変換（８ｂ／１０ｂ変換）を行う。物理層は、ビット列をシリアル変換し、信号の転送を制御する。特許文献１には、このような物理層、リンク層、トランスポート層を備えるインターフェース回路が記載されている。
【０００４】
次に、ドライブ装置での上記３つの層の動作について説明する。ドライブ装置は、トランスポート層で管理されるＦＩＳの種類に基づいて動作が制御される。ＦＩＳの送信許可、受信などは、リンク層において、プリミティブ（Primitive）と呼ばれる制御コードにより管理される。
【０００５】
図３を参照して、ドライブ装置１とホスト２との間のＦＩＳの転送例について説明する。これは、ホスト側からドライブ装置へ何らかの情報を転送している例である。ホスト側からは、送信の状態を知らせる信号とデータが送信され、デバイス側からはホストからの送信に対する応答が送信される。
【０００６】
図３において、ＦＲＡＭＥと表示されている部分以外は全て制御用のプリミティブである。ＦＩＳはドライブ装置１とホスト２の間で転送されるレジスタ情報やデータである。ＦＩＳの転送が行われる前は、バスがアイドル状態を示すＳＹＮＣプリミティブが送受信されている。
【０００７】
データ（ＦＩＳ）を送信したい側が、ＦＩＳ送信要求のＸ＿ＲＤＹプリミティブを送信する。このＸ＿ＲＤＹプリミティブを受けて、ドライブ装置１は、ＦＩＳ受信要求のＲ＿ＲＤＹプリミティを送信する。これで受信許可となったため、ホスト２は、ＦＩＳの送信を開始する。ドライブ装置１は正常にその情報を受信できると、Ｒ＿ＩＰプリミティブで応答する。
【０００８】
ホスト２は、ＦＩＳの送信が終了すると、書き込みシーケンス終了のＷＴＲＭプリミティブを送信する。ドライブ装置１は、このＷＴＲＭプリミティブを受信したあと、データ受信が正常に終了するとＲ＿ＯＫプリミティブを送信し、受信完了を通知する。このあとは、ホスト２、ドライブ装置１とも、ＳＹＮＣプリミティブを送信し、次の動作を待つことになる。ドライブ装置１とホスト２側で、ＦＩＳの送信方向が変わった場合には、それに合わせてプリミティブの制御が行われる。
【０００９】
一方、ＡＴＡ規格で規定されているインターフェースは、ホストからのリセットやＡＴＡ／ＡＴＡＰＩコマンド発行などの要求に対して、要求されたデータを送信したり、ＡＴＡステータス情報の送受信を行う。この情報のやり取りは、規格で定められた仕様に基づいて行われ、ホストはドライブ装置からの応答を待って、ドライブ装置に対する新たな要求を発行するものと規定されている。
【００１０】
しかしながら、ホストが規格に違反し、ドライブ装置からの応答を待たずして、次の要求を発行してくる場合がある。このような場合、ドライブ装置は、想定していないタイミングでホストからの要求を受けることとなり、ホスト側が期待している情報を返却できないという事態に陥りかねない。その結果、ドライブ装置が正常に動作できないという問題が生じうる。
【００１１】
そこで、ホストが規格を無視して次の要求を発行した場合、ドライブ装置はそれまでの実行状態とホストから受信した情報を判定し、規格にあった動作になるように制御している。ドライブ装置は、ホストからＦＩＳを受信した際ソフトウェアによりその時の状態を判定する機能を有している。ドライブ装置は、この判定結果に基づいて、Ｒ＿ＲＤＹプリミティブの送信を行うか否かを決定する。
【００１２】
このドライブ装置で実行する判定処理は、ソフトウェアで実現されている。すなわち、ホストへの応答は、ディスクアクセスの状態などに合わせて、応答内容を様々に変更する必要があるためである。また、回路（ハードウエア）で実現した場合、回路の複雑化と規模の増大が懸念される。
【００１３】
ただし、プリミティブについては、ＳＡＴＡ通信中に数１０ｎｓ毎に送受信が行われるため、ハードウェアにより管理される。これは、この数１０ｎｓ毎で処理実行という時間、ソフトウェアの処理時間と比較して極端に短いため、ソフトウェア制御では間に合わないためである。
【００１４】
次に、この判定処理について、図４〜７を用いて説明する。図４に示すように、ホスト１０１とドライブ装置１０３との間には、プリミティブ及びＦＩＳを送受信するための送受信制御回路１０２が設けられている。ドライブ装置１０３には、上述の判定処理を行うソフトウェアが設けられている。
【００１５】
図５は、ホストからドライブ装置に対する初期化信号であるＣＯＭＲＥＳＥＴを受信したときの動作を示すフロー図である。まず、ＣＯＭＲＥＳＥＴの受信有無が判定される（ＦＴ１）。ここで受信と判定されると（ＦＴ１、ＴＲＵＥ）ホストとドライブ装置間で通信確立できたかが判定される（ＦＴ２）。ＦＴ２において通信が確立された場合（ＦＴ２、ＴＲＵＥ）、ＡＴＡタスクレジスタが初期化され、その情報がホスト側にレジスタＦＩＳとして送信される（ＦＴ４）。その後、ＦＩＳの送信が完了し、Ｒ＿ＯＫプリミティブが受信されたかが判断される（ＦＴ５）。
【００１６】
続いて、図６、７を参照して、正常時と問題発生時におけるＦＩＳ／プリミティブの遷移について説明する。図６は正常時、図７は問題発生時のＦＩＳ／プリミティブの遷移を示している。ドライブ装置１０３は、ホスト１０１からＣＯＭＲＥＳＥＴ［ＳＨ１］を受信すると、それを受け取ったことを示すＡＴＡタスクファイルの送信準備（ＦＩＳ［ＳＤ１］）をドライブ制御装置用のソフトウェア管理の元に行う。
【００１７】
図７に示すように、問題発生時においては、ホスト１０１から発行されるＣＯＭＲＥＳＥＴ［ＳＨ１］に対して、ドライブ装置１０３が応答する前に、ホストが続けて、ＦＩＳの送信要求（ＳＲＳＴの発行）をしてくる場合がある。この場合、ドライブ装置側としては、ＣＯＭＲＥＳＥＴ［ＳＨ１］に対して、応答確認のためのＦＩＳ［ＳＤ１］の送信を実行しようとする。
【００１８】
しかし、ドライブ装置１０１のソフトウェアがＦＩＳの送信処理を終了する前に、ホスト１０１からのＸ＿ＲＤＹプリミティブに対して、ドライブ装置１０３は、ＦＩＳ自体を受信することは可能な状態にあるため、受信許可を示すＲ＿ＲＤＹプリミティブで応答する。この応答をすると、ホスト側は、次の要求であるＦＩＳ［ＳＨ２］を送信する。ここでドライブ装置は、ＣＯＭＲＥＳＥＴ［ＳＨ１］に対しての応答が終了していないため、それに対する応答ＦＩＳ［ＳＤ１］を行う。
【００１９】
ここで、ホスト１０１は、すでに、次の要求ＦＩＳ［ＳＨ２］を送信しているため、ドライブ装置１０３からの応答をＦＩＳ［ＳＨ２］に対する応答だと認識してしまう。これは規格でホスト１０１からＳＲＳＴが発行されてきた場合、ドライブ装置１０３はＡＴＡタスクレジスタ送信して応答するように定められているためである。このため、情報の不整合が発生し、その後ホスト１０１、ドライブ装置１０３ともに正常動作ができなくなる。
【先行技術文献】
【特許文献】
【００２０】
【特許文献１】特開２００５−１００２３０号公報
【発明の概要】
【発明が解決しようとする課題】
【００２１】
このように、ホストからのＦＩＳに対して、ドライブ装置からＦＩＳで応答する制御をソフトウェアで行うと、判定を行うタイミングによって生じるＦＩＳの重複受け付けに起因して、正常動作ができなくなるという問題がある。
【課題を解決するための手段】
【００２２】
本発明の一態様に係る通信制御装置は、ＦＩＳの生成及び転送プロトコルの制御を行うトランスポート層と、前記転送プロトコルの状態を管理する管理回路と、前記転送プロトコルの状態に応じて、前記ＦＩＳの送受信の許可／不許可を判定する判定回路と、前記判定回路の判定結果に応じて、前記ＦＩＳの送受信を制御するリンク層とを備え、ホストとの間でシリアル伝送によりデータを転送するドライブ装置用の通信制御装置である。
【００２３】
本発明の他の態様に係る通信制御方法は、転送プロトコルの状態に応じて、ＦＩＳの送受信の許可／不許可を判定し、前記ＦＩＳの送受信の許可／不許可の判定結果に応じて、前記ＦＩＳの送受信を制御して、ホストとの間でシリアル伝送によりデータを転送する。
【００２４】
このように、リンク層とトランスポート層の間に新たに判定回路を追加することにより、その時のプロトコルの状態に合わせて、ＦＩＳ送受信の許可／不許可を判定することできる。これにより、ホストから送信されてくる全ての情報（ＦＩＳ、プリミティブ、初期化信号）を順番どおり漏れなく管理することができる。このため、ソフトウェアのタイムラグに関わらず、ホストからのＦＩＳに対して、矛盾なく応答することができるようになり、ＡＴＡ／ＡＴＡＰＩ転送プロトコルに沿った動作が可能になる。
【発明の効果】
【００２５】
本発明によれば、ホストからのＦＩＳに対して、矛盾なく応答することができる通信制御装置及び通信制御方法を提供することができる。
【図面の簡単な説明】
【００２６】
【図１】実施の形態に係る通信制御装置の構成を示す図である。
【図２】実施の形態に係る通信制御装置の動作を説明するためのフロー図である。
【図３】規格に基づいた基本の通信制御動作を説明する図である。
【図４】本願の課題を説明するための通信制御装置の構成を示す図である。
【図５】図４に示す通信制御装置の動作を説明するためのフロー図である。
【図６】正常時におけるＦＩＳ／プリミティブの遷移を示す図である。
【図７】問題発生時におけるＦＩＳ／プリミティブの遷移を示す図である。
【発明を実施するための形態】
【００２７】
本発明の実施の形態に係る通信制御装置１０の構成について、図１を参照して説明する。図１は、本実施の形態に係る通信制御装置１０を含む通信システムの全体構成を示す図である。図１に示す通信システムでは、ドライブ装置１５とホスト１４との間でデータを送受信する。なお、ドライブ装置１５は、ホスト１４からＦＩＳを受信した際、ソフトウェアによりその時の状態を判定する機能も有している。
【００２８】
通信制御装置１０は、プリミティブ制御回路１１、シーケンサ管理回路１２、送受信制御回路１３を備える。ホスト１４から入力されるビット化信号は、プリミティブ制御回路１１、シーケンサ管理回路１２、送受信制御回路１３の順序で処理される。ドライブ装置１５に設けられたソフトウェアで、送受信制御回路１３から受信したＦＩＳに対しての制御方法（ＦＩＳの送受信の許可／不許可）が決定される。
【００２９】
図４の構成と比較すると、本実施の形態では、プリミティブ制御回路１１、シーケンサ管理回路１２が追加されている。図４の送受信制御回路１０２及びドライブ回路１０３での情報の受け渡しは、プリミティブ制御回路１１、シーケンサ管理回路１２、送受信制御回路１３が受け持つ。
【００３０】
本発明は、ＳＡＴＡ規格に準拠したインターフェース装置である。ＳＡＴＡ規格では、トランスポート層、リンク層、物理層の３つの層を有している。トランスポート層は、ＦＩＳの生成及びＡＴＡ／ＡＴＡＰＩ転送プロトコルの制御を行う。
【００３１】
シーケンサ管理回路１２は、ＡＴＡ／ＡＴＡＰＩ転送プロトコルの現在の状態を管理する。ＡＴＡ／ＡＴＡＰＩ転送プロトコルの状態としては、リセット受信後、ＡＴＡコマンド書き込み中、応答データ送信、完了シーケンス待ち等がある。シーケンサ管理回路１２は、送受信制御回路１３にＦＩＳ情報を送信する。
【００３２】
プリミティブ制御回路１１は、ホスト１４からビット化信号を受信し、プリミティブ情報／ＦＩＳ情報に変換する。プリミティブ制御回路１１は、ＡＴＡ／ＡＴＡＰＩ転送プロトコルの状態に応じて、ホスト１４から受信するフレーム送信要求であるＸ＿ＲＤＹプリミティブを無視するか否かを制御することにより、ＦＩＳの送受信の許可／不許可を判定する。Ｘ＿ＲＤＹプリミティブを無視するとは、ドライブ装置１５から送信許可を示すＲ＿ＲＤＹプリミティブの送信を行わないことをいう。
【００３３】
送受信制御回路１３は、プリミティブ制御回路１１による判定結果に応じて、プリミティブ信号及びＦＩＳ信号の送受信を制御するリンク層である。物理層は、ビット列をシリアル変換し、ホストとの間でシリアル伝送によりデータを転送する。
【００３４】
このような通信システムにおいて、図３に示すような通信制御動作が実行される。具体的には、ホスト１４は、フレーム送信要求（Ｘ＿ＲＤＹ）をドライブ装置１５に送信する。Ｘ＿ＲＤＹを受信したドライブ装置１５は、準備が整うと、ホスト１４に対し、送信許可（Ｒ＿ＲＤＹ）を返信する。
【００３５】
続いて、送信許可を受信したホスト１４は、ＦＲＡＭＥ転送を行い、その後、転送終了した後に、ＷＴＥＲＭプリミティブを出力しながら、ドライブ装置１５からの受信結果を待つ。そして、ドライブ装置１５は、受信の間、受信中を示すＲ＿ＩＰプリミティブを出力し、受信フレームに問題が無ければ、Ｒ＿ＯＫをホスト１４に送信する。
【００３６】
次に、図１に示す通信制御装置１０の動作について、図６を参照して説明する。図６は、本実施の形態に係る通信制御装置１０の動作を説明するためのフロー図である。図６に示すように、まず、プリミティブ制御回路１１において、ホスト１４から入力されたビット化信号がプリミティブ情報／ＦＩＳ情報に変換される（ＦＴ１）。その後、シーケンサ管理回路１２において、電源投入後の最初の動作又はＦＩＳ送受信実行時であるか否かが判定される（ＦＴ２）。
【００３７】
この判定において、電源投入後の最初の動作又はＦＩＳ送受信実行時である場合には（ＦＴ２、ＴＲＵＥ）、ドライブ装置に対する初期化信号であるＣＯＭＲＥＳＥＴ受信後又はＡＴＡコマンド書き込み後であるか否かが判定される（ＦＴ３）。ＦＴ３において、ＣＯＭＲＥＳＥＴ受信後又はＡＴＡコマンド書き込み後である場合（ＦＴ３、ＴＲＵＥ）、ホスト１４からのＸ＿ＲＤＹプリミティブを無視するモードを選択する（ＦＴ４）。
【００３８】
ＣＯＭＲＥＳＥＴ受信後又はＡＴＡコマンド書き込み後は、ホスト１４からのＸ＿ＲＤＹプリミティブを無視させるべき状態である。例えば、図７に示すように、ＣＯＭＲＥＳＥＴ受信後は、ドライブ装置１０１のソフトウェアは、当該ＣＯＭＲＥＳＥＴに対して、ＦＩＳ［ＳＤ１］の送信処理を行う状態である。
【００３９】
このときに、ホスト１４側から次の要求であるＦＩＳ［ＳＨ２］が入力された場合、ドライブ装置１５のハードウェアがＲ＿ＲＤＹプリミティブで応答すると、その後のドライブ装置１５から送信されるＦＩＳ［ＳＤ１］が誤ってＣＯＭＲＥＳＥＴに対するＦＩＳを判断される。
【００４０】
これを防止するために、ホスト１４からのＸ＿ＲＤＹプリミティブを無視させ、ドライブ装置１５からＲ＿ＲＤＹプリミティブを送信しないようにする。このように、ホスト１４からのＸ＿ＲＤＹプリミティブを無視させることにより、ドライブ装置１０１のソフトウェアが、ＣＯＭＲＥＳＥＴ［ＳＨ１］に対してＦＩＳ［ＳＤ１］の送信処理を終了する前に、ホスト１０１からのＸ＿ＲＤＹプリミティブに対して、ドライブ装置１０３のハードウェアは、Ｒ＿ＲＤＹプリミティブで応答しないようにすることができる。従って、情報の不整合が発生の発生を防止することができ、ホスト１４、ドライブ装置１５ともに正常動作を維持することができる。
【００４１】
本発明では、ＡＴＡ／ＡＴＡＰＩ転送プロトコル状態と合わせて、リンク層から入力される情報をそのままプリミティブ／ＦＩＳの送受信判定に使用する。すなわち、シーケンサ管理回路１２により、ソフトウェア制御を介在させずに、ホスト１４からの要求動作に対して、一要求ずつ直接プリミティブを管理できる。これにより、ドライブ装置１５側からのホスト１４に対する応答動作も漏れなく対応することができる。
【００４２】
これにより、図７のようにソフトウェアの判定タイミングの遅延の問題がなくなる。その結果、ＦＩＳの重複受け付け等を不正な制御を防ぐことができるようになり、通常のシーケンスに沿わない不正な制御になることを防ぐことできる。
【００４３】
なお、本発明は上述した実施の形態のみに限定されるものではなく、既に述べた本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。上述の説明では、ドライブ装置１５に対してホスト１４からフレーム送信を行う例について説明したが、ホスト１４からドライブ装置１５に対してフレーム送信を行う場合もある。
【００４４】
また、上述の例では、ホスト１４からのＸ＿ＲＤＹプリミティブに対して、Ｒ＿ＲＤＹプリミティブの送信許可／不許可を変更しているが、これに限定されるものではない。送受信制御回路１３の判定条件を変更することで、ＳＡＴＡパワーマネジメント制御の許可・拒否など他のプリミティブ制御も同様にソフトウェアを介さずに実現することができる。
【符号の説明】
【００４５】
１０  通信制御装置
１１  プリミティブ制御回路
１２  シーケンサ管理回路
１３  送受信制御回路
１４  ホスト
１５  ドライブ装置
【図１】
2011257910.tif 000003
【図２】
2011257910.tif 000004
【図３】
2011257910.tif 000005
【図４】
2011257910.tif 000006
【図５】
2011257910.tif 000007
【図６】
2011257910.tif 000008
【図７】
2011257910.tif 000009