[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JPH10513294A - 同期dma転送プロトコル - Google Patents

同期dma転送プロトコル

Info

Publication number
JPH10513294A
JPH10513294A JP9519762A JP51976297A JPH10513294A JP H10513294 A JPH10513294 A JP H10513294A JP 9519762 A JP9519762 A JP 9519762A JP 51976297 A JP51976297 A JP 51976297A JP H10513294 A JPH10513294 A JP H10513294A
Authority
JP
Japan
Prior art keywords
data
bus
signal
peripheral drive
host device
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.)
Pending
Application number
JP9519762A
Other languages
English (en)
Inventor
アペルバウム,ジェフリー・エイチ
ブルックス,ジョン・ダブリュ
マックグラス,ジェイムズ・ピィ
ニューイアン,ハング・シィ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Quantum Corp
Original Assignee
Quantum Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Quantum Corp filed Critical Quantum Corp
Publication of JPH10513294A publication Critical patent/JPH10513294A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Information Transfer Systems (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

(57)【要約】 ATAバスにより接続されるホスト装置と周辺ドライブ装置との間でデータを転送するための同期DMAバースト転送方法が提供される。この方法は、一方の装置にストローブ信号およびデータ信号双方を担当させることにより非同期システムにおける同期データ転送能力をもたらす。ホストの読出または書込コマンド(901)がドライブ装置に送られると、装置は同期DMAバーストをいつ開始するかを決定する(902)。読出コマンド(B)に対し、装置は同期DMAバーストを要求し、次に、ホストがバースト開始の準備ができたと確認した後(904および906)、データワードをATAバスに駆動する(908)。装置がストローブ信号をトグルした後(910)、ホストはデータワードをバスにラッチする(912)。さらなるデータワードをバスで駆動し、ストローブ信号を再びトグルしてさらなるデータワードをホストにラッチすることができる(914)。すべてのデータワードの転送後、バーストは終了し、別のホストコマンドに対して使用される準備が整う(918)。

Description

【発明の詳細な説明】 同期DMA転送プロトコル 発明の分野 本発明は、バスを介したホスト装置と周辺ドライブ装置との間のデータ転送に 関する。特定的には、本発明は増大したデータ速度で同期直接メモリアクセス( DMA)データ転送を行なう方法に関する。 背景 パーソナルコンピュータ(PC)システム内のホスト装置および周辺ドライブ 装置間のデータ転送速度は、装置を相互接続するバスアーキテクチャにより制限 される。周辺ドライブ装置をPCのシステムバスに相互接続するまたはインタフ ェースするのに通常用いられるバスの1つのタイプとしてATAバスがある。こ れは当初はIBM PC/ATのISAバスのために設計されたディスクドライ ブインタフェースである。ATAバスは初め、LS−TTL(低電力ショットキ ートランジスタトランジスタ論理)ゲートを用いて18インチのケーブルをドラ イブするように構成された。当時のシステムでは、LS−TTLゲートの遅いエ ッジおよび短いケーブルの長さも十分な働きをしていた。しかしながら、PCシ ステムが高速化および複雑化するにつれて、ATAバスの定義は拡張され、より 高速のデータ転送速度を実行する動作モードを含むようになり、ハードウェアの 設計者らはATAケーブル長を18インチをはるかに上回る長さに延長すること もある。例として、PIO(プログラムI/O)モードは現在ではPIOモード 0−4を含む。モード0、1および2は初めの定義どおりのATAインタフェー スに対応し、PIOモード3は最大データ転送速度として11.1メガバイト/ 秒を定義し、PIOモード4は最大転送速度として16.7メガバイト/秒を定 義する。同様に、新しいDMAモードが定義されている。マルチワードDMAモ ード0は当初のインタフェースに対応し、DMAモード1および2はより高速の データ転送速度をもたらす。マルチワードDMAモード2は新規のPIOモード 4と同じ最大転送速度を有する。 これら新規の動作モードは、ATAバスに対し高速の性能を求めるため、サイ クルタイムを減少させることによりデータ転送速度を増大させようとする結果を もたらす。サイクルタイムの低減はエッジレートを増大させることによって達成 されている。エッジレートの増加はATAケーブルの長さの増大とともに、当初 のATAケーブル構成の欠陥の発生を招いている。この欠陥はケーブルにおいて 伝送される信号の保全性に影響を与える。特に重要なことは、システムの故障お よび/またはデータ損失につながる可能性のある、信号間の過剰なリンギングお よびクロストーク、ならびにタイミング/伝搬遅延である。エッジレートの増大 および長すぎるケーブルがこうした問題を発生させるのである。このように、有 効で使用可能なデータのデータ転送速度は、ATAバスの構造に本来備わってい る制限により限定されるのである。 エッジレートの増大および長すぎるケーブルは、不適切な終端のバス構造設計 であるためATAバスにとって問題が多いものである。標準の18インチATA バスケーブルは通常、典型的な特性インピーダンスが約110Ωで典型的な伝搬 速度が約60%cである単終段伝送線路として形成される。伝送線路の理論に従 うと、リンギングは、終端インピーダンスがケーブルの特性インピーダンスと整 合しないときに発生する。リンギングの振幅は、インピーダンスの不整合が増大 すると大きくなる。ATAバスの信号およびデータラインの十分な振幅のリンギ ングは、システムの故障および/またはデータ損失をもたらす可能性のある誤っ たトリガおよび大幅な整定遅延を生じさせる。 リンギングの発生が特に問題となるのは、PCシステムにおけるATAバスで のデータ転送の場合であり、その理由は、ディジタル情報が伝送線路で転送され るからである。伝送線路理論の他の局面に従うと、伝送線路で伝送されるべき情 報は波形として入力される。特性インピーダンスおよび伝送線路の長さのため、 伝送線路からの波形出力は歪みを有している。入力波形が一般に正弦波であるア ナログ伝送では、出力波形は典型的には、比較的容易に修正可能な移相により歪 みを受ける。しかしなからディジタル伝送では、エッジ遷移の認識は伝送される 情報は1および0の形式であるため重要なものなので、入力波形は一般に何らか のタイプの方形波である。こうした方形波の歪みは、エッジ遷移を明確に認識す ることのできない波形をもたらすリンギングとして明らかである。このように、 上記のような誤ったトリガは、ディジタル伝送に伴われるもので生じやすいもの である。 最近ではリンギングの増加の問題がさらに波及している。なぜなら、現在のP Cのバスアーキテクチャは増大したプロセッサおよびドライブ速度に対処するよ うに変更されているからである。プロセッサバスの速度が8MHzから33MH Zに増大し、ディスクドライブの速度が増大するにつれて、ATA標準を最新の ものにしてより高速のデータ転送速度を可能にすることが必要になっている。伝 搬遅延を減少させるために、製造業者の中には、ケーブルの容量性負荷で出力信 号を高速にスルーするためにホストの出力ドライブを増大させるものがある。こ れは最初のATAバスで使用された低速度のTTL装置の代わりに高速のCMO SプロセスでATAインタフェースチップを実現することにより達成されている 。結果として、出力インピーダンスは減少し、ATAバスでのエッジレートは、 TTL装置の5から6nsという範囲に対し、1から2ns以下に減少している 。こうした十分な終端を伴わない高速のエッジは、バスでのリンギングを、多く のシステム/ドライブの組合せが作動しないほどに悪化させている。 クロストークは、ある信号線でのスイッチングが隣接または近接する線におけ る信号を誘導するときに発生する。信号は以下の2つのメカニズムすなわち結合 キャパシタンスおよび相互インダクタンスにより近接する線に結合する。スイッ チング信号の波面がケーブルを伝搬するにつれて、エネルギを近接する線に結合 する。エネルギが第2の線に入ると、2つの方向すなわち受信者に向かっておよ びソースに向かって伝搬する。結合された信号の大きさは1次線路での信号の変 化率に比例する。さらに、結合された信号の振幅は、結合キャパシタンスおよび 相互インダクタンスの合計量に比例するため、ケーブルの長さに比例することに なる。こうしたクロストーク特性は、新しいATAバスドライバのスルーレート およびケーブルの長さの制御を重要なものにする。なぜなら、高速のエッジレー トおよび結果生じるデータラインでのリンギングは、クロストークによって隣接 する制御ラインに結合する可能性があり、18インチを上回るケーブル長はクロ ストークの可能性を増大させるからである。 ATAバス設計の欠陥のある終端およびケーブル長さに関連するさらなる問題 は、ケーブル長さの変化によりさらに悪化する伝搬遅延である。上記のように、 ATAバスは当初最大の長さが18インチとなるように規定されていた。しかし ながら今日では、システムの設計者らには、18インチ内でホスト装置を周辺ド ライブ装置に接続できるシステムの設計が強く求められている。さらに、システ ムの中には、2つのATAケーブルを共有するために二重ATAインタフェース ポートで実現されているものがある。これらポートは互いに完全に独立している わけではなく、二重ポートは、結果として効果的にも36インチの長さであるA TAケーブルをもたらすことになる。この増大したケーブル長は制御およびデー タ信号を互いに送受信するホストおよび周辺ドライブ装置に関連する伝搬遅延を 生じさせることになる。この伝搬遅延は最終的に、データ転送速度およびバスの 全体としての性能に影響を及ぼす。 ATAバスでのデータ転送に関連するさらなる問題は、データ保全性である。 バスで転送されるデータが有効であることは重要であり、したがって信頼性が高 く容易に実現できるエラー検出能力を与えることが望ましい。データビットから なるワードがATAバスで転送されるため、ビット指向エラー検出の方法は、シ ンボル指向エラー検出方法よりも実際的である。しかしながら、従来のビット指 向エラー検出はATAバスで発生するデータ転送にとっては実際的ではない。な ぜなら、従来のビット指向エラー検出はビットシリアル方法だからである。従来 のビットエラー検出手順は、以下のジェネレータ整式を用いて入力データビット のストリームを論理的に操作することにり巡回冗長符号(CRC)を発生させる 。 G(X)=X16+X12+X5+1 データストリームの各ビットは、ビットセルタイミングレートで動作するビット クロックにより、CRC論理エンコーダ/デコーダに順次的にシフトされる。A TAバスで発生するデータ転送は16ビットワードのデータを転送するため、各 ワードはビットクロックの16倍に等しいクロック周期で転送される。このよう に、ビットクロックにより動作する既存のビットシリアル方法を用いることには 、ビットクロックまたはワードクロックの16倍の周波数でのクロックを必要と する。ビットシリアル方法のさらなる問題は、データはワード単位で転送される のでATAインタフェース回路構造のこの部分で利用できるビットクロックがな いことである。このように、既存のビット指向エラー検出手順は、ATAバスで のデータ転送に対しデータ保全性を与えるための実用的な方法ではない。 上記のATAバス設計の制限は、ホスト装置および周辺ドライブ装置間のデー タ転送能力を、上記のような速度に制限している。さらに高速のプロセッサおよ び周辺装置の出現に伴い、ホストおよび周辺ドライブ装置間のさらに高速かつ正 確なデータ転送速度を獲得することが望ましくなっている。したがって、何らか の動作上の制限を有するバスインタフェースでのホスト装置および周辺ドライブ 装置間のデータ転送を、バスインタフェースの動作上の制限を妨害することなく 増大したデータ転送速度で行なうための、改良され、簡潔でかつ費用効率の高い 方法を必要としているが、この必要は未だに満たされていない。 概要 本発明の方法は上記の必要性を満たすものである。 本発明は、コンピュータシステムにおいて同期DMAバーストを実行するため の方法に関する。このコンピュータシステムはバスによって少なくとも1つの周 辺ドライブ装置に接続されるホスト装置を含み、バスは関連の制御信号伝送スト ローブレートを有し、ホスト装置の読出しまたは書込みコマンドに応答して周辺 ドライブ装置およびホスト装置間でデータ転送を行なうために使用される。各コ マンドに対するデータ転送は、バスにおける連続する同期DMAバーストを通し て実行される。 ホスト装置の読出コマンドに応答して、周辺ドライブ装置は同期DMAバース トを開始させるためのDMA要求信号をアサートし、ホスト装置が同期DMAバ ーストの開始の準備ができると、ホスト装置はDMA要求信号に応答してDMA 確認信号をアサートする。ホスト装置によるDMA確認信号のアサート後ある予 め定められた期間内に、周辺ドライブ装置はバスに第1のデータワードを置き、 次にバスにデータワードを置いた後第2の予め定められた時間が経過した後、周 辺ドライブ装置はストローブ信号をハイ状態からロー状態にトグルし、第1のデ ータワードをホスト装置にラッチする。本発明の方法では、周辺ドライブ装置は 常に同期DMAバーストの開始を制御しており、データを送信する装置は、デー タおよびデータを受信する装置にデータをラッチするストローブ信号双方を制御 している。データおよびストローブ信号双方を1つの装置で制御することにより 、DMAバーストに関連する伝搬遅延、ケーブル整定およびセットアップ時間の 効 果を最小にし、バスでデータを転送できる速度を増大させる。 さらなるワードは、周辺ドライブ装置がバスにさらなるワードを置くことによ りDMAバースト中に転送可能である。次に、第2の予め定められた期間が経過 した後、周辺ドライブ装置はストローブ信号をロー状態からハイ状態へとトグル してさらなるワードをホスト装置にラッチする。このさらなるワードをバスに置 き、ストローブ信号を一方の状態から他方の状態にトグルするステップは、周辺 ドライブ装置が転送すべきすべてのデータワードの送信を終了するまで繰返すこ とが可能である。周辺ドライブ装置がすべてのデータの送信を終了すると、周辺 ドライブ装置はDMA要求信号をデアサートして同期DMAバーストを終了させ る。ストローブ信号が周辺ドライブ装置によるデータ送信の完了後ハイ状態にな ければ、周辺ドライブ装置はストローブ信号をハイ状態に戻す。 この方法はさらに、並列ビット指向エラー検出を行ない、同期DMAバースト 中に転送されるデータが有効であることを確実にする。データ転送中、周辺ドラ イブ装置およびホスト装置双方は、16ビットCRCの値を計算する。周辺ドラ イブ装置がすべてのDMAバーストを送信した後、ホスト装置は計算したCRC の値を周辺ドライブ装置に送り、周辺ドライブ装置は受信したCRCの値を計算 したCRCの値と比較してエラーについての検査を行なう。 ホスト装置のコマンドが書込コマンドのときも、同期DMAバーストは、DM A要求信号をアサートする周辺ドライブ装置により開始される。ホスト装置の方 でバースト開始の準備ができると、ホスト装置はDMA確認信号をアサートして 第1のデータワードをバスに置く。DMA確認信号に応答し、周辺ドライブ装置 は、DMA確認信号のアサート後予め定められた期間内に準備完了信号をアサー トする。次にホスト装置は、周辺ドライブ装置による準備完了信号のアサート後 予め定められた期間内にストローブ信号をハイ状態からロー状態にトグルする。 ストローブ信号のトグルによりデータワードは周辺ドライブ装置にラッチされる 。さらなるデータワードはホスト装置によって転送され、ホスト装置はさらなる データワードをバスに置き、ストローブ信号をトグルしてデータワードを周辺ド ライブ装置にラッチする。並列ビット指向エラー検出を書込コマンド同期DMA バースト中に行なうステップは、読出コマンド同期DMAバースト中に行なわれ る ステップと同様である。 同期DMAバーストは、好ましくは、約8.3MHzの制御信号伝送ストロー ブレートを有するATAバスで行なわれ、データ転送速度はおよそ33.3メガ バイト/秒に増大する。 本発明の方法は以前の転送プロトコルに対し多くの利点をもたらす。特に、同 期DMAバースト転送プロトコルは、ホスト装置および周辺ドライブ装置間での 大幅に増大したデータ転送速度をもたらし、かつ既存のバスシステムアーキテク チャ内で動作できるものである。したがってこの方法は、ホスト装置および周辺 ドライブ装置間のデータ転送速度を増大させるのに費用のかからない方法である 。さらに、この方法は、バスでの制御信号伝送ストローブレートを増大させるこ となく増大したデータ転送速度および改良されたデータ保全性をもたらすため、 増大した制御信号伝送周波数に関連するシステムの保全性の問題は回避される。 この方法のさらなる利点は、既存の転送プロトコルに対する後方互換性がもたら されるため、この方法が、既存のストローブ転送プロトコルを用いる他の周辺ド ライブ装置を含むシステムでハードウェアの実質的な修正を行なわなくても動作 可能なことである。 図面の簡単な説明 本発明の上記および他の特徴、局面および利点は、以下の説明、添付のクレー ムおよび図面を考慮することにより、より明らかに理解されるであろう。 図1aは、本発明を実現できるPCアーキテクチャのブロック図を示す。 図1bは、既存のATAケーブルについての部分的で概略的な回路図を示す。 図2は、先行技術によるデータ転送プロトコルについての簡潔な構成要素およ びタイミング図を示す。 図3は、本発明に従う同期DMAバーストについての簡潔な構成要素およびタ イミング図を示す。 図4aは、本発明の局面に従い実現される読出コマンドのための同期DMAバ ーストのドライブ開始中に交換されるデータおよび制御信号を示す詳細なタイミ ング図である。 図4bは、本発明のさらなる局面に従い実現される書込コマンドのための同期 DMAバーストのドライブ開始中に交換されるデータおよび制御信号を示す詳細 なタイミング図である。 図5は、本発明のさらなる局面に従う持続される同期DMAバースト中に交換 されるデータおよび制御信号を示す詳細なタイミング図である。 図6aは、本発明のさらなる局面に従い実現される読出コマンドのための同期 DMAバーストのドライブ終了中に交換されるデータおよび制御信号を示す詳細 なタイミング図である。 図6bは、本発明のさらなる局面に従い実現される書込コマンドのための同期 DMAバーストのドライブ終了中に交換されるデータおよび制御信号を示す詳細 なタイミング図である。 図7aは、本発明のさらなる局面に従い実現される読出コマンドのための同期 DMAバーストのホスト終了中に交換されるデータおよび制御信号を示す詳細な タイミング図である。 図7bは、本発明のさらなる局面に従い実現される書込コマンドのための同期 DMAバーストのホスト終了中に交換されるデータおよび制御信号を示す詳細な タイミング図である。 図8aは、本発明のある実施例に従うエラー検出を実現するための簡潔な論理 回路を示す。 図8bは、図8aに示される論理回路のより詳細な図を示す。 図9は、本発明を示す簡単なフローチャートである。 説明 図1aは、本発明の局面を実施する方法を実現することができる従来のPCア ーキテクチャの一例を示す。一般的にPCシステム10は、プロセッサバス18 によりRAM14およびROM16に接続されるCPU12を含む。バスインタ フェース20はプロセッサバス18を、複数のカードスロット24を含み得るI SAバス22に接続する。さらに、ローカルバスインタフェース26はプロセッ サバス18を、多数のローカルバスカードスロット30を含み得るローカルバス 28に接続する。周辺ドライブ装置32は、ATAバス34およびATAインタ フェース36を介してローカルバス28に接続される。 図1bは、従来のATAバス34ケーブルのある信号経路を部分的に示す概略 電気回路図である。ATAバス34のライン33は、ソースすなわち入力インピ ーダンスZinと、入力インピーダンスZin、ATAバスライン33の特性インピ ーダンスZchar、およびATAバスライン33の距離dの関数である結果として の終端すなわち出力インピーダンスZoutとを有する。上記背景のセクションで 説明したように、ATAバス34は終端するように設計されていなかった。した がって各信号ラインに対するATAバス34定義によるこれらインピーダンスの 値は、Zin<ZcharおよびZcher<Zoutとなり、その結果リンギングの問題が 発生する。 以下の説明では簡潔にするために、ATAバスによりホストに接続されるディ スクドライブについて説明する。しかしながら、当業者ならば理解するように、 本発明はATAバスにおける他の周辺装置を有するシステムにおいて実現可能で ある。さらに、ホスト装置という用語は一般にATAバスのホスト端部のことを 指し、これは当業者が理解するように、たとえばCPU12およびATAブリッ ジ/インタフェース36を含む。本発明はまた、ATAバス34に接続される複 数のドライブ装置(図示せず)を有するシステムにおいて実現可能である。 図2を参照して、先行技術によるDMA転送プロトコルは、ストローブされ非 同期の転送プロトコルであり、この場合ATAホスト35はイベントが発生する ときには常に責任がある。図2は、ホスト35からのストローブ信号およびディ スクドライブ32からのデータを示している。ATAホスト35が取付けられた ディスクドライブ32からデータを読出そうとするとき、ホストは時間t0でデ ィスクドライブ32にストローブを送信する。ディスクドライブ32はストロー ブの立下がりエッジを見るまではいつデータを転送する必要があるかを知らない 。ディスクドライブ32はストローブ信号を受信する前には、ホスト35に送信 するデータの準備に必要な、「最後の瞬間の」通知を待っているだけである。ス トローブがホスト35からディスクドライブ32に移動するには時間がかかるた め、ディスクドライブ32は、ホスト35がデータを要求したときよりも後に要 求を受取る。ディスクドライブ32は最終的には幾分後の時間t1でストローブ を見る。次にある処理上の遅延の後、ディスクドライブ32は時間t2でデータ を送 り出し、データはホスト35に戻される。他の送信の遅延は、ホスト35に戻さ れているデータに関連するため、データは幾分後の時間t3までホスト35に到 達しない。他の処理上の遅延はデータの受信に関連するため、ホストは最終的に データを時間t4でラッチする。ホストはストローブ間隔中にデータをラッチし なければならず、達成できるある最大速度があるため、ストロープ間隔は、ホス トがデータを利用できることを確実にするのに十分長くなければならない。した がって、先行技術による非同期転送プロトコルでは、ストローブ間隔は、ホスト 35からディスクドライブ32への送信時間およびディスクドライブ32からホ スト35への送信時間双方に関連する送信上の遅延、ならびにホスト35および ディスクドライブ32双方に関連する処理上の遅延を考慮する必要がある。こう した遅延を考慮する必要性が、データ転送速度を現在DMAモード2およびPI Oモード4で得られるものに制限する。 本発明は、先行技術による転送プロトコルが受けるデータ転送の制限を、ディ スクドライブ32がデータ転送を行なうのに必要な「最後の瞬間の」通知を待つ という状況を回避することによって克服する。本発明ではその代わりに、データ を送信している装置(ホスト35またはドライブ32)がストローブ信号を制御 する責任がある。図3はディスクドライブ32がストローブ信号を管理して読出 DMAバーストのためにデータを転送する本発明の、ディスクドライブ32から 見た簡略化されたタイミング図である。ホスト35がデータの読出しを求めるコ マンドを出し、バーストを開始する準備段階のハンドシェイクが行なわれると、 ディスクドライブ32に責任が課され、データを転送すべき時間を決定する。図 3に示すように、ディスクドライブ32側でデータを送信する準備ができると、 時間t0でバスにデータを置き、次にディスクドライブ32は、ケーブルにおい てデータが整定されたことがわかるまで待機し、時間t1でストローブ信号をト グルする。ストローブ信号のトグルは、データが利用できることをホスト35に 示し、データは、時間t1で発生したストローブがホストに届いたときホスト3 5にラッチされる。 ディスクドライブ32がバスにデータを置いた時間と、ディスクドライブがス トローブ信号をトグルした時間との間に発生する遅延は必要なものである。なぜ なら、データがATAバスに置かれたとき、バスの欠陥のある終端のために関連 するリンギングが発生するので、データ信号をホスト35にラッチする前に整定 させることが必要なためである。しかしながら、ディスクドライブ32からホス ト35への移行または伝搬時間は、データ信号およびストローブ信号双方に対し てほぼ同じであり、スルーレート(信号が「1」から「0」へまたは「0」から 「1」へと変化する時間)は、データ信号およびストローブ信号双方に対しほぼ 同じである。本発明では、データ信号の整定時間のみが考慮の必要がある。なぜ なら、データおよびストローブは1つの装置によって送信され、これら信号のス ルーレートおよび伝搬遅延は同様であるためである。ケーブルのホスト端部での ロディングがデータ信号のスルーレートを変化させるならば、ストローブ信号の スルーレートは同じ量だけ変化し、信号の相対的なタイミングもなお同様になる だろう。こうして、ホスト35がストローブ信号を管理し、ディスクドライブ3 2がデータ信号を管理する先行技術による転送プロトコルに対し、時間について 大幅な改良がもたらされる。先行技術の状況では、ストローブをディスクドライ ブ32に送信する際時間の損失が生じ、データをホスト35に送信する際時間の 損失が生じ、この損失時間はけっして回復することができない。 本発明の局面に従うと、双方向の伝搬遅延およびスルーレートを考慮する必要 がないため、非常に短いストローブ間隔を設定できる。データ転送を確実にする ために、本発明の同期DMA転送では、ストローブ信号がホスト35に到達可能 にする前にデータを整定させる遅延が必要になるのみである。このようにして、 本発明の同期DMAバースト方法は、最高速の現在のPIOモードおよびマルチ ワードDMAモードの2倍である、33.3メガバイト/秒以下の増大したデー タ転送速度をもたらす。 図4aおよび4bを参照して、本発明のある実施例に従う同期DMA転送の開 始についての詳細な説明を以下で行なう。図4aを参照して、ホスト35がデー タを要求する読出コマンドを送り、ディスクドライブ32のデータ転送開始準備 ができてからある時間が経過した後、ディスクドライブ32はホスト35に対し 、DMA要求信号DMARQをアサートすることにより(イベント1として示さ れる)同期DMAバーストを開始する。アサートされたDMARQに応答して、 ホ スト35が要求されたデータ受信の準備ができると、ホスト35は、DMA確認 信号−DMACKをアサートすることにより(イベント2として示される)準備 ができていることを示し、バーストの終了まで−DMACKをアサートし続けな ければならない。ディスクドライブ32は、出力ドライバのターンオンを可能に する−DMACKのアサートから最小の時間の遅延Tza経過後、データをATA バス34に駆動または置くことができる。一般には、出力ドライバのターンオン に必要な最小時間Tzaはおよそ20nsである。ディスクドライブ32が、デー タをホスト35にラッチするストローブ信号をトグルできる前に、ディスクドラ イブはまた、ホスト35が、ホストが−DMACKをアサートした後、ストップ 信号STOPをデアサートし、準備完了信号−DMARDYをアサートするのを 待たねばならない。STOPのデアサートおよび−DMARDYのアサート(イ ベント3で示される)は、−DMACKのアサートから、すべての制御信号の移 動に対し、標準の時間範囲内で行なわれる。この時間範囲は好ましくはおよそ2 0から70nsの範囲内である。 ホスト35がSTOPをデアサートし、−DMARDYをアサートした後、デ ィスクドライブ32は第1のストローブ信号を送信することができ、これをST OPおよび−DMARDY信号を見た後限定された時間Tli内に行なわねばなら ない。この限定された時間Tliは好ましくはおよそ0から150nsの範囲内で ある。さらに、ディスクドライブ32は、第1のストローブ信号を送信する前に 、ディスクドライブ32がデータワードをATAバス34に置いたときから測定 した最小の予め定められたセットアップ時間Tdvs待機しなければならない。こ の時間は、データがATAバス34で有効になるのに要する時間である。好まし くは、最小のセットアップ時間Tdvsは、選択される速度次第で、約38から約 75nsの範囲内である。 ディスクドライブ32は、ハイ状態からロー状態へとストローブ信号をトグル することにより第1のストローブ信号をホスト35に送る(イベント4で示され る)。ストローブ信号をハイ状態からロー状態にトグルすることにより、ストロ ーブ信号の第1のエッジが定められ、この第1のエッジは、有効データがATA バス34で利用できることを示すものとしてホスト35によって認識されるもの である。ホスト35はこのエッジを見ると、ATAバス34からデータを取出す 。このように、ストローブ信号のトグルは、読出バースト中ホスト35において データをラッチするのに使用される。 次に図4bを参照して、書込コマンドに対する同期DMAバーストの開始につ いて、本発明の原理に従い説明する。読出コマンドの場合と同様、同期DMAバ ーストは、ディスクドライブ32が同期DMAバーストの開始準備ができたとき にDMARQをアサートすることによって開始される(イベント1)。アサート されたDMARQに応答し、ホスト35のデータ書込準備ができると、ホスト3 5は、−DMACKをアサートすることにより(イベント2で示される)準備完 了を示し、−DMACKの標準時間範囲内にSTOPをデアサートする(イベン ト3で示される)。さらに、ホスト35はATAバス34でデータを駆動する。 次にホスト35は、ディスクドライブ32のホスト35からのデータ受信準備が 完了していることを示す−DMARDYをディスクドライブ32がアサートする のを待つ。ディスクドライブ32は、アサートされた−DMACKおよびデアサ ートSTOPを見た後限定された期間Tli内に−DMARDYをアサートせねば ならない(イベント4で示される)。ホスト35は現在データを送信しているた め、現在ストローブ信号を管理しているが、ホスト35がストローブ信号をトグ ルできる前に、上記のようにディスクドライブ32により−DMARDYがアサ ートされるのを待たねばならない。 ディスクドライブ32が−DMARDYをアサートすると、ホスト35は−D MARDYを見た後いつでも第1のストローブ信号をトグルできる(イベント5 で示される)。しかしながら、ホスト35は、第1のストローブ信号を送ること ができる前に、ホスト35がデータワードをATAバス34に置いたときから測 定して最小の予め定められたセットアップ期間Tdvs待ち、データが有効になる ようにしなければならない。読出しの場合と同様、ディスクドライブ32がスト ローブ信号の第1のエッジを見たとき、有効データをATAバス34から取出す ことがわかる。このように、ストローブ信号のトグルを用いて、書込バースト中 のディスクドライブ32におけるデータのラッチが行なわれる。 同期DMAバーストが開始され、第1のデータワードが読出コマンドの場合は ホスト35にラッチされ、または書込コマンドの場合はディスクドライブ32に ラッチされた後、この同期DMAバースト中にさらなるデータワードを転送でき る。図5は、複数のデータワードを転送している持続中の同期DMAバースト中 の制御およびデータ信号のタイミング図を示す。この図は包括的に、ホストおよ びディスクドライブではなく送信側および受信側から見た、読出バーストおよび 書込バースト両方の場合に適用できるデータバスを示している。上記のように、 ある以前の時間t1(図示せず)でATAバス34において駆動された第1のデ ータワードは、ハイ状態からロー状態へのストローブのトグル(イベント1)に より、受信側にラッチされる。その後の第2の時間t2で、次のデータワードが ATAバス34において駆動される。この次のデータワードは、ロー状態からハ イ状態へとストローブ信号をトグルすることにより受信側にラッチされる(イベ ント2)。ロー状態からハイ状態へと戻すストローブ信号のトグルが、ストロー ブ信号の第2のエッジを定める。さらなるワードを送信側によってATAバス3 4で駆動し、ハイおよびロー状態間でストローブ信号をトグルすることにより受 信側にラッチできる。受信側からすると、ストローブ信号のエッジが見えるとき はいつでも、受信側にはATAバス34からデータを取出すことがわかる。この ように、ストローブ信号の両エッジが、同期DMAバーストにおいてデータを転 送するのに利用される。 図5に示し先に述べたように、同期DMAバースト中、送信側は常にデータを ATAバス34に駆動し、ケーブル整定およびセットアップ時間を考慮する最小 の予め定められたセットアップ期間Tdvsが経過した後、送信側はストローブ信 号をトグルする。ストローブ信号の両エッジを上記の態様で用いることにより、 ストローブ信号の周波数をデータの周波数に整合させることができる。ATAバ スでは、ケーブルにおける最も高い基本的な制御信号周波数は、ほぼ8.33M Hz程度であるので、信号の保全性が維持される。 さらに、示されたデータは送信側および受信側で異なっており、ケーブル整定 時間では、データが送信側で駆動されてから長い時間経過するまでデータが受信 側で安定したとみなされないことを強調している。送信側でデータが有効である ことが要求される最小の予め定められたセットアップ時間Tdvs、および送信側 がストローブ信号をトグルした後データが無効になる可能性のある最小時間Tdv h は、受信側に保証されたデータセットアップ時間Tdsおよびデータ保持時間Td h よりも広いウインドウを形成する。 図6a、6b、7aおよび7bを参照して、同期DMAバーストの終了につい て説明する。ストローブ信号が初めてトグルされた後、送信側および受信側双方 がバーストの終了を行なうことができる。同期DMAバーストの終了前に、ある 条件が初めに満たされなければならない。受信側がバーストを終了させることを 望めば、完了していない転送を完全に停止させることを初めに確実にしなければ ならない。同様、送信側がバーストの終了を望めば、ストップ信号のアサートま たはDMARQのデアサートを行なって完了していない転送を終了させることが できる前に、ストローブ信号のトグル後最小期間Tss待たねばならない。好まし くは、最小期間Tssはおよそ50nsである。 図6aは、ディスクドライブ32が読出コマンド中に同期DMAバーストを終 了させるときに交換される制御およびデータ信号を示す。ディスクドライブ32 はDMARQ信号をデアサートすることにより(イベント1)、バーストを終了 させたいということを示し、ホスト35は、限定された期間Tli内にSTOPを アサートし−DMARDYをデアサートすることにより(イベント2)、このデ アサートを確認する。ディスクドライブ32はホスト35がSTOPをアサート したことがわかると、ストローブ信号を、既にハイ状態にあるのでなければハイ 状態に戻さなければならない(イベント3)。ストローブ信号をハイ状態に戻す ことは、STOP信号を見た後限定された期間Tli内に行なわなければならない 。ホスト35は、DMARQがデアサートされ、STOPがアサートされ、−D MARDYがデアサートされ、ストローブ信号がハイであることを見ると、−D MACKをデアサートすることかでき(イベント4)、上記の条件がすべて満た された後最小の限定された予め定められた期間Tmli内にこれを行なわなければ ならない。好ましくは、この最小の限定された予め定められた期間Tmliは、約 20から約150nsの範囲である。さらに、ディスクドライブ32は、ホスト 35による−DMACKのデアサートから測定して、プルアップ時間Tirdyz後 、ストローブ信号をトライステートにし、制御信号がハイインピーダンスになる こ とを可能にする。プルアップ時間Tirdyzは典型的にはおよそ20nsである。 同期DMAバーストの終了の際、ストローブ信号をハイ状態に戻してストロー ブ信号が次の同期DMAバーストに対する準備ができるようにしなければならな い。この「ストローブクリーンアップ」は、何らかの同期DMAバーストにおけ る第1のストローブ信号をハイ状態からロー状態にトグルして第1のデータワー ドを受信側にラッチしなければならないために、必要である。ストローブのクリ ーンアップは、この同期DMAバースト方法では、初期のハイ状態でストローブ 信号を用いる既存のホスト−周辺データ転送プロトコルに対する後方互換性が得 られることになるので、有利である。 図6bは、ディスクドライブ32が書込コマンド中同期DMAバーストを終了 させるときに交換される制御およびデータ信号を示している。ディスクドライブ 32は読出バーストを終了させる場合のように、DMARQ信号をデアサートす ることにより(イベント1)、バーストを終了させたいということを示す。ホス ト35は、限定された期間Tli内にSTOPをアサートし(イベント2)、かつ 限定された期間Tli内にストローブ信号をハイ状態に戻すことにより(イベント 3)、DMARQのデアサートを確認する。ホスト35は、上記のイベントが発 生すれば最小の限定された予め定められた時間制限Tmli内に−DMACKをデ アサートできる(イベント4)。最後に、ディスクドライブ32はホスト35に よる−DMACKのデアサートから測定して、プルアップ時間Tirdyz後、−D MARDYをトライステートとする(イベント5)。 図7aは、ホスト35が読出コマンド中同期DMAバーストを終了させるとき に交換される制御およびデータ信号を示す。ホスト35はSTOP信号をアサー トすることにより(イベント1)、バーストを終了させたいということを信号で 示し、ディスクドライブ32は、STOPを見た後限定された予め定められた期 間Tli内に、DMARQをデアサートし(イベント2)、かつストローブ信号を ハイ状態に戻すことにより(イベント3)、その要求を確認する。次に、ディス クドライブ32が同期DMAバーストを終了させたときのように、ホスト35は 、上記の事象が発生した後最小の予め定められた期間Tmli内に、−DMACK をデアサートする(イベント4)。最後に、ディスクドライブ32は、プルアッ プ 時間Tirdyz後に、ストローブ信号をトライステートとする。 図7bは、ホスト35が書込コマンド中同期DMAバーストを終了させるとき に交換される制御およびデータ信号を示す。ホスト35は読出バーストを終了さ せる場合のように、STOP信号をアサートすることにより(イベント1)、バ ーストを終了させたいということを信号で示す。ディスクドライブ32は、ST OPを見た後限定された予め定められた期間Tli内に、DMARQをデアサート し、−DMARDYをデアサートすることにより(イベント2)、その要求を確 認する。ホスト35は、DMARQがデアサートされたのを見た後限定された予 め定められた期間Tli内に、ストローブ信号をハイ状態に戻さなければならない (イベント3)。ストローブ信号がハイ状態に戻ると、ホスト35はまた、スト ローブ信号をハイ状態に戻した後最小の限定された予め定められた期間Tmli内 に、−DMACKをデアサートしなければならない(イベント4)。次にディス クドライブ32は、プルアップ時間Tirdyz後−DMARDYをトライステート とする。 本発明の方法はさらに、ATAバス34において転送されているデータのデー タ保全性のために、エラー検出を行なうステップを含む。好ましい実施例では、 ビットエラー検出コードが実現されるが、その理由は、同期DMAバーストはA TAバス34でデータワードを転送するので、ビット指向エラー検出方法は、シ ンボル指向エラー検出方法よりも実用的であるからである。しかしながら背景の セクションで述べたように、従来のビット指向エラー検出は、ビットシリアル方 法であるため実用的ではない。 新規の16ビット並列CRC方法が、図8aおよび8bに示すように、並列C RC論理エンコーダ/デコーダ40を用いて実現される。並列CRC論理エンコ ーダ/デコーダ40は、従来のビットシリアル方法と同じジェネレータ整式を用 いるが、ビットクロックの代わりとしてワードクロック44が使用される。16 ビットCRCの値は、各データワードがATAバス34で転送されているときに 、ホスト35およびディスクドライブ32双方によって巡回的に計算される。デ ータ転送の終了時に、ホスト装置35は自身が発生した16ビットCRCの値を 、ATAバス34によってディスクドライブ32に送り、ディスクドライブ32 は、 自身が計算した16ビットのCRCの値で、受取った16ビットCRCの値の排 他的論理和を取り、エラーの検査を行なう。エラーが検出された場合、ディスク ドライブ32は、エラーレジスタのエラービットをセットし、エラーをコマンド の終了時にホスト35に報告する。 本発明の好ましい方法では、CRCの値は以下の態様で計算される。図8aは 、本発明に対しエラー検出を行なうCRC論理エンコーダ/デコーダ40のため の簡潔にした論理回路を示す。ホスト35もディスクドライブ32も、CRC論 理エンコーダ/デコーダ40のための回路を含む。各同期DMAバースト転送の 開始時に、CRC論理エンコーダ/デコーダ40は予め定められた値にセットさ れる。好ましくはその値は516dhである。16ビットデータワードのストリ ームはCRC論理エンコーダ/デコーダ40に入り、CRC論理エンコーダ/デ コーダ40は、入力データビットに対し論理演算を行ない、CRCの値はCRC 論理エンコーダ/デコーダ40から出力される。「d」がCRC論理エンコーダ /デコーダ40に入るデータワードのストリームを表わすとすれば、データビッ ト全体のストリームは以下のように表わされる。 d150,d140,d130,…,d10,d00 :第1のワード d151,d141,d131,…,d11,d01 :第2のワード … … d15i,d14i,d13i,…,d1i,d0i :i番目のワード 上記においてd15はデータワードの最上位ビットであり、d0はデータワード の最下位ビットである。転送されている各i番目のワードの16データビットd 0i−d15i42は、ワードクロック44からのクロック信号WCLKを用いて CRC論理エンコーダ/デコーダ40にシフトされ、CRC計算が行なわれ、計 算された16ビットCRCの値はX0(q)−X15(q)46として出力され る。 図8bを参照して、より詳細なCRC論理エンコーダ/デコーダ40の図が示 されている。CRC論理エンコーダ/デコーダ40は、計算されている16ビッ トCRCの値のためのプレースホルダの役割を果たす16の1ビットレジスタX 0−X15 48a−48pと、データビットに対し論理演算を行なっている対 応する16の組合せ論理部分Y0−Y15 50a−50pとを含む。図8bに 示すように、組合せ論理部分Y0−Y15 50a−50pは、対応のレジスタ X0−X15 48a−48pからの入力を含む。組合せ論理部分Y0−Y15 50a−50pは、CRC論理エンコーダ/デコーダ40の種々の部分からの さらなる入力を含む。しかしながら、明確かつ簡潔にするために、こうした他の 部分との演算上の接続は示されていない。組合せ論理部分50a−50bの出力 は次に、入力としてレジスタX0−X15 48a−48pにフィードバックさ れる。CRC論理エンコーダ/デコーダ40のレジスタへの入力を(d)として 表わし、レジスタからの出力を(q)として表わすと、CRCの値は以下の等式 を用いて巡回的に計算される。 X0(d)=f16; X8(d)=f8 xor f13; X1(d)=f15; X9(d)=f7 xor f12; X2(d)=f14; X10(d)=f6 xor f11; X3(d)=f13; X11(d)=f5 xor f10; X4(d)=f12; X12(d)=f4 xor f9 xor f16; X5(d)=f11xor f16; X13(d)=f3 xor f8 xor f15; X6(d)=f10xor f15; X14(d)=f2 xor f7 xor f14; X7(d)=f9 xor f14; X15(d)=f1 xor f6 xor f13; 上記において f1=d0i xor X15(q); f9=d8i xor X7(q) xor f5; f2=d1i xor X14(q); f10=d9i xor X6(q) xor f6; f3=d2i xor X13(q); f11=d10i xor X5(q) xor f7; f4=d3i xor X12(q); f12=d11i xor X4(q) xor f1 xor f8; f5=d4i xor X11(q) xor f1; f13=d12i xor X3(q) xor f2 xor f9; f6=d5i xor X10(q) xor f2; f14=d13i xor X2(q) xor f3 xor f10; f7=d6i xor X9(q) xor f3; f15=d14i xor X1(q) xor f4 xor f11; f8=d7i xor X8(q) xor f4; f16=d15i xor X0(q) xor f5 xor f12 ホスト35が各データワードを送る、書込コマンドに対する同期DMAバース ト中、ホストはまた上記の態様で16ビットCRCの値を算出する。同様に、デ ィスクドライブ32は各データワードを受取る際に、16ビットCRCの値を計 算する。ホスト35は同期DMAバーストの終了時にデータワードの転送を終え ると、ATAバス34で自身が算出したCRCの値を送る。ディスクドライブ3 2はホストのCRCの値を受取る際に、自身が計算したCRCの値で受取ったC RCの値の排他的論理和を取り、結果が0かどうかを検査する。0の結果が得ら れれば、エラーは報告されない。しかしながら、非0の結果はエラーを示してお り、ディスクドライブ32におけるエラーレジスタにエラービットをセットする ことによりホストに報告される。 読出コマンドに対する同期バースト中同様の手順が実行される。ディスクドラ イブ32がATAバス34でホスト35に各データワードを送るとき、ディスク ドライブ32はそのCRCの値を計算する。同様に、ホスト35が各データワー ドを受取るときには、CRCの値を計算する。しかしながら、ディスクドライブ 32がデータワードの転送を終えた同期DMAバーストの終了時には、算出した CRCの値をホスト35に送らない。その代わりに、書込コマンドの場合のよう に、ホスト35はその算出したCRCの値をATAバス34でディスクドライブ 32に送り、ディスクドライブは上記のように排他的論理和および0検査を行な う。 好ましくは、同期DMAバースト中に行なわれる並列CRC検査は、既存のA TAシステムの周辺ドライブ装置のためのソフトウェアドライバには透明である 。同期DMAバーストビットエラーが並列CRC方法を用いて検出されるとき、 現在のATAエラーレジスタのビット2および7がセットされる。ビット7は現 在ATAエラーレジスタの保存されたビットであり、この同期DMAバーストプ ロトコルではインタフェースエラービットとして再定義される。ビット2は、ア ボートされたコマンドビットであり、現在のATAソフトウェアドライバが検出 してこの「新しい」エラーに応答するようにセットされる。このように、本発明 の同期DMAバーストプロトコル中に行なわれる並列CRC検査は、既存のソフ トウェアドライバに対し後方互換性がある。 当業者ならば、他のエラー検出方法を同様の方法で16ビットレジスタを用い て実現できることを認識するであろう。たとえば、シンボル指向バーストエラー を検出することを望めば、既知の態様で16ビットシンボルリード−ソロモン( Reed-Solomon)ECCを計算できる。データ保全性を検査するための他の方法と して、各同期DMAバーストの終了時にパリティチェックを行なうことができる 。 図9を参照して、本発明の同期DMAバースト転送方法の実施例の動作につい て説明する。図9は、同期DMAバースト転送を実行するための簡単なフローチ ャートを示す。図9のフローチャートに示される各ステップは、この方法の個々 のステップについて先に詳細に説明したタイミング制限に従い実行される。同期 DMAバーストは、ディスクドライブによるホストの読出または書込コマンドの 受取りおよびデコードに応答して開始される901。ディスクドライブは常に、 バースト開始の準備ができるとDMARQをアサートすることにより902同期 DMAバーストを開始する。ホストは、バースト実行の前に同期DMAバースト を続ける準備ができていなければならないので、ホストが準備完了かどうかとい う判断が行なわれる903。ホストの準備ができていなければ、バーストは開始 されず、ディスクはホストの準備ができているかどうかについての検査を続けな ければならない。−DMACKのアサートにより示されるようにホストの準備が 整えば、デコードされたのがホストの書込か読出コマンドかにより、経路Aまた はBに沿ってこの方法は進行する。書込コマンドに対して、ホストはSTOPを デアサートし905、転送を続行できることを示す。ホストによるSTOPのデ アサートに応答して、ディスクドライブは−DMARDYをアサートして907 、データを受入れる準備ができていることをホストに示す。ホストは−DMAR DYを見た後、バスにおいてデータワードを駆動し、16ビットCRCの値を計 算する909。ホストは次に、データワードをバスで駆動しディスクドライブの 準備ができていることを見た後、ストローブ信号をトグルする911。ストロー ブ信号のトグルによりデータがラッチされた後、ディスクドライブはその16ビ ットCRCの値を算出する913。次に、バーストを終了させるかどうかが決定 される915。転送すべきデータかまだあれば、この方法はホストによるデータ 駆動およびCRCの値の算出909のステップにループバックし、ホストはスト ローブ信号をトグルし911、ディスクドライブはそのCRCの値を算出し91 3、バーストを終了させるかどうかが決定される915。このループは、バース トを終了させることが決定されるまで繰返される。終了は、図6a、6b、7a および7bを参照して先に述べた態様で実行される。終了が検出されると、ホス トはその計算したCRCの値をディスクドライブに送り916、ディスクドライ ブは受取ったCRCの値を自身が算出したCRCの値と上記の態様で比較する9 17。CRCの比較の完了は、同期DMAバーストの終了を示す918。 ホストが同期DMAバーストを続行する準備ができていると決定されたとき9 03に戻り、ホストコマンドが読出コマンドならば経路Bに従って進む。ホスト はSTOPをデアサートし904、転送を続けることを示し、−DMARDYを アサートして906、データ受入準備ができていることを示す。ディスクドライ ブはホストからのSTOPおよび−DMARDYを見た後、バスでデータワード を駆動し、16ビットCRCの値を計算する。次に、ディスクドライブはストロ ーブ信号をトグルする910。ストローブ信号のトグルによりホストにデータワ ードがラッチされた後、ホストはその16ビットのCRCの値を計算する。ホス トによる16ビットCRCの値の算出後、この方法は書込コマンドの場合と同様 の態様で進行し、終了が検出されるまで、バーストを終了させるかどうかが決定 され914、ディスクドライブはデータのドライブを続け、CRCの値を算出し 908、ストローブ信号をトグルし910、ホストがCRCの値を計算する。終 了が検出されると、書込コマンド終了について説明したのと同じステップが行な われる。すなわち、ホストは計算したCRCの値をディスクドライブに送り91 6、ディスクドライブはCRC比較を行ない917、CRC比較の完了は、同期 DMAバーストの終了を示す918。 本発明は、1つ以上のデータワードを転送するための単一同期DMAバースト を実行することについて述べてきた。しかしながら、ホストの読出または書込コ マンドは連続する同期DMAバーストの実行を必要とする可能性があるため、当 業者ならば、上記の同期DMAバーストの実行が、ホスト読出または書込コマン ド完了まで繰返されることを理解するであろう。ディスクドライブ32は、第2 の/追加の同期DMAバーストを開始しなければならず、ホスト35はバースト 開始の準備ができていることを示さねばならず、以降上記のように進行する。 上記の本発明は、ATAインタフェースを備える既存のシステムにおいて、A TAバスに信号線の追加または電気的な変更を行なわなくとも容易に実現できる 。同期DMAバースト転送は、現在の信号線を用い、現在のATA信号線のいく つかを再規定して新しい機能を与えることにより、既存のシステムで実行できる 。具体的には、先行技術による転送プロトコルにおけるPIOフロー制御に用い られるIORDY信号および読出コマンドに対し用いられる−DIORが再定義 されている。書込バーストについては、同期DMAプロトコルにおいて、−DI ORがSTROBE信号として使用され、IORDYが−DMARDY信号とし て用いられる。読出バーストに対し、同期DMAプロトコルでは、−DIORが −DMARDY信号として用いられ、IORDYがSTROBE信号として用い られる。最後に、この発明による方法では、先行技術による転送プロトコルの− DIOW信号がSTOP信号として再定義されている。さらに、DMARQおよ び−DMACK信号は、既存の転送プロトコルに対する後方互換性のために変更 されていない。 さらに、本発明の同期DMAバースト転送プロトコルの実現を可能にするため に、既存のATAバス構成の適切な終端に対して必要なハードウェア構成要素は ほとんどない。典型的には、ATAバスのディスクドライブ端部は、約47から 約100Ωの範囲内の直列レジスタを用いて終端とする。好ましくは約82Ωの 直列レジスタが用いられる。さらに、約10pF未満のキャパシタを加えてこの ラインを接地させる。何らかの双方向ラインおよびデータ駆動ラインに対し、約 22から約47Ωの範囲の直列レジスタが一般には含まれる。同様に、ATAケ ーブルのホスト端部では、約47から約100Ωの範囲内の直列レジスタが含ま れ、ホストにより駆動されるラインは一般に、約22から約47Ωの範囲の直列 レジスタで終端とされる。ケーブルのディスクドライブ端部およびホスト端部双 方に対し、好ましくはレジスタはできるだけATAコネクタに近くなるように配 置される。さらに、好ましくは終端は、終端回路を通して受取るキャパシタンス が約25pF未満で、かつ信号線の立上がりおよび立下がり時間が約5ns以上 であるように選択される。これらの値は、現在ATAシステムに対し推薦されて いるものと一致している。 さらに、上記の16ビット並列CRCエラー検出論理に対し必要とされるハー ドウェアもまた、従来の回路を用いて容易に実現できる。好ましくは、CRCの 値が計算されているときに保持するために用いられる16の1ビットレジスタは 、並列に差動的に接続される従来の16のフリップフロップで実現できる。さら に、CRC論理エンコーダ/デコーダ40の組合せ論理部分またはブロックは、 上記のように排他的論理和演算を行なう従来の論理ゲートを用いて構成できる。 本発明の同期DMAバースト転送方法は、先行技術による転送方法に対しいく つかの利点をもたらす。この方法はATAバス34固有の不十分なケーブル構造 および不合理な終端を避けて、およそ33.3メガバイト/秒の増大したデータ 転送速度を得るための費用のかからない方法を提供する。この方法は、少数のゲ ートを追加して既存のATAバス34構成で実現できる。さらに、同期DMAバ ースト転送方法は、ATAバス34の既存の信号線を用い、既存の信号線を、こ の方法が既存の転送プロトコルに対し後方互換性を持つように再規定して実現さ れる。この方法のさらなる利点は、同期DMAバーストプロトコルが、ATAバ ス34の制御信号伝送ストローブレートを増大させずにデータ転送速度を増大さ せるため、信号の保全性が維持されることである。本発明のさらに他の利点はA TAシステムの既存のソフトウェアドライバにとって透明な並列ビットエラー検 出のための手順を含むことであり、このため本発明は、既存のソフトウェアドラ イバに対し後方互換性を有するが、データ保全性はさらに高い。 本発明のある好ましい実施例について詳細に説明してきたので、他の実施例も 可能であることが理解されるだろう。当業者ならば、本発明の精神および範疇か ら逸脱することなく、この発明の構成、回路および応用例における多くの修正が 自ずから明らかになることを理解するであろう。したがって、添付の請求の範囲 の精神および範疇は、本明細書に含まれる好ましい実施例の説明に限定されるも のではない。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 マックグラス,ジェイムズ・ピィ アメリカ合衆国、94041 カリフォルニア 州、マウンテン・ビュー、ハイ・スクー ル・ウェイ、950、アパートメント・3129 (72)発明者 ニューイアン,ハング・シィ アメリカ合衆国、95131 カリフォルニア 州、サン・ノゼ、ヘイズリット・コート、 1286

Claims (1)

  1. 【特許請求の範囲】 1.バスにより少なくとも1つの周辺ドライブ装置に接続されるホスト装置を含 むコンピュータシステムにおいて、バスは連続する同期DMAバーストを通して ホスト装置の読出および書込コマンドに応答して周辺ドライブ装置とホスト装置 との間でデータの転送を行なうためのものであり、バスは関連する制御信号伝送 ストローブレートを有し、上記コンピュータシステムにおいて読出コマンドのた めの同期DMAバーストを行なうための方法であって、 (a) 周辺ドライブ装置がDMA要求信号をアサートして同期DMAバース トを開始するステップと、 (b) ホスト装置が同期DMAバースト開始準備ができたときDMA要求信 号に応答してDMA確認信号をアサートするステップと、 (c) 周辺ドライブ装置が、ホスト装置によりDMA確認信号がアサートさ れた後第1の予め定められた期間にバスに第1のデータワードを置くステップと 、 (d) 周辺ドライブ装置が、第1のデータワードをバスに置いた後第2の予 め定められた期間にストローブ信号をハイ状態からロー状態にトグルし、第1の データワードをホスト装置にラッチするステップとを含み、ハイ状態からロー状 態へのストローブ信号のトグルはストローブ信号の第1のエッジを定め、 周辺ドライブ装置は同期DMAバーストの開始を制御し、 周辺ドライブ装置によるデータおよびストローブ信号双方の制御により、DM Aバーストに関連する伝搬遅延、ケーブル整定およびセットアップ時間の効果を 最小にし、バスのデータ転送速度を増大させる、同期DMAバーストを行なうた めの方法。 2.(e) 周辺ドライブ装置がさらなるデータワードをバスに置くステップと 、 (f) 周辺ドライブ装置が第2の予め定められた期間が経過した後ストロー ブ信号をロー状態からハイ状態にトグルし、さらなるデータワードをホスト装置 にラッチするステップとをさらに含み、ストローブ信号をロー状態からハイ状態 にトグルすることがストローブ信号の第2のエッジを定め、 データはストローブ信号の第1および第2のエッジ双方を用いてラッチされる ため、バスの制御信号伝送ストローブレートはデータ転送速度が増大する一方で 変化しないことを可能にする、請求項1に記載の方法。 3.(e) 周辺ドライブ装置がストップ信号をアサートして同期DMAバース トを終了させるステップと、 (f) 周辺ドライブ装置がデータ転送を完了したときにストローブ信号をハ イ状態に戻すステップとをさらに含む、請求項1に記載の方法。 4.前記方法は既存のストローブされる転送プロトコルに対する後方互換性を有 する、請求項3に記載の方法。 5.同期DMAバーストは、約8.3MHzの制御信号伝送ストローブレートを 有するATAバスで行なわれ、バスのデータ転送速度は約33.3メガバイト/ 秒に増大する、請求項1に記載の方法。 6.並列ビットエラー検出をさらに含み、 (c) (1) 周辺ドライブ装置がバスに置かれたデータワードに対し16 ビットCRCの値を算出するステップと、 データワードがホスト装置にラッチされた後、 (e) ホスト装置がバスから受取ったデータワードに対し16ビットCRC の値を算出するステップと、 周辺ドライブ装置がデータ転送を終えた後、 (f) ホスト装置がその算出した16ビットCRCの値を周辺ドライブ装置 に送るステップと、 (g) 周辺ドライブ装置が受取った16ビットCRCの値を算出した16ビ ットCRCの値と比較するステップとをさらに含み、 バスで転送されているデータの妥当性が検証される、請求項1に記載の方法。 7.並列ビットエラー検出は既存のATAソフトウェアドライバにとって透明で あり、データ保全性を高める一方で既存のATAソフトウェアドライバに対する 後方互換性をもたらす、請求項6に記載の方法。 8.周辺ドライブ装置およびホスト装置により16ビットCRCの値を算出する ステップは、データワードクロックレートで行なわれる、請求項6に記載の方法 。 9.バスにより少なくとも1つの周辺ドライブ装置に接続されるホスト装置を含 むコンピュータシステムにおいて、バスは連続する同期DMAバーストを通して ホスト装置の読出および書込コマンドに応答してホスト装置と周辺ドライブ装置 との間でデータを転送するためのものであり、バスは関連する制御信号伝送スト ローブレートを有し、ホスト装置および周辺ドライブ装置はそれぞれコマンドの タイプ次第で送信側または受信側として指定され、上記コンピュータシステムに おいて同期DMAバーストを実行するための方法であって、 (a) 周辺ドライブ装置がDMA要求信号をアサートして同期DMAバース トを開始するステップと、 (b) ホスト装置がDMA要求信号に応答してDMA確認信号をアサートし ホスト装置が同期DMAバースト開始の準備ができていることを示すステップと 、 (c) 送信側がバスで第1のデータワードを駆動するステップと、 (d) 送信側がバスで駆動された第1のデータワードに対し16ビットCR Cの値を算出するステップと、 (e) 受信側がDMA確認信号に応答して準備完了信号をアサートし、受信 側のデータ受信準備が完了していることを示すステップと、 (f) 準備完了信号が受信側によりアサートされた後第1の予め定められた 期間内に、かつ第1のデータワードがバスで駆動されてから第2の予め定められ た期間が経過した後、送信側がストローブ信号をハイ状態からロー状態にトグル するステップとを含み、ストローブ信号のトグルは第1のデータワードを受信側 にラッチし、ストローブ信号をハイ状態からロー状態にトグルすることはストロ ーブ信号の第1のエッジを定め、ストローブ信号をロー状態からハイ状態にトグ ルすることはストローブ信号の第2のエッジを定め、さらに、 (g) 受信側がバスから受取った第1のデータワードに対し16ビットCR Cの値を算出するステップを含み、 ビットエラーは算出された16ビットCRCの値で検出されてデータの保全性 がもたらされ、 周辺ドライブ装置は同期DMAバーストの開始を制御し、 ストローブ信号の第1および第2のエッジ双方を用いてデータワードを受信側 にラッチすることができ、 送信側によるデータおよびストローブ信号双方の制御は、DMAバーストに関 連する伝搬遅延、ケーブル整定およびセットアップ時間の効果を最小にするため 、バスでのデータ転送速度の増大が可能になる、同期DMAバーストを実行する ための方法。 10.(h) 送信側がバスで第2のデータワードを駆動し、第2のデータワー ドに対し16ビットCRCの値を算出するステップと、 (i) 送信側が第2のデータワードがバスで駆動されてから第2の予め定め られた期間が経過した後ストローブ信号をロー状態からハイ状態にトグルし、第 2のデータワードを受信側にラッチするステップと、 (j) 受信側がバスから受取った第2のデータワードに対し16ビットCR Cの値を算出するステップと、 (k) 送信側が、データ送信を終えるまで、データワードをバスで駆動し、 データワードに対し16ビットのCRCの値を算出し、データワードがバスで駆 動されてから第2の予め定められた期間が経過した後ストローブ信号をトグルす るステップを繰返すステップと、 (l) 受信側がバスから受取った各データワードに対し16ビットのCRC の値を算出するステップと、 (m) 送信側がストップDMA信号をアサートして送信側がデータ送信を終 えたことを示し同期DMAバーストを終了させるステップと、 (n) 送信側が、データ送信を終えた後ストローブ信号をハイ状態に戻すス テップと、 (o) ホスト装置が、ストローブ信号がハイ状態に戻された後、算出した1 6ビットCRCの値を周辺ドライブ装置に送るステップと、 (p) 周辺ドライブ装置が受取った16ビットCRCの値を計算した16ビ ットCRCの値と比較するステップとをさらに含み、 バスで転送されているデータの妥当性が検証され、 前記方法は既存のストローブされる転送プロトコルに対し後方互換性を有する 、請求項9に記載の方法。 11.データは約8.3MHzの制御信号伝送ストローブレートを有するATA バスで転送され、ストローブ信号の第1および第2のエッジ双方を用いてデータ を受信側にラッチすることにより、ATAバスの制御信号伝送ストローブレート を増大させなくともデータ転送速度が増大するため、ATAバスの信号の歪みが 最小にされる、請求項9に記載の方法。 12.データ転送速度は約33.3メガバイト/秒である、請求項9に記載の方 法。 13.並列ビットエラー検出をさらに含み、 送信側がデータ転送を終えた後、 (h) ホスト装置が算出した16ビットCRCの値を周辺ドライブ装置に送 るステップと、 (g) 周辺ドライブ装置が受取った16ビットCRCの値を算出した16ビ ットCRCの値と比較するステップとをさらに含み、 バスで転送されているデータの妥当性が検証される、請求項9に記載の方法。 14.並列ビットエラー検出は既存のATAソフトウェアドライバにとって透明 であり、データ保全性を向上させる一方で既存のATAソフトウェアドライバに 対する後方互換性がもたらされる、請求項13に記載の方法。 15.周辺ドライブ装置およびホスト装置により16ビットCRCの値を算出す るステップは、データワードクロックレートで行なわれる、請求項9に記載の方 法。 16.バスにより少なくとも1つの周辺ドライブ装置に接続されるホスト装置を 含むコンピュータシステムにおいて、バスは連続する同期DMAバーストを通し てホスト装置の読出および書込コマンドに応答してホスト装置と周辺ドライブ装 置との間でデータの転送を行なうためのものであり、バスは関連する制御信号伝 送ストローブレートを有し、前記コンピュータシステムにおいて書込コマンドの ための同期DMAバーストを行なうための方法であって、 (a) 周辺ドライブ装置がDMA要求信号をアサートして同期DMAバース トを開始するステップと、 (b) ホスト装置が同期DMAバースト開始準備ができたときDMA要求信 号に応答してDMA確認信号をアサートし、第1のデータワードをバスに置くス テップと、 (c) 周辺ドライブ装置がホスト装置によりDMA確認信号がアサートされ た後予め定められた期間内に準備完了信号をアサートするステップと、 (d) 周辺ドライブ装置により準備完了信号がアサートされた後予め定めら れた期間内に、ホスト装置がストローブ信号をハイ状態からロー状態にトグルし 、第1のデータワードを周辺ドライブ装置にラッチするステップとを含み、ハイ 状態からロー状態へのストローブ信号のトグルがストローブ信号の第1のエッジ を定め、ロー状態からハイ状態へのストローブ信号のトグルがストローブ信号の 第2のエッジを定め、 周辺ドライブ装置は常に同期DMAバーストの開始を制御しており、 ホスト装置によるデータおよびストローブ信号双方の制御が、DMAバースト に関連する伝搬遅延、ケーブル整定およびセットアップ時間の効果を最小とし、 ストローブ信号の第1および第2のエッジ双方を用いてデータワードを周辺ド ライブ装置にラッチすることにより、バスでのデータ転送速度を、バスの制御信 号伝送ストローブレートを増大させることなく増大させる、同期DMAバースト を行なうための方法。 17.(e) ホスト装置がさらなるデータワードをバスに置くステップと、 (f) ホスト装置が、さらなるデータワードをバスに置いた後第2の予め定 められた期間にロー状態からハイ状態にストローブ信号をトグルし、さらなるデ ータワードを周辺ドライブ装置にラッチするステップとをさらに含み、 さらなるデータワードはバスで転送されストローブ信号の第1および第2のエ ッジ双方を用いて周辺ドライブ装置にラッチされる、請求項16に記載の方法。 18.(e) ホスト装置が、ホスト装置のデータ転送終了後ストローブ信号を ハイ状態に戻すステップをさらに含む、請求項16に記載の方法。 19.前記方法は既存のストローブされる転送プロトコルに対し後方互換性を有 する、請求項18に記載の方法。 20.同期DMAバーストは、約8.3MHzの制御信号伝送ストローブレート を有するATAバスで行なわれ、データ転送速度は約33.3メガバイト/秒に 増大する、請求項16に記載の方法。 21.並列ビットエラー検出をさらに含み、 (b)(1) ホスト装置が、バスに置かれたデータワードに対し16ビット のCRCの値を算出するステップと、 データワードが周辺ドライブ装置にラッチされた後、 (e) 周辺ドライブ装置がバスから受取ったデータワードに対し16ビット CRCの値を算出するステップと、 ホスト装置がデータ転送を終えた後、 (f) ホスト装置が算出した16ビットCRCの値を周辺ドライブ装置に送 るステップと、 (g) 周辺ドライブ装置が受取った16ビットCRCの値を算出した16ビ ットCRCの値と比較するステップとをさらに含み、 バスで転送されているデータの妥当性が検証される、請求項16に記載の方法 。 22.ビットエラー検出は既存のATAソフトウェアドライバにとって透明であ り、データの保全性を向上させる一方で既存のATAソフトウェアドライバに対 する後方互換性をもたらす、請求項21に記載の方法。 23.周辺ドライブ装置およびホスト装置により16ビットCRCの値を算出す るステップは、データワードクロックレートで行なわれる、請求項21に記載の 方法。
JP9519762A 1995-11-21 1996-11-12 同期dma転送プロトコル Pending JPH10513294A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/555,977 1995-11-21
US08/555,977 US5758188A (en) 1995-11-21 1995-11-21 Synchronous DMA burst transfer protocol having the peripheral device toggle the strobe signal such that data is latched using both edges of the strobe signal
PCT/US1996/017934 WO1997019408A1 (en) 1995-11-21 1996-11-12 Synchronous dma transfer protocol

Publications (1)

Publication Number Publication Date
JPH10513294A true JPH10513294A (ja) 1998-12-15

Family

ID=24219392

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9519762A Pending JPH10513294A (ja) 1995-11-21 1996-11-12 同期dma転送プロトコル

Country Status (9)

Country Link
US (1) US5758188A (ja)
EP (1) EP0804764B1 (ja)
JP (1) JPH10513294A (ja)
KR (1) KR19980701563A (ja)
CN (1) CN1169193A (ja)
AU (1) AU7610896A (ja)
CA (1) CA2210062A1 (ja)
DE (1) DE69631327T2 (ja)
WO (1) WO1997019408A1 (ja)

Families Citing this family (74)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI104858B (fi) * 1995-05-29 2000-04-14 Nokia Networks Oy Menetelmä ja laitteisto asynkronisen väylän sovittamiseksi synkroniseen piiriin
US5784390A (en) * 1995-06-19 1998-07-21 Seagate Technology, Inc. Fast AtA-compatible drive interface with error detection and/or error correction
JP3420018B2 (ja) 1997-04-25 2003-06-23 株式会社東芝 データレシーバ
US6170031B1 (en) * 1997-07-08 2001-01-02 Seagate Technology Llc Read/write state machines for transferring data to/from host interface in a digital data storage system
US6324642B1 (en) * 1998-07-08 2001-11-27 Intel Corporation Method and apparatus for increasing the data rate over a parallel port
US6223229B1 (en) 1998-09-16 2001-04-24 Quantum Corporation Method for detecting a cable type by utilizing the peripheral device to measure and send a state of the PDIAG-signal to the host
DE19846914C2 (de) * 1998-10-12 2003-10-02 Oce Printing Systems Gmbh Datenbus und Verfahren zum Kommunizieren zweier Baugruppen mittels eines solchen Datenbusses
US6577687B2 (en) * 1998-12-23 2003-06-10 Maxtor Corporation Method for transmitting data over a data bus with minimized digital inter-symbol interference
JP2000200152A (ja) * 1999-01-06 2000-07-18 Toshiba Corp 磁気ディスク装置
US6317842B1 (en) 1999-02-16 2001-11-13 Qlogic Corporation Method and circuit for receiving dual edge clocked data
KR100447051B1 (ko) * 1999-05-31 2004-09-04 미쓰비시덴키 가부시키가이샤 데이터 전송방식
US6715004B1 (en) * 2000-03-29 2004-03-30 Intel Corporation Method and apparatus for intermediate validation of data transferred between a host and a device
US6618788B1 (en) * 2000-09-27 2003-09-09 Cypress Semiconductor, Inc. ATA device control via a packet-based interface
US6804800B2 (en) * 2000-12-29 2004-10-12 Intel Corporation Method and apparatus for detecting and recovering from errors in a source synchronous bus
EP1430666B1 (en) * 2001-09-27 2005-08-31 Matsushita Electric Industrial Co., Ltd. Transmission method, sending device and receiving device
KR100440970B1 (ko) * 2002-07-11 2004-07-21 삼성전자주식회사 데이터 전송을 조기에 종료하는 장치 및 방법
AU2002361715A1 (en) * 2002-11-12 2004-06-03 Zetera Corporation Electrical devices with improved communication
US7170890B2 (en) * 2002-12-16 2007-01-30 Zetera Corporation Electrical devices with improved communication
US7649880B2 (en) * 2002-11-12 2010-01-19 Mark Adams Systems and methods for deriving storage area commands
US8005918B2 (en) * 2002-11-12 2011-08-23 Rateze Remote Mgmt. L.L.C. Data storage devices having IP capable partitions
US7007114B1 (en) * 2003-01-31 2006-02-28 Qlogic Corporation System and method for padding data blocks and/or removing padding from data blocks in storage controllers
US7039771B1 (en) 2003-03-10 2006-05-02 Marvell International Ltd. Method and system for supporting multiple external serial port devices using a serial port controller in embedded disk controllers
US7870346B2 (en) * 2003-03-10 2011-01-11 Marvell International Ltd. Servo controller interface module for embedded disk controllers
US7492545B1 (en) 2003-03-10 2009-02-17 Marvell International Ltd. Method and system for automatic time base adjustment for disk drive servo controllers
US7099963B2 (en) * 2003-03-10 2006-08-29 Qlogic Corporation Method and system for monitoring embedded disk controller components
US7457903B2 (en) * 2003-03-10 2008-11-25 Marvell International Ltd. Interrupt controller for processing fast and regular interrupts
US6848935B2 (en) * 2003-05-28 2005-02-01 Benq Corporation Data control cable for connecting a mobile device to a host device
US7779212B2 (en) 2003-10-17 2010-08-17 Micron Technology, Inc. Method and apparatus for sending data from multiple sources over a communications bus
KR100531729B1 (ko) * 2003-12-26 2005-11-29 한국전자통신연구원 피씨 병렬포트를 이용한 주변기기와의 인터페이스 장치 및그 방법
US7139150B2 (en) * 2004-02-10 2006-11-21 Marvell International Ltd. Method and system for head position control in embedded disk drive controllers
US7120084B2 (en) * 2004-06-14 2006-10-10 Marvell International Ltd. Integrated memory controller
US8166217B2 (en) * 2004-06-28 2012-04-24 Marvell International Ltd. System and method for reading and writing data using storage controllers
WO2006010975A1 (en) * 2004-06-30 2006-02-02 Nokia Corporation An improved interface
US9201599B2 (en) * 2004-07-19 2015-12-01 Marvell International Ltd. System and method for transmitting data in storage controllers
US7757009B2 (en) * 2004-07-19 2010-07-13 Marvell International Ltd. Storage controllers with dynamic WWN storage modules and methods for managing data and connections between a host and a storage device
US8032674B2 (en) * 2004-07-19 2011-10-04 Marvell International Ltd. System and method for controlling buffer memory overflow and underflow conditions in storage controllers
US7386661B2 (en) 2004-10-13 2008-06-10 Marvell International Ltd. Power save module for storage controllers
US7240267B2 (en) * 2004-11-08 2007-07-03 Marvell International Ltd. System and method for conducting BIST operations
US7802026B2 (en) * 2004-11-15 2010-09-21 Marvell International Ltd. Method and system for processing frames in storage controllers
US7778812B2 (en) * 2005-01-07 2010-08-17 Micron Technology, Inc. Selecting data to verify in hardware device model simulation test generation
US7562207B2 (en) * 2005-01-27 2009-07-14 Innovasic, Inc. Deterministic microcontroller with context manager
WO2006081093A2 (en) * 2005-01-27 2006-08-03 Innovasic, Inc. Configurable application specific standard product with configurable i/o
US7680967B2 (en) * 2005-01-27 2010-03-16 Innovasic, Inc. Configurable application specific standard product with configurable I/O
US20060168420A1 (en) * 2005-01-27 2006-07-27 Innovasic, Inc. Microcontroller cache memory
US20060168421A1 (en) * 2005-01-27 2006-07-27 Innovasic, Inc. Method of providing microcontroller cache memory
US7406550B2 (en) 2005-01-27 2008-07-29 Innovasic, Inc Deterministic microcontroller with configurable input/output interface
US7516311B2 (en) * 2005-01-27 2009-04-07 Innovasic, Inc. Deterministic microcontroller context arrangement
US7526579B2 (en) * 2005-01-27 2009-04-28 Innovasic, Inc. Configurable input/output interface for an application specific product
US7702850B2 (en) * 2005-03-14 2010-04-20 Thomas Earl Ludwig Topology independent storage arrays and methods
US7609468B2 (en) * 2005-04-06 2009-10-27 Marvell International Ltd. Method and system for read gate timing control for storage controllers
US7620981B2 (en) 2005-05-26 2009-11-17 Charles William Frank Virtual devices and virtual bus tunnels, modules and methods
US8819092B2 (en) 2005-08-16 2014-08-26 Rateze Remote Mgmt. L.L.C. Disaggregated resources and access methods
US7743214B2 (en) 2005-08-16 2010-06-22 Mark Adams Generating storage system commands
US9270532B2 (en) 2005-10-06 2016-02-23 Rateze Remote Mgmt. L.L.C. Resource command messages and methods
US7924881B2 (en) * 2006-04-10 2011-04-12 Rateze Remote Mgmt. L.L.C. Datagram identifier management
US7650440B2 (en) * 2006-07-25 2010-01-19 Microchip Technology Incorporated Peripheral supplied addressing in a simple DMA module
US7610517B2 (en) 2006-09-14 2009-10-27 Innovasic, Inc. Microprocessor with trace functionality
US8479201B2 (en) * 2006-09-18 2013-07-02 Innovasic, Inc. Processor with hardware solution for priority inversion
US8572302B1 (en) 2006-10-13 2013-10-29 Marvell International Ltd. Controller for storage device with improved burst efficiency
US7900080B2 (en) * 2007-01-29 2011-03-01 Via Technologies, Inc. Receiver mechanism for source synchronous strobe lockout
US8315269B1 (en) 2007-04-18 2012-11-20 Cypress Semiconductor Corporation Device, method, and protocol for data transfer between host device and device having storage interface
TWI448902B (zh) * 2007-08-24 2014-08-11 Cypress Semiconductor Corp 具頁存取基礎處理器介面之橋接裝置
US8090894B1 (en) 2007-09-21 2012-01-03 Cypress Semiconductor Corporation Architectures for supporting communication and access between multiple host devices and one or more common functions
US7895387B1 (en) 2007-09-27 2011-02-22 Cypress Semiconductor Corporation Devices and methods for sharing common target device with two different hosts according to common communication protocol
US8493833B1 (en) * 2010-09-17 2013-07-23 Integrated Device Technology, Inc. Slew rate-variation based driver equalization for far-end crosstalk cancellation
WO2012108023A1 (ja) * 2011-02-09 2012-08-16 富士通株式会社 情報処理装置、情報処理システム及びデータ転送方法
DE102013218305A1 (de) * 2013-08-30 2015-03-05 Dr. Johannes Heidenhain Gmbh Verfahren und Vorrichtung zum Synchronisieren einer Steuereinheit und mindestens einer zugeordneten Peripherieeinheit
CN104615557B (zh) * 2015-01-22 2018-08-21 中国人民解放军国防科学技术大学 一种用于gpdsp的多核细粒度同步的dma传输方法
CN108090001B (zh) * 2017-12-11 2020-10-27 中标软件有限公司 一种内核dma稳态调度方法及装置
CN109189701B (zh) * 2018-08-20 2020-12-29 深圳忆联信息系统有限公司 一种针对嵌入式存储接口数据传输的方法及其系统
CN109343794B (zh) * 2018-09-12 2021-11-09 杭州晨晓科技股份有限公司 一种存储器的配置方法及配置装置
CN113099522B (zh) * 2020-03-30 2022-11-22 深圳友讯达科技股份有限公司 一种低功耗无线通信省电方法
US11393513B2 (en) * 2020-12-01 2022-07-19 Micron Technology, Inc. Timing of read and write operations to reduce interference, and related devices, systems, and methods
CN113342728B (zh) * 2021-07-01 2024-07-19 深圳市合信自动化技术有限公司 可去时钟线高速并行总线同步逻辑设计

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4701841A (en) * 1984-07-25 1987-10-20 Digital Equipment Corporation System for altering data transmission modes
JPH087995B2 (ja) * 1985-08-16 1996-01-29 富士通株式会社 ダイナミツク半導体記憶装置のリフレツシユ方法および装置
US4954983A (en) * 1987-10-13 1990-09-04 Tektronix, Inc. Data driver for multiple mode buffered processor-peripheral data transfer with selective return of data to processor
US5125084A (en) * 1988-05-26 1992-06-23 Ibm Corporation Control of pipelined operation in a microcomputer system employing dynamic bus sizing with 80386 processor and 82385 cache controller
US4937734A (en) * 1989-02-21 1990-06-26 Sun Microsystems, Inc. High speed bus with virtual memory data transfer and rerun cycle capability
US4941157A (en) * 1989-04-14 1990-07-10 Ncr Corporation Slow peripheral handshake interface circuit
US5293603A (en) * 1991-06-04 1994-03-08 Intel Corporation Cache subsystem for microprocessor based computer system with synchronous and asynchronous data path
US5280623A (en) * 1992-03-04 1994-01-18 Sun Microsystems, Inc. Versatile peripheral bus
KR950012019B1 (ko) * 1992-10-02 1995-10-13 삼성전자주식회사 반도체메모리장치의 데이타출력버퍼
US5561821A (en) * 1993-10-29 1996-10-01 Advanced Micro Devices System for performing I/O access and memory access by driving address of DMA configuration registers and memory address stored therein respectively on local bus

Also Published As

Publication number Publication date
EP0804764A1 (en) 1997-11-05
EP0804764B1 (en) 2004-01-14
DE69631327T2 (de) 2004-10-28
CA2210062A1 (en) 1997-05-29
EP0804764A4 (en) 2002-04-24
US5758188A (en) 1998-05-26
KR19980701563A (ko) 1998-05-15
AU7610896A (en) 1997-06-11
CN1169193A (zh) 1997-12-31
DE69631327D1 (de) 2004-02-19
WO1997019408A1 (en) 1997-05-29

Similar Documents

Publication Publication Date Title
JPH10513294A (ja) 同期dma転送プロトコル
US7328399B2 (en) Synchronous serial data communication bus
US5600793A (en) Method and system of bi-directional parallel port data transfer between data processing systems
JP2757055B2 (ja) ディジタル・コンピュータのデータ転送方法
US5838932A (en) Transparent PCI to PCI bridge with dynamic memory and I/O map programming
US20010037424A1 (en) Snoop phase in a highly pipelined bus architecture
KR20010071327A (ko) 버스 브리지 및 유효 폭 설정 방법
JP2565659B2 (ja) 情報処理システムで異なるバス・アーキテクチャの間の正確かつ完全な通信を提供する方法および装置
US6477165B1 (en) Broadcast command packet protocol for SCSI interface
EP0602667A1 (en) System and method for peripheral data transfer
US6055587A (en) Integrated circuit SCSI I/O cell having signal assertion edge triggered timed glitch filter that defines a strobe masking period to protect the contents of data latches
JPH0635850A (ja) コンピュータ・システムおよびシステム拡張装置
US5778253A (en) No repeat byte compression method for achieving high speed data transfer from a parallel port
US20220239727A1 (en) Adaptive communication interface
JP2000040058A (ja) 送信装置と受信装置との間の同期dmaバ―スト転送のためのバス上でのデ―タ転送レ―トを高めるための方法、および同期dmaバ―スト転送を行なう改良された方法
JPH08235104A (ja) Pciパリティ・エラーに応答する構成を有するpci/isaブリッジ
US6192426B1 (en) Adapter for interconnecting single-ended and differential SCSI buses to prevent “busy” wired-or glitches from being passed from one bus to the other
US5694586A (en) Controller using time-domain filter connected to a signal line to control a time at which signal line is sampled for receipt of information transfer signal
JPH05134944A (ja) パーソナルコンピユータ
WO2005086008A2 (en) Universal serial bus transmitter
US6748513B1 (en) Method and apparatus for a low latency source-synchronous address receiver for a host system bus in a memory controller
US6757347B1 (en) Source synchronous link with data and clock signals having the same electrical characteristics
US6675244B1 (en) SCSI data rate speed determination
US6546497B1 (en) SCSI clock stretching
CN1171154C (zh) 控制芯片组与其间的数据事务方法