JP2007011659A - インターフェース装置、ディスクドライブ及びインターフェース制御方法 - Google Patents
インターフェース装置、ディスクドライブ及びインターフェース制御方法 Download PDFInfo
- Publication number
- JP2007011659A JP2007011659A JP2005191213A JP2005191213A JP2007011659A JP 2007011659 A JP2007011659 A JP 2007011659A JP 2005191213 A JP2005191213 A JP 2005191213A JP 2005191213 A JP2005191213 A JP 2005191213A JP 2007011659 A JP2007011659 A JP 2007011659A
- Authority
- JP
- Japan
- Prior art keywords
- command
- host system
- serial ata
- ata bus
- register means
- 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0674—Disk device
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Bus Control (AREA)
- Information Transfer Systems (AREA)
Abstract
【課題】ホストシステムからのコマンド受け付け処理に要する時間を短縮化し、データ転送速度を向上できるシリアルATAインターフェース装置を提供することにある。
【解決手段】シリアルATA方式のインターフェース装置において、シリアルATAバス4を介してホストシステム2に接続されたS−ATAブリッジ10は、コマンドを格納するシャドーレジスタ11及びHDC20のアクセスが可能なバッファメモリ12を有する。S−ATAブリッジ10は、内部処理だけで応答信号をホストシステム2に出力するまでのコマンドの受け付け処理を完了する。
【選択図】 図1
【解決手段】シリアルATA方式のインターフェース装置において、シリアルATAバス4を介してホストシステム2に接続されたS−ATAブリッジ10は、コマンドを格納するシャドーレジスタ11及びHDC20のアクセスが可能なバッファメモリ12を有する。S−ATAブリッジ10は、内部処理だけで応答信号をホストシステム2に出力するまでのコマンドの受け付け処理を完了する。
【選択図】 図1
Description
本発明は、一般的にはシリアルATA方式のインターフェース装置に関し、特に、ホストシステムとデバイス間のデータ転送速度を改善したインターフェース装置に関する。
近年、例えばパーソナルコンピュータなどのホストシステムと、ハードディスクドライブ(以下単にディスクドライブと表記する場合がある)を代表とするデバイスとを接続するインターフェースとして、シリアルATAインターフェース(Serial AT Attachment規格によるインターフェース仕様)が注目されている。なお、シリアルATAをS−ATAと表記する場合がある。
ところで、従来のディスクドライブでは、パラレルATAインターフェース仕様で、ホストシステム間のインターフェース機能を実現しているディスクコントローラが内蔵されている。このため、シリアルATAインターフェースを採用して、NCQ(Native Command Queuing)コマンド処理をサポートするために、ディスクドライブ側にはS−ATAブリッジなどのインターフェース変換装置が必要となる(例えば、特許文献1を参照)。
特開2003−223411号公報。
前述したように、S−ATAブリッジなどのインターフェース変換装置を使用することにより、シリアルATAインターフェースをサポートしたディスクドライブを実現できる。具体的には、ディスクドライブには、S−ATAブリッジとディスクコントローラ(HDC)とが組み込まれたシステムLSIが設けられる。
このようなシステムLSIにより、NCQコマンド処理を実行する場合には、以下のような処理手順が必要となる。即ち、S−ATAブリッジは、ホストシステムからRegH/D(Register-Host to Device)コマンド(FPDMAQコマンド)を受け取ると、ATA仕様によるシャドーレジスタ(Shadow Register)に一旦格納する。
次に、S−ATAブリッジは、パラレルATAインターフェースで接続されたHDCのタスクファイルレジスタ(コマンドレジスタなどのレジスタ群)に、シャドーレジスタに格納されたコマンドを転送する。HDCは、コマンド登録などの処理及びタスクファイルレジスタの内容(ステータスなど)をシャドーレジスタに転送する。S−ATAブリッジは、それらの一連の処理後に、ホストシステムに対してRegD/H(Register-Device to Host)を出力して、コマンドの受け付け処理が完了したことを応答する。
しかしながら、このような処理手順では、ホストシステムからコマンドを受け取ってから、ホストシステムに応答するまでに、例えば40μs程度の時間がかかる。このため、ホストシステムとディスクドライブ間のデータ転送速度の低下を招く要因となっている。
そこで、本発明の目的は、ホストシステムからのコマンド受け付け処理に要する時間を短縮化し、データ転送速度を向上できるシリアルATA方式のインターフェース装置を提供することにある。
本発明の観点に従ったインターフェース装置は、シリアルATAバスを通じて前記ホストシステムから送られたコマンドを格納するレジスタ手段と、前記レジスタ手段に格納されて前記コマンドを受け付けたことを指示する割込み信号を、パラレルATAバスを通じて前記デバイスのコントローラに送信する手段と、前記レジスタ手段から転送される前記コマンドを格納し、前記コントローラによりアクセス可能な構成のメモリ手段と、前記レジスタ手段に格納された前記コマンドをチェックし、チェック結果が正常な場合には、前記シリアルATAバスを通じて前記コマンドに対する応答信号を前記ホストシステムに出力する出力手段とを備えた構成である。
本発明によれば、ホストシステムからのコマンドを受け付けてから応答するまでの時間を短縮化し、結果としてホストシステムとデバイス間のデータ転送速度を向上できるシリアルATA方式のインターフェース装置を提供することができる。
以下図面を参照して、本発明の実施形態を説明する。
[システム構成]
図1は、本実施形態に関するインターフェース装置を含むシステムの構成を示すブロック図である。
図1は、本実施形態に関するインターフェース装置を含むシステムの構成を示すブロック図である。
本実施形態のシステムは、シリアルATAインターフェースにより接続されたディスクドライブとホストシステム2とからなる。ホストシステム2は、図2に示すように、例えばパーソナルコンピュータである。ディスクドライブは、例えば、パーソナルコンピュータの本体内に組み込まれたハードディスクドライブである。
ディスクドライブは大別して、図1に示すように、システムLSIからなるインターフェース装置1及びドライブシステム3からなる。ドライブシステム3は、ディスク媒体やヘッドを含み、ディスク媒体に対してデータの記録又は再生を行なうドライブ本体を構成している。
インターフェース装置1には、インターフェース変換装置に相当するS−ATAブリッジ10と、ディスクコントローラ(HDC)20とが組み込まれている。ディスクコントローラ20は、ドライブシステム3との間でデータ(リード/ライトデータ)の転送を制御するドライブインターフェース機能を有し、パラレルATAバス5によりS−ATAブリッジ10と接続している。
ディスクコントローラ20は、ホストシステム2により発行されたコマンドを格納するタスクファイルレジスタ21、及びコマンド処理を実行するファームウエア(以下FWと表記する)22を含む。タスクファイルレジスタ21は、コマンドを実行するためのコマンドレジスタなどのレジスタ群である。
(S−ATAブリッジ10の構成)
S−ATAブリッジ10は、シリアルATAバス4によりホストシステム2と接続し、パラレルATAバス5によりディスクコントローラ20と接続している。S−ATAブリッジ10は、S−ATA仕様のシャドーレジスタ11と、バッファメモリ12と、TAG/アドレス・チェック制御部13とを含む。
S−ATAブリッジ10は、シリアルATAバス4によりホストシステム2と接続し、パラレルATAバス5によりディスクコントローラ20と接続している。S−ATAブリッジ10は、S−ATA仕様のシャドーレジスタ11と、バッファメモリ12と、TAG/アドレス・チェック制御部13とを含む。
シャドーレジスタ11は、後述するように、シリアルATAバス4を介してホストシステム2から送られるコマンドを順次格納する。バッファメモリ12は、シャドーレジスタ11から転送された内容(コマンド群)を格納する。バッファメモリ12は、パラレルATAバス5を介して、ディスクコントローラ20によりアクセス可能に構成されている。
TAG/アドレス・チェック制御部13は、シャドーレジスタ11に格納されたコマンドのTAG番号や、LBA(論理ブロックアドレス)アドレスが正常であるか否かをチェックするハードウエアである。TAG番号は、ホストシステム2から連続的に送られる複数のコマンドの実行を管理するための番号であり、コマンドのそれぞれを識別するための番号である。
図3は、システムLSIとシリアルATAインターフェース400とを実装している回路基板300を示す図である。この回路基板300は、ディスクドライブに組み込まれている。なお、シリアルATAインターフェース400は、図2に示すパーソナルコンピュータ200の内部で、ホストシステム2に相当するマイクロプロセッサ(CPU)などと接続されている。また、ディスクコントローラ20は、前述したように、ディスクドライブの本体であるドライブシステム3に接続されている。
ここで、S−ATAブリッジ10は概念的には、図3に示すように、シリアルATAインターフェース400に接続してデータの入出力を実行する物理層(PHY)100と、このPHY100とデータの交換を行なうリンク/トランスポート層(Link & Transport)110と、コマンド層(Command)120とを有する。
コマンド層120には、前述のシャドーレジスタ11が含まれている。なお、S−ATAブリッジ10は、パラレルATAバス5以外にも、ほかのインターフェース信号線(IF−REG)を介してディスクコントローラ20と接続されている。
[作用効果]
以下図4のフローチャートを参照して、本実施形態に関するNCQ(Native Command Queuing)コマンド処理の手順を説明する。
以下図4のフローチャートを参照して、本実施形態に関するNCQ(Native Command Queuing)コマンド処理の手順を説明する。
まず、S−ATAブリッジ10は、シリアルATAバス4を通じて、ホストシステム2から出力されたS−ATA仕様のRegH/D(Register-Host to Device)コマンド(FPDMAQコマンド)40を受け取る(ステップS1)。S−ATAブリッジ10は、受け取ったATAコマンド(例えばリードコマンドやライトコマンド)を順次シャドーレジスタ11に格納する(ステップS2)。
S−ATAブリッジ10は、シャドーレジスタ11に含まれるコマンドレジスタが更新されると、割込み信号(INTRQ)50をディスクコントローラ20のFW22に出力する(ステップS3)。FW22は、割込み信号(INTRQ)50により、ホストシステム2からATAコマンドであるNCQコマンドを受け付けたことを認識する。
S−ATAブリッジ10は、コマンドレジスタが更新されると、シャドーレジスタ11に格納された全ての内容をバッファメモリ12に転送する(ステップS4)。さらに、S−ATAブリッジ10は、コマンドレジスタが更新されると、TAG/アドレス・チェック制御部13により、シャドーレジスタ11に格納されたコマンドのTAG番号やLBAアドレスが正常であるか否かをチェックする(ステップS5)。
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)。
このような処理を繰り返すことにより、ホストシステム2から連続的に送られるNCQコマンド(ATAコマンド)を、順次、受け付けることができる。
ここで、ディスクコントローラ20では、FW22は、割込み信号(INTRQ)50の受信に応じてバッファメモリ12をアクセスして、バッファメモリ12に格納されたシャドーレジスタ11の全ての格納内容を取り出して、タスクファイルレジスタ21に格納する。
ディスクコントローラ20は、FW22がタスクファイルレジスタ21のコマンドレジスタに格納されたコマンドを実行することにより、ディスク媒体に対するデータの記録又は再生を実行するための制御を行なう。即ち、ディスクコントローラ20は、ホストシステム2からの例えばリードコマンドを実行して、リードデータをドライブシステム3から受け取り、ホストシステム2に転送するための制御を実行する。また、ディスクコントローラ20は、ホストシステム2からの例えばライトコマンドを実行して、ライトデータをホストシステム2から受け取り、ドライブシステム3に転送する制御を実行する。
以上のようにして、S−ATAブリッジ10は、シリアルATAインターフェースを介してホストシステム2から出力されるNCQ(ATA)コマンドを受け付ける処理を実行する。この場合、本実施形態のS−ATAブリッジ10は、シャドーレジスタ11に格納された全ての内容を、HDC20のタスクファイルレジスタ21に転送するのではなく、内部のバッファメモリ12に転送する。HDC20のFW22は、当該バッファメモリ12をアクセスして、シャドーレジスタ11の内容をタスクファイルレジスタ21に格納する。
S−ATAブリッジ10は、TAG/アドレス・チェック制御部13のチェック結果が正常であれば、ホストシステム2に対してコマンドの受け付け処理の完了を応答する。従って、本実施形態では、シャドーレジスタ11とHDC20のタスクファイルレジスタ21間のデータ転送を行なうことなく、ホストシステム2からコマンドを受け取ってから応答するまでの処理を、S−ATAブリッジ10の処理だけで完了する。即ち、シャドーレジスタ11とタスクファイルレジスタ21間のデータ転送時間分だけ短縮できるため、ホストシステム2からのコマンドの受け付け処理を完了するまでの時間を大幅に短縮できることになる。これにより、結果として、コマンドの受け付け処理後に、コマンドの実行に伴うホストシステムとディスクドライブ間のデータ転送速度を高速化できる。
(コマンド処理の具体例)
図5から図8は、本実施形態に関するコマンド処理において、リードコマンド及びライトコマンドのそれぞれの具体的処理手順を説明するためのタイミングチャートである。
図5から図8は、本実施形態に関するコマンド処理において、リードコマンド及びライトコマンドのそれぞれの具体的処理手順を説明するためのタイミングチャートである。
まず、図5及び図6を参照して、リードコマンドの処理手順を説明する。ここでは、第1のリードコマンド(Read1要求)及び第2のリードコマンド(Read2要求)が連続的にホストシステム2から発行された場合を想定する。
図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)。
S−ATAブリッジ10は、コマンドのTAG番号やLBAアドレスのチェック後に、ビジービットを0にセットして、ホストシステム2に対してRegD/Hを応答として出力する(ステップS7)。これにより、S−ATAブリッジ10におけるコマンドの受け付け処理が完了する。
さらに、ホストシステム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)。
このようなコマンド受け付け処理が完了すると、以下、Read1要求及びRead2要求のそれぞれにリードコマンドの実行に伴う一連のデータ転送処理に移行する。
ここでは、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に送信する。
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)。
続いて、図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)。
次に、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)。
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)。
ホストシステム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)。
次に、図7及び図8を参照して、ライトコマンドの処理手順を説明する。基本的には、前述のリードコマンドの処理手順と同様である。即ち、この場合においても、第1のライトコマンド(Write1要求)及び第2のライトコマンド(Write2要求)が連続的にホストシステム2から発行された場合を想定する。
図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)。
S−ATAブリッジ10は、コマンドのTAG番号やLBAアドレスのチェック後に、ビジービットを0にセットして、ホストシステム2に対してRegD/Hを応答として出力する(ステップS7)。これにより、S−ATAブリッジ10におけるコマンドの受け付け処理が完了する。
さらに、ホストシステム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)。
このようなコマンド受け付け処理が完了すると、以下、Write1要求及びWrite2要求のそれぞれにライトコマンドの実行に伴う一連のデータ転送処理に移行する。
ここでは、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に送信する。
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)。
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)。
続いて、図8に示すように、FW22は、コマンド終了したものについてフラグを立てて、S−ATAブリッジ10に送信する(ステップS59)。HDC20は、転送終了を示すINTRQをS−ATAブリッジ10に送信する(ステップS60)。これらのデータを受信すると、S−ATAブリッジ10は、Set Device Bits FIS(bit5 clear)をホストシステム2送信して、Write2のデータ転送を完了する(ステップS61)。
次に、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)。
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)。
また、FW22は、コマンド終了したものについてフラグを立てて、S−ATAブリッジ10に送信する(ステップS69)。HDC20は、転送終了を示すINTRQをS−ATAブリッジ10に送信する(ステップS70)。これらのデータを受信すると、S−ATAブリッジ10は、Set Device Bits FIS(bit5 clear)をホストシステム2送信して、Write1のデータ転送を完了する(ステップS71)。
ホストシステム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)。
以上のようにして、シリアルATAインターフェース機能を有するS−ATAブリッジ10及びHDC20からなるインターフェース装置により、ホストシステム2からのリードコマンド及びライトコマンドの具体的処理を行なうことができる。
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
1…インターフェース装置、2…ホストシステム、3…ドライブシステム、
4…シリアルATAバス、5…パラレルATAバス、10…S−ATAブリッジ、
11…シャドーレジスタ、12…バッファメモリ、
13…TAG/アドレス・チェック制御部、20…ディスクコントローラ(HDC)、
21…タスクファイルレジスタ、22…ファームウエア(FW)、
200…パーソナルコンピュータ、300…回路基板。
4…シリアルATAバス、5…パラレルATAバス、10…S−ATAブリッジ、
11…シャドーレジスタ、12…バッファメモリ、
13…TAG/アドレス・チェック制御部、20…ディスクコントローラ(HDC)、
21…タスクファイルレジスタ、22…ファームウエア(FW)、
200…パーソナルコンピュータ、300…回路基板。
Claims (10)
- ホストシステムとデバイス間を接続するシリアルATA方式のインターフェース装置であって、
シリアルATAバスを通じて前記ホストシステムから送られたコマンドを格納するレジスタ手段と、
前記レジスタ手段に格納されて前記コマンドを受け付けたことを指示する割込み信号を、パラレルATAバスを通じて前記デバイスのコントローラに送信する手段と、
前記レジスタ手段から転送される前記コマンドを格納し、前記コントローラによりアクセス可能な構成のメモリ手段と、
前記レジスタ手段に格納された前記コマンドをチェックし、チェック結果が正常な場合には、前記シリアルATAバスを通じて前記コマンドに対する応答信号を前記ホストシステムに出力する出力手段と
を具備したことを特徴とするインターフェース装置。 - 前記デバイスは、ディスク媒体に対してデータを記録または再生するディスクドライブであり、
前記コントローラは、前記ディスクドライブに含まれて、前記ディスクドライブのインターフェース機能を有するディスクコントローラであり、
前記ディスクコントローラと前記パラレルATAバスを介して接続し、
前記シリアルATAバスで接続された前記ホストシステムと、前記ディスクコントローラとの間でコマンド及びデータの転送を制御するように構成されたことを特徴とする請求項1に記載のインターフェース装置。 - 前記コントローラは、
前記ホストシステムからのコマンドを実行するために格納するタスクファイルレジスタ手段を有し、
前記割込み信号に応じて前記メモリ手段に格納されたコマンドをアクセスし、前記タスクファイルレジスタ手段に格納するように構成されていることを特徴とする請求項1または請求項2のいずれか1項に記載のインターフェース装置。 - 前記レジスタ手段は、前記シリアルATAバスを通じて前記ホストシステムから連続的に送られる複数のコマンドを順次格納し、
前記出力手段は、前記シリアルATAバスを通じて前記コマンド毎の応答信号を前記ホストシステムに出力するように構成されていることを特徴とする請求項1に記載のインターフェース装置。 - シリアルATAインターフェースによりホストシステムと接続し、前記ホストシステムからのコマンドに応じて、ディスク媒体に対してデータの記録または再生を行なうディスクドライブにおいて、
前記ホストシステムからのコマンドを実行して、前記ディスク媒体と前記ホストシステム間のデータの転送を制御するディスクコントローラと、
シリアルATAバスにより前記ホストシステムに接続し、かつパラレルATAバスにより前記ディスクコントローラに接続するシリアルATAブリッジ手段とを具備し、
前記シリアルATAブリッジ手段は、
前記シリアルATAバスを通じて前記ホストシステムから送られたコマンドを格納するレジスタ手段と、
前記レジスタ手段に格納されて前記コマンドを受け付けたことを指示する割込み信号を、前記パラレルATAバスを通じて前記ディスクコントローラに送信する手段と、
前記レジスタ手段から転送される前記コマンドを格納し、前記コントローラによりアクセス可能な構成のメモリ手段と、
前記レジスタ手段に格納された前記コマンドをチェックし、チェック結果が正常な場合には、前記シリアルATAバスを通じて前記コマンドに対する応答信号を前記ホストシステムに出力する出力手段と
を有することを特徴とするディスクドライブ。 - 前記ディスクコントローラは、
前記ホストシステムからのコマンドを実行するために格納するタスクファイルレジスタ手段を有し、
前記割込み信号に応じて前記メモリ手段に格納されたコマンドをアクセスし、前記タスクファイルレジスタ手段に格納するように構成されていることを特徴とする請求項5に記載のディスクドライブ。 - 前記レジスタ手段は、前記シリアルATAバスを通じて前記ホストシステムから連続的に送られる複数のコマンドを順次格納し、
前記出力手段は、前記シリアルATAバスを通じて前記コマンド毎の応答信号を前記ホストシステムに出力するように構成されていることを特徴とする請求項5に記載のディスクドライブ。 - 前記シリアルATAブリッジ手段は、
前記ホストシステムから連続的に送られる複数のコマンドが前記ディスクコントローラにより実行されるときに、順序不同に実行される各コマンドに対応するデータ転送を管理するためのチェック処理を実行する手段を含むことを特徴とする請求項5から請求項7のいずれか1項に記載のディスクドライブ。 - 前記ディスクコントローラ及び前記シリアルATAブリッジ手段は、前記パラレルATAバスで接続された状態で同一の集積回路素子に含まれるように構成されていることを特徴とする請求項5から請求項8のいずれか1項に記載のディスクドライブ。
- ホストシステムとデバイス間を接続するシリアルATAインターフェースの制御方法であって、
シリアルATAバスを通じて前記ホストシステムから送られたコマンドをレジスタ手段に格納するステップと、
前記レジスタ手段に格納されて前記コマンドを受け付けたことを指示する割込み信号を、パラレルATAバスを通じて前記デバイスのコントローラに送信するステップと、
前記レジスタ手段から転送される前記コマンドを、前記コントローラによりアクセス可能な構成のメモリ手段に格納するステップと、
前記レジスタ手段に格納された前記コマンドをチェックするステップと、
前記チェック結果が正常な場合には、前記シリアルATAバスを通じて前記コマンドに対する応答信号を前記ホストシステムに出力するステップと
を有する手順を実行することを特徴とするインターフェース制御方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005191213A JP2007011659A (ja) | 2005-06-30 | 2005-06-30 | インターフェース装置、ディスクドライブ及びインターフェース制御方法 |
US11/476,930 US20070168839A1 (en) | 2005-06-30 | 2006-06-29 | Interface apparatus for connecting a device and a host system, and method of controlling the interface apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005191213A JP2007011659A (ja) | 2005-06-30 | 2005-06-30 | インターフェース装置、ディスクドライブ及びインターフェース制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007011659A true JP2007011659A (ja) | 2007-01-18 |
Family
ID=37750079
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005191213A Withdrawn JP2007011659A (ja) | 2005-06-30 | 2005-06-30 | インターフェース装置、ディスクドライブ及びインターフェース制御方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20070168839A1 (ja) |
JP (1) | JP2007011659A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9239779B2 (en) | 2012-01-31 | 2016-01-19 | Kabushiki Kaisha Toshiba | Storage device which can perform stable communication between host and storage device, and method of controlling the same |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4434218B2 (ja) * | 2007-02-19 | 2010-03-17 | セイコーエプソン株式会社 | データ転送制御装置及び電子機器 |
TWI424435B (zh) * | 2009-08-31 | 2014-01-21 | Phison Electronics Corp | 對快閃記憶體下達程式化指令的方法、控制器與儲存系統 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6564271B2 (en) * | 1999-06-09 | 2003-05-13 | Qlogic Corporation | Method and apparatus for automatically transferring I/O blocks between a host system and a host adapter |
US20040249985A1 (en) * | 2001-10-18 | 2004-12-09 | Toshiaki Mori | Host network interface device and drive network interface device |
US20040255068A1 (en) * | 2003-06-13 | 2004-12-16 | Yuan-Ting Wu | Method and apparatus for control of another device through an ide bus |
US7496691B2 (en) * | 2003-07-28 | 2009-02-24 | Lsi Corporation | Standard ATA queuing automation in serial ATA interface for creating a frame information structure (FIS) corresponding to command from transport layer |
-
2005
- 2005-06-30 JP JP2005191213A patent/JP2007011659A/ja not_active Withdrawn
-
2006
- 2006-06-29 US US11/476,930 patent/US20070168839A1/en not_active Abandoned
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9239779B2 (en) | 2012-01-31 | 2016-01-19 | Kabushiki Kaisha Toshiba | Storage device which can perform stable communication between host and storage device, and method of controlling the same |
Also Published As
Publication number | Publication date |
---|---|
US20070168839A1 (en) | 2007-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101035225B1 (ko) | 개량 데이터 전송을 위한 제어기 장치 및 방법 | |
US7526592B2 (en) | Interrupt control system and storage control system using the same | |
US7340551B2 (en) | Bridge permitting access by multiple hosts to a single ported storage drive | |
US7620747B1 (en) | Software based native command queuing | |
US7069350B2 (en) | Data transfer control system, electronic instrument, and data transfer control method | |
JP6196447B2 (ja) | 読み取りデータ・ストローブ信号を含む低減ピン・カウント(rpc)メモリ・バス・インターフェースのための装置及び方法 | |
US6636927B1 (en) | Bridge device for transferring data using master-specific prefetch sizes | |
KR102168487B1 (ko) | 높은 클럭 속도에서 연속하는 판독 버스트 지원 | |
US5996045A (en) | IDE disk drive arrangement that combines the capacity of a master drive and slave drive while hiding the presence of slave drive to a host computer | |
US7484030B2 (en) | Storage controller and methods for using the same | |
JP4922442B2 (ja) | バッファ管理装置、同装置を備えた記憶装置、及びバッファ管理方法 | |
JP2006127300A (ja) | ホストと記憶デバイスとの間における通信方法、記憶デバイス、ホスト、記憶デバイスとホストを備えるシステム | |
JP6649989B2 (ja) | ストレージシステム及びその制御方法 | |
TW201112130A (en) | Controllers and methods for controlling data transfer, and electronic systems | |
JP2007011659A (ja) | インターフェース装置、ディスクドライブ及びインターフェース制御方法 | |
KR100843199B1 (ko) | 고속 아이.디.이. 인터페이스 장치 및 그 방법 | |
US20050198425A1 (en) | Combined optical storage and flash card reader using single ide or sata port and method thereof | |
JP2003288317A (ja) | 端数ブロックデータ転送を検出し補償するシステムおよび方法 | |
JP2011508329A (ja) | ブリッジ回路 | |
TWI416339B (zh) | 通用序列匯流排傳輸轉譯器及輸入請求同步傳輸方法 | |
US20060277326A1 (en) | Data transfer system and method | |
US20040168026A1 (en) | Write posting memory interface with block-based read-ahead mechanism | |
US8166228B2 (en) | Non-volatile memory system and method for reading and storing sub-data during partially overlapping periods | |
JP5216719B2 (ja) | 情報処理装置および制御装置 | |
JP2012063875A (ja) | データ記憶装置、コマンド制御装置及び電子機器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080118 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20081212 |