米国特許情報 | 欧州特許情報 | 国際公開(PCT)情報 | Google の米国特許検索
 
     特許分類
A 農業
B 衣類
C 家具
D 医学
E スポ−ツ;娯楽
F 加工処理操作
G 机上付属具
H 装飾
I 車両
J 包装;運搬
L 化学;冶金
M 繊維;紙;印刷
N 固定構造物
O 機械工学
P 武器
Q 照明
R 測定; 光学
S 写真;映画
T 計算機;電気通信
U 核技術
V 電気素子
W 発電
X 楽器;音響


  ホーム -> 計算機;電気通信 -> 株式会社東芝

発明の名称 インターフェース装置、ディスクドライブ及びインターフェース制御方法
発行国 日本国特許庁(JP)
公報種別 公開特許公報(A)
公開番号 特開2007−11659(P2007−11659A)
公開日 平成19年1月18日(2007.1.18)
出願番号 特願2005−191213(P2005−191213)
出願日 平成17年6月30日(2005.6.30)
代理人 【識別番号】100058479
【弁理士】
【氏名又は名称】鈴江 武彦
発明者 国重 伸治 / 牧 夕子 / 石井 周一
要約 課題
ホストシステムからのコマンド受け付け処理に要する時間を短縮化し、データ転送速度を向上できるシリアルATAインターフェース装置を提供することにある。

解決手段
シリアルATA方式のインターフェース装置において、シリアルATAバス4を介してホストシステム2に接続されたS−ATAブリッジ10は、コマンドを格納するシャドーレジスタ11及びHDC20のアクセスが可能なバッファメモリ12を有する。S−ATAブリッジ10は、内部処理だけで応答信号をホストシステム2に出力するまでのコマンドの受け付け処理を完了する。
特許請求の範囲
【請求項1】
ホストシステムとデバイス間を接続するシリアルATA方式のインターフェース装置であって、
シリアルATAバスを通じて前記ホストシステムから送られたコマンドを格納するレジスタ手段と、
前記レジスタ手段に格納されて前記コマンドを受け付けたことを指示する割込み信号を、パラレルATAバスを通じて前記デバイスのコントローラに送信する手段と、
前記レジスタ手段から転送される前記コマンドを格納し、前記コントローラによりアクセス可能な構成のメモリ手段と、
前記レジスタ手段に格納された前記コマンドをチェックし、チェック結果が正常な場合には、前記シリアルATAバスを通じて前記コマンドに対する応答信号を前記ホストシステムに出力する出力手段と
を具備したことを特徴とするインターフェース装置。
【請求項2】
前記デバイスは、ディスク媒体に対してデータを記録または再生するディスクドライブであり、
前記コントローラは、前記ディスクドライブに含まれて、前記ディスクドライブのインターフェース機能を有するディスクコントローラであり、
前記ディスクコントローラと前記パラレルATAバスを介して接続し、
前記シリアルATAバスで接続された前記ホストシステムと、前記ディスクコントローラとの間でコマンド及びデータの転送を制御するように構成されたことを特徴とする請求項1に記載のインターフェース装置。
【請求項3】
前記コントローラは、
前記ホストシステムからのコマンドを実行するために格納するタスクファイルレジスタ手段を有し、
前記割込み信号に応じて前記メモリ手段に格納されたコマンドをアクセスし、前記タスクファイルレジスタ手段に格納するように構成されていることを特徴とする請求項1または請求項2のいずれか1項に記載のインターフェース装置。
【請求項4】
前記レジスタ手段は、前記シリアルATAバスを通じて前記ホストシステムから連続的に送られる複数のコマンドを順次格納し、
前記出力手段は、前記シリアルATAバスを通じて前記コマンド毎の応答信号を前記ホストシステムに出力するように構成されていることを特徴とする請求項1に記載のインターフェース装置。
【請求項5】
シリアルATAインターフェースによりホストシステムと接続し、前記ホストシステムからのコマンドに応じて、ディスク媒体に対してデータの記録または再生を行なうディスクドライブにおいて、
前記ホストシステムからのコマンドを実行して、前記ディスク媒体と前記ホストシステム間のデータの転送を制御するディスクコントローラと、
シリアルATAバスにより前記ホストシステムに接続し、かつパラレルATAバスにより前記ディスクコントローラに接続するシリアルATAブリッジ手段とを具備し、
前記シリアルATAブリッジ手段は、
前記シリアルATAバスを通じて前記ホストシステムから送られたコマンドを格納するレジスタ手段と、
前記レジスタ手段に格納されて前記コマンドを受け付けたことを指示する割込み信号を、前記パラレルATAバスを通じて前記ディスクコントローラに送信する手段と、
前記レジスタ手段から転送される前記コマンドを格納し、前記コントローラによりアクセス可能な構成のメモリ手段と、
前記レジスタ手段に格納された前記コマンドをチェックし、チェック結果が正常な場合には、前記シリアルATAバスを通じて前記コマンドに対する応答信号を前記ホストシステムに出力する出力手段と
を有することを特徴とするディスクドライブ。
【請求項6】
前記ディスクコントローラは、
前記ホストシステムからのコマンドを実行するために格納するタスクファイルレジスタ手段を有し、
前記割込み信号に応じて前記メモリ手段に格納されたコマンドをアクセスし、前記タスクファイルレジスタ手段に格納するように構成されていることを特徴とする請求項5に記載のディスクドライブ。
【請求項7】
前記レジスタ手段は、前記シリアルATAバスを通じて前記ホストシステムから連続的に送られる複数のコマンドを順次格納し、
前記出力手段は、前記シリアルATAバスを通じて前記コマンド毎の応答信号を前記ホストシステムに出力するように構成されていることを特徴とする請求項5に記載のディスクドライブ。
【請求項8】
前記シリアルATAブリッジ手段は、
前記ホストシステムから連続的に送られる複数のコマンドが前記ディスクコントローラにより実行されるときに、順序不同に実行される各コマンドに対応するデータ転送を管理するためのチェック処理を実行する手段を含むことを特徴とする請求項5から請求項7のいずれか1項に記載のディスクドライブ。
【請求項9】
前記ディスクコントローラ及び前記シリアルATAブリッジ手段は、前記パラレルATAバスで接続された状態で同一の集積回路素子に含まれるように構成されていることを特徴とする請求項5から請求項8のいずれか1項に記載のディスクドライブ。
【請求項10】
ホストシステムとデバイス間を接続するシリアルATAインターフェースの制御方法であって、
シリアルATAバスを通じて前記ホストシステムから送られたコマンドをレジスタ手段に格納するステップと、
前記レジスタ手段に格納されて前記コマンドを受け付けたことを指示する割込み信号を、パラレルATAバスを通じて前記デバイスのコントローラに送信するステップと、
前記レジスタ手段から転送される前記コマンドを、前記コントローラによりアクセス可能な構成のメモリ手段に格納するステップと、
前記レジスタ手段に格納された前記コマンドをチェックするステップと、
前記チェック結果が正常な場合には、前記シリアルATAバスを通じて前記コマンドに対する応答信号を前記ホストシステムに出力するステップと
を有する手順を実行することを特徴とするインターフェース制御方法。
発明の詳細な説明
【技術分野】
【0001】
本発明は、一般的にはシリアルATA方式のインターフェース装置に関し、特に、ホストシステムとデバイス間のデータ転送速度を改善したインターフェース装置に関する。
【背景技術】
【0002】
近年、例えばパーソナルコンピュータなどのホストシステムと、ハードディスクドライブ(以下単にディスクドライブと表記する場合がある)を代表とするデバイスとを接続するインターフェースとして、シリアルATAインターフェース(Serial AT Attachment規格によるインターフェース仕様)が注目されている。なお、シリアルATAをS−ATAと表記する場合がある。
【0003】
ところで、従来のディスクドライブでは、パラレルATAインターフェース仕様で、ホストシステム間のインターフェース機能を実現しているディスクコントローラが内蔵されている。このため、シリアルATAインターフェースを採用して、NCQ(Native Command Queuing)コマンド処理をサポートするために、ディスクドライブ側にはS−ATAブリッジなどのインターフェース変換装置が必要となる(例えば、特許文献1を参照)。
【特許文献1】特開2003−223411号公報。
【発明の開示】
【発明が解決しようとする課題】
【0004】
前述したように、S−ATAブリッジなどのインターフェース変換装置を使用することにより、シリアルATAインターフェースをサポートしたディスクドライブを実現できる。具体的には、ディスクドライブには、S−ATAブリッジとディスクコントローラ(HDC)とが組み込まれたシステムLSIが設けられる。
【0005】
このようなシステムLSIにより、NCQコマンド処理を実行する場合には、以下のような処理手順が必要となる。即ち、S−ATAブリッジは、ホストシステムからRegH/D(Register-Host to Device)コマンド(FPDMAQコマンド)を受け取ると、ATA仕様によるシャドーレジスタ(Shadow Register)に一旦格納する。
【0006】
次に、S−ATAブリッジは、パラレルATAインターフェースで接続されたHDCのタスクファイルレジスタ(コマンドレジスタなどのレジスタ群)に、シャドーレジスタに格納されたコマンドを転送する。HDCは、コマンド登録などの処理及びタスクファイルレジスタの内容(ステータスなど)をシャドーレジスタに転送する。S−ATAブリッジは、それらの一連の処理後に、ホストシステムに対してRegD/H(Register-Device to Host)を出力して、コマンドの受け付け処理が完了したことを応答する。
【0007】
しかしながら、このような処理手順では、ホストシステムからコマンドを受け取ってから、ホストシステムに応答するまでに、例えば40μs程度の時間がかかる。このため、ホストシステムとディスクドライブ間のデータ転送速度の低下を招く要因となっている。
【0008】
そこで、本発明の目的は、ホストシステムからのコマンド受け付け処理に要する時間を短縮化し、データ転送速度を向上できるシリアルATA方式のインターフェース装置を提供することにある。
【課題を解決するための手段】
【0009】
本発明の観点に従ったインターフェース装置は、シリアルATAバスを通じて前記ホストシステムから送られたコマンドを格納するレジスタ手段と、前記レジスタ手段に格納されて前記コマンドを受け付けたことを指示する割込み信号を、パラレルATAバスを通じて前記デバイスのコントローラに送信する手段と、前記レジスタ手段から転送される前記コマンドを格納し、前記コントローラによりアクセス可能な構成のメモリ手段と、前記レジスタ手段に格納された前記コマンドをチェックし、チェック結果が正常な場合には、前記シリアルATAバスを通じて前記コマンドに対する応答信号を前記ホストシステムに出力する出力手段とを備えた構成である。
【発明の効果】
【0010】
本発明によれば、ホストシステムからのコマンドを受け付けてから応答するまでの時間を短縮化し、結果としてホストシステムとデバイス間のデータ転送速度を向上できるシリアルATA方式のインターフェース装置を提供することができる。
【発明を実施するための最良の形態】
【0011】
以下図面を参照して、本発明の実施形態を説明する。
【0012】
[システム構成]
図1は、本実施形態に関するインターフェース装置を含むシステムの構成を示すブロック図である。
【0013】
本実施形態のシステムは、シリアルATAインターフェースにより接続されたディスクドライブとホストシステム2とからなる。ホストシステム2は、図2に示すように、例えばパーソナルコンピュータである。ディスクドライブは、例えば、パーソナルコンピュータの本体内に組み込まれたハードディスクドライブである。
【0014】
ディスクドライブは大別して、図1に示すように、システムLSIからなるインターフェース装置1及びドライブシステム3からなる。ドライブシステム3は、ディスク媒体やヘッドを含み、ディスク媒体に対してデータの記録又は再生を行なうドライブ本体を構成している。
【0015】
インターフェース装置1には、インターフェース変換装置に相当するS−ATAブリッジ10と、ディスクコントローラ(HDC)20とが組み込まれている。ディスクコントローラ20は、ドライブシステム3との間でデータ(リード/ライトデータ)の転送を制御するドライブインターフェース機能を有し、パラレルATAバス5によりS−ATAブリッジ10と接続している。
【0016】
ディスクコントローラ20は、ホストシステム2により発行されたコマンドを格納するタスクファイルレジスタ21、及びコマンド処理を実行するファームウエア(以下FWと表記する)22を含む。タスクファイルレジスタ21は、コマンドを実行するためのコマンドレジスタなどのレジスタ群である。
【0017】
(S−ATAブリッジ10の構成)
S−ATAブリッジ10は、シリアルATAバス4によりホストシステム2と接続し、パラレルATAバス5によりディスクコントローラ20と接続している。S−ATAブリッジ10は、S−ATA仕様のシャドーレジスタ11と、バッファメモリ12と、TAG/アドレス・チェック制御部13とを含む。
【0018】
シャドーレジスタ11は、後述するように、シリアルATAバス4を介してホストシステム2から送られるコマンドを順次格納する。バッファメモリ12は、シャドーレジスタ11から転送された内容(コマンド群)を格納する。バッファメモリ12は、パラレルATAバス5を介して、ディスクコントローラ20によりアクセス可能に構成されている。
【0019】
TAG/アドレス・チェック制御部13は、シャドーレジスタ11に格納されたコマンドのTAG番号や、LBA(論理ブロックアドレス)アドレスが正常であるか否かをチェックするハードウエアである。TAG番号は、ホストシステム2から連続的に送られる複数のコマンドの実行を管理するための番号であり、コマンドのそれぞれを識別するための番号である。
【0020】
図3は、システムLSIとシリアルATAインターフェース400とを実装している回路基板300を示す図である。この回路基板300は、ディスクドライブに組み込まれている。なお、シリアルATAインターフェース400は、図2に示すパーソナルコンピュータ200の内部で、ホストシステム2に相当するマイクロプロセッサ(CPU)などと接続されている。また、ディスクコントローラ20は、前述したように、ディスクドライブの本体であるドライブシステム3に接続されている。
【0021】
ここで、S−ATAブリッジ10は概念的には、図3に示すように、シリアルATAインターフェース400に接続してデータの入出力を実行する物理層(PHY)100と、このPHY100とデータの交換を行なうリンク/トランスポート層(Link & Transport)110と、コマンド層(Command)120とを有する。
【0022】
コマンド層120には、前述のシャドーレジスタ11が含まれている。なお、S−ATAブリッジ10は、パラレルATAバス5以外にも、ほかのインターフェース信号線(IF−REG)を介してディスクコントローラ20と接続されている。
【0023】
[作用効果]
以下図4のフローチャートを参照して、本実施形態に関するNCQ(Native Command Queuing)コマンド処理の手順を説明する。
【0024】
まず、S−ATAブリッジ10は、シリアルATAバス4を通じて、ホストシステム2から出力されたS−ATA仕様のRegH/D(Register-Host to Device)コマンド(FPDMAQコマンド)40を受け取る(ステップS1)。S−ATAブリッジ10は、受け取ったATAコマンド(例えばリードコマンドやライトコマンド)を順次シャドーレジスタ11に格納する(ステップS2)。
【0025】
S−ATAブリッジ10は、シャドーレジスタ11に含まれるコマンドレジスタが更新されると、割込み信号(INTRQ)50をディスクコントローラ20のFW22に出力する(ステップS3)。FW22は、割込み信号(INTRQ)50により、ホストシステム2からATAコマンドであるNCQコマンドを受け付けたことを認識する。
【0026】
S−ATAブリッジ10は、コマンドレジスタが更新されると、シャドーレジスタ11に格納された全ての内容をバッファメモリ12に転送する(ステップS4)。さらに、S−ATAブリッジ10は、コマンドレジスタが更新されると、TAG/アドレス・チェック制御部13により、シャドーレジスタ11に格納されたコマンドのTAG番号やLBAアドレスが正常であるか否かをチェックする(ステップS5)。
【0027】
ATAブリッジ10は、TAG/アドレス・チェック制御部13のチェック結果が正常であれば、後述するようにビジービットを0にセットして、ホストシステム2に対してRegD/H(Register-Device to Host)41を出力して、コマンドの受け付け処理が完了したことを応答する(ステップS6のNO,S7)。一方、TAG/アドレス・チェック制御部13のチェックによりエラーが発生している場合には、S−ATAブリッジ10は、所定のエラー処理を実行する(ステップSステップS6のYES,S8)。
【0028】
このような処理を繰り返すことにより、ホストシステム2から連続的に送られるNCQコマンド(ATAコマンド)を、順次、受け付けることができる。
【0029】
ここで、ディスクコントローラ20では、FW22は、割込み信号(INTRQ)50の受信に応じてバッファメモリ12をアクセスして、バッファメモリ12に格納されたシャドーレジスタ11の全ての格納内容を取り出して、タスクファイルレジスタ21に格納する。
【0030】
ディスクコントローラ20は、FW22がタスクファイルレジスタ21のコマンドレジスタに格納されたコマンドを実行することにより、ディスク媒体に対するデータの記録又は再生を実行するための制御を行なう。即ち、ディスクコントローラ20は、ホストシステム2からの例えばリードコマンドを実行して、リードデータをドライブシステム3から受け取り、ホストシステム2に転送するための制御を実行する。また、ディスクコントローラ20は、ホストシステム2からの例えばライトコマンドを実行して、ライトデータをホストシステム2から受け取り、ドライブシステム3に転送する制御を実行する。
【0031】
以上のようにして、S−ATAブリッジ10は、シリアルATAインターフェースを介してホストシステム2から出力されるNCQ(ATA)コマンドを受け付ける処理を実行する。この場合、本実施形態のS−ATAブリッジ10は、シャドーレジスタ11に格納された全ての内容を、HDC20のタスクファイルレジスタ21に転送するのではなく、内部のバッファメモリ12に転送する。HDC20のFW22は、当該バッファメモリ12をアクセスして、シャドーレジスタ11の内容をタスクファイルレジスタ21に格納する。
【0032】
S−ATAブリッジ10は、TAG/アドレス・チェック制御部13のチェック結果が正常であれば、ホストシステム2に対してコマンドの受け付け処理の完了を応答する。従って、本実施形態では、シャドーレジスタ11とHDC20のタスクファイルレジスタ21間のデータ転送を行なうことなく、ホストシステム2からコマンドを受け取ってから応答するまでの処理を、S−ATAブリッジ10の処理だけで完了する。即ち、シャドーレジスタ11とタスクファイルレジスタ21間のデータ転送時間分だけ短縮できるため、ホストシステム2からのコマンドの受け付け処理を完了するまでの時間を大幅に短縮できることになる。これにより、結果として、コマンドの受け付け処理後に、コマンドの実行に伴うホストシステムとディスクドライブ間のデータ転送速度を高速化できる。
【0033】
(コマンド処理の具体例)
図5から図8は、本実施形態に関するコマンド処理において、リードコマンド及びライトコマンドのそれぞれの具体的処理手順を説明するためのタイミングチャートである。
【0034】
まず、図5及び図6を参照して、リードコマンドの処理手順を説明する。ここでは、第1のリードコマンド(Read1要求)及び第2のリードコマンド(Read2要求)が連続的にホストシステム2から発行された場合を想定する。
【0035】
図5において、ステップS1、S3、S7は、それぞれ図4に示すステップSS1、S3、S7に対応する処理である。即ち、ホストシステム2は、S−ATAブリッジ10に対して、Read1要求としてRegH/D(register FIS)を送信する(ステップS1)。S−ATAブリッジ10は、順次シャドーレジスタ11に格納した後に、INTRQをディスクコントローラ20に出力する(ステップS3)。ここで、ディスクコントローラ20は、シャドーレジスタ11の全ての内容が格納されたバッファメモリ12をアクセスする(ステップS20)。また、この間、FW22は、FW内でTAG値に対応したフラグを設定する処理を実行する(ステップS22)。
【0036】
S−ATAブリッジ10は、コマンドのTAG番号やLBAアドレスのチェック後に、ビジービットを0にセットして、ホストシステム2に対してRegD/Hを応答として出力する(ステップS7)。これにより、S−ATAブリッジ10におけるコマンドの受け付け処理が完了する。
【0037】
さらに、ホストシステム2は連続して、S−ATAブリッジ10に対して、Read2要求としてRegH/Dを送信する(ステップS11)。S−ATAブリッジ10は、順次シャドーレジスタ11に格納した後に、INTRQをディスクコントローラ20に出力する(ステップS13)。同様に、ディスクコントローラ20は、シャドーレジスタ11の全ての内容が格納されたバッファメモリ12をアクセスする(ステップS21)。また、FW22は、FW内でTAG値に対応したフラグを設定する処理を実行する(ステップS23)。そして、S−ATAブリッジ10は、ホストシステム2に対してRegD/Hを応答として出力する(ステップS17)。
【0038】
このようなコマンド受け付け処理が完了すると、以下、Read1要求及びRead2要求のそれぞれにリードコマンドの実行に伴う一連のデータ転送処理に移行する。
【0039】
ここでは、S−ATAブリッジ10は、ホストシステム2に対して、まずRead2要求に応じたRead2データ転送の予告を行なう(ステップS25)。この前に、FW22は、TAG値、BufferOfset、TransferCount、START=1(トリガ)のデータをS−ATAブリッジ10に送信する(ステップS24)。S−ATAブリッジ10は、これらのデータを受信して、Read2データ転送予告としてDMA setup FISをホストシステム2に送信する。
【0040】
S−ATAブリッジ10は、ServiceコマンドをHDC20に送信する(ステップS26)。このとき、DMA setup FISが、次のQueuingコマンドRed Arrow内でぶつかった場合は、再度FW22でTAG値などをセットしてくれる。また、Serviceコマンドは、擬似的にLegacy Command Queuingプロトコルを利用している。Serviceコマンドを受信したHDC20は、DMARQ assertedをS−ATAブリッジ10に送信する(ステップS27)。
【0041】
続いて、図6に示すように、HDC20は、リードデータをS−ATAブリッジ10に送信する(ステップS28)。S−ATAブリッジ10は、リードデータを受信すると、Read2データ転送としてData FISをホストシステム2に送信する(ステップS29)。また、FW22は、コマンド終了したものについてフラグを立てて、S−ATAブリッジ10に送信する(ステップS30)。HDC20は、転送終了を示すINTRQをS−ATAブリッジ10に送信する(ステップS31)。これらのデータを受信すると、S−ATAブリッジ10は、Set Device Bits FIS(bit5 clear)を送信して、Read2のデータ転送を完了する(ステップS32)。
【0042】
次に、FW22は、TAG値、BufferOfset、TransferCount、START=1(トリガ)をS−ATAブリッジ10に送信する(ステップS33)。これらのデータを受信すると、S−ATAブリッジ10は、Read1データ転送予告としてDMA setup FISをホストシステム2に送信し(ステップS34)、ServiceコマンドをHDC20に送信する(ステップS35)。Serviceコマンドを受信すると、HDC20は、DMARQ assertedをS−ATAブリッジ10に送信する(ステップS36)。HDC20は、リードデータを(Read Data)をS−ATAブリッジ10に送信する(ステップS37)。
【0043】
S−ATAブリッジ10は、リードデータを受信すると、Read1データ転送としてData FISをホストシステム2に送信する(ステップS38)。また、FW22は、コマンド終了したものについてフラグを立てて、S−ATAブリッジ10に送信する(ステップS39)。HDC20は、転送終了を示すINTRQをS−ATAブリッジ10に送信する(ステップS40)。これらのデータを受信すると、S−ATAブリッジ10は、Set Device Bits FIS(bit5 clear)を送信して、Read1のデータ転送を完了する(ステップS41)。
【0044】
ホストシステム2は、エラー時には、READ LOG EXT commandをS−ATAブリッジ10に送信する(ステップS43)。このREAD LOG EXT commandを受信すると、S−ATAブリッジ10は、READ LOG EXT commandをHDC20に送信し(ステップS42)、Set Device Bits FIS(all bit clear)をホストシステム2に送信する(ステップS44)。
【0045】
次に、図7及び図8を参照して、ライトコマンドの処理手順を説明する。基本的には、前述のリードコマンドの処理手順と同様である。即ち、この場合においても、第1のライトコマンド(Write1要求)及び第2のライトコマンド(Write2要求)が連続的にホストシステム2から発行された場合を想定する。
【0046】
図7において、ステップS1、S3、S7は、それぞれ図4に示すステップSS1、S3、S7に対応する処理である。即ち、ホストシステム2は、S−ATAブリッジ10に対して、Write1要求としてRegH/D(register FIS)を送信する(ステップS1)。S−ATAブリッジ10は、順次シャドーレジスタ11に格納した後に、INTRQをディスクコントローラ20に出力する(ステップS3)。ここで、ディスクコントローラ20は、シャドーレジスタ11の全ての内容が格納されたバッファメモリ12をアクセスする(ステップS20)。また、この間、FW22は、FW内でTAG値に対応したフラグを設定する処理を実行する(ステップS50)。
【0047】
S−ATAブリッジ10は、コマンドのTAG番号やLBAアドレスのチェック後に、ビジービットを0にセットして、ホストシステム2に対してRegD/Hを応答として出力する(ステップS7)。これにより、S−ATAブリッジ10におけるコマンドの受け付け処理が完了する。
【0048】
さらに、ホストシステム2は連続して、S−ATAブリッジ10に対して、Write2要求としてRegH/Dを送信する(ステップS11)。S−ATAブリッジ10は、順次シャドーレジスタ11に格納した後に、INTRQをディスクコントローラ20に出力する(ステップS13)。同様に、ディスクコントローラ20は、シャドーレジスタ11の全ての内容が格納されたバッファメモリ12をアクセスする(ステップS21)。また、FW22は、FW内でTAG値に対応したフラグを設定する処理を実行する(ステップS51)。そして、S−ATAブリッジ10は、ホストシステム2に対してRegD/Hを応答として出力する(ステップS17)。
【0049】
このようなコマンド受け付け処理が完了すると、以下、Write1要求及びWrite2要求のそれぞれにライトコマンドの実行に伴う一連のデータ転送処理に移行する。
【0050】
ここでは、S−ATAブリッジ10は、ホストシステム2に対して、まずWrite2要求に応じたWrite2データ転送の予告を行なう(ステップS53)。この前に、FW22は、TAG値、BufferOfset、TransferCount、START=1(トリガ)のデータをS−ATAブリッジ10に送信する(ステップS52)。S−ATAブリッジ10は、これらのデータを受信して、Write2データ転送予告としてDMA setup FISをホストシステム2に送信する。
【0051】
S−ATAブリッジ10は、ServiceコマンドをHDC20に送信する(ステップS54)。このとき、DMA setup FISが、次のQueuingコマンドRed Arrow内でぶつかった場合は、再度FW22でTAG値などをセットしてくれる。また、Serviceコマンドは、擬似的にLegacy Command Queuingプロトコルを利用している。Serviceコマンドを受信したHDC20は、DMARQ assertedをS−ATAブリッジ10に送信する(ステップS55)。
【0052】
DMARQ assertedを受信すると、S−ATAブリッジ10は、DMA Active FISをホストシステム2に送信する(ステップS56)。DMA Active FISを受信すると、ホストシステム2は、Data FISをS−ATAブリッジ10に送信する(ステップS57)。Data FISを受信すると、S−ATAブリッジ10は、HDC20にライトデータ(Write Data)を送信する(ステップS58)。
【0053】
続いて、図8に示すように、FW22は、コマンド終了したものについてフラグを立てて、S−ATAブリッジ10に送信する(ステップS59)。HDC20は、転送終了を示すINTRQをS−ATAブリッジ10に送信する(ステップS60)。これらのデータを受信すると、S−ATAブリッジ10は、Set Device Bits FIS(bit5 clear)をホストシステム2送信して、Write2のデータ転送を完了する(ステップS61)。
【0054】
次に、FW22は、TAG値、BufferOfset、TransferCount、START=1(トリガ)をS−ATAブリッジ10に送信する(ステップS62)。これらのデータを受信すると、S−ATAブリッジ10は、Writeデータ転送予告としてDMA setup FISをホストシステム2に送信し(ステップS63)、ServiceコマンドをHDC20に送信する(ステップS64)。Serviceコマンドを受信すると、HDC20は、DMARQ assertedをS−ATAブリッジ10に送信する(ステップS65)。
【0055】
DMARQ assertedを受信すると、S−ATAブリッジ10は、DMA Active FISをホストシステム2に送信する(ステップS66)。DMA Active FISを受信すると、ホストシステム2は、Data FISをS−ATAブリッジ10に送信する(ステップS67)。Data FISを受信すると、S−ATAブリッジ10は、ライトデータ(Write Data)をHDC20に送信する(ステップS68)。
【0056】
また、FW22は、コマンド終了したものについてフラグを立てて、S−ATAブリッジ10に送信する(ステップS69)。HDC20は、転送終了を示すINTRQをS−ATAブリッジ10に送信する(ステップS70)。これらのデータを受信すると、S−ATAブリッジ10は、Set Device Bits FIS(bit5 clear)をホストシステム2送信して、Write1のデータ転送を完了する(ステップS71)。
【0057】
ホストシステム2は、エラー時には、READ LOG EXT commandをS−ATAブリッジ10に送信する(ステップS72)。このREAD LOG EXT commandを受信すると、S−ATAブリッジ10は、READ LOG EXT commandをHDC20に送信し(ステップS73)、Set Device Bits FIS(all bit clear)をホストシステム2に送信する(ステップS74)。
【0058】
以上のようにして、シリアルATAインターフェース機能を有するS−ATAブリッジ10及びHDC20からなるインターフェース装置により、ホストシステム2からのリードコマンド及びライトコマンドの具体的処理を行なうことができる。
【0059】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【0060】
【図1】本発明の実施形態に関するシステム構成を示すブロック図。
【図2】本実施形態に関するパーソナルコンピュータの外観を示す図。
【図3】本実施形態に関するS−ATAブリッジの構成を概念的に説明するための図。
【図4】本実施形態に関するコマンド処理の手順を説明するためのフローチャート。
【図5】本実施形態に関するリードコマンド処理の手順を説明するためのタイミングチャート。
【図6】本実施形態に関するリードコマンド処理の手順を説明するためのタイミングチャート。
【図7】本実施形態に関するライトコマンド処理の手順を説明するためのタイミングチャート。
【図8】本実施形態に関するライトコマンド処理の手順を説明するためのタイミングチャート。
【符号の説明】
【0061】
1…インターフェース装置、2…ホストシステム、3…ドライブシステム、
4…シリアルATAバス、5…パラレルATAバス、10…S−ATAブリッジ、
11…シャドーレジスタ、12…バッファメモリ、
13…TAG/アドレス・チェック制御部、20…ディスクコントローラ(HDC)、
21…タスクファイルレジスタ、22…ファームウエア(FW)、
200…パーソナルコンピュータ、300…回路基板。




 

 


     NEWS
会社検索順位 特許の出願数の順位が発表

URL変更
平成6年
平成7年
平成8年
平成9年
平成10年
平成11年
平成12年
平成13年


 
   お問い合わせ info@patentjp.com patentjp.com   Copyright 2007-2013