JP2002540499A - ディスク・コントローラ・メモリへのアクセスを調停する調停方法およびシステム - Google Patents
ディスク・コントローラ・メモリへのアクセスを調停する調停方法およびシステムInfo
- Publication number
- JP2002540499A JP2002540499A JP2000607076A JP2000607076A JP2002540499A JP 2002540499 A JP2002540499 A JP 2002540499A JP 2000607076 A JP2000607076 A JP 2000607076A JP 2000607076 A JP2000607076 A JP 2000607076A JP 2002540499 A JP2002540499 A JP 2002540499A
- Authority
- JP
- Japan
- Prior art keywords
- access
- time
- length
- unit
- circuit
- 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.)
- Granted
Links
Classifications
-
- 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
-
- 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
- G06F3/0613—Improving I/O performance in relation to throughput
-
- 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/0656—Data buffering arrangements
-
- 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)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Multi Processors (AREA)
- Information Transfer Systems (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Storage Device Security (AREA)
Abstract
Description
本発明はディスク・コントローラ・メモリへのアクセスを調停する方法およびシ
ステムに関する。
に、大容量記憶ユニットはハード・ディスク、光学ドライブのような不揮発性メ
モリまたは他のタイプの記憶デバイスからなる。コンピュータ・システムは一般
的にランダム・アクセス・メモリ(RAM)回路のような揮発性システム・メモ
リも含んでいる。現在のほとんどのパーソナル・コンピュータは、256メガバ
イトを超えないRAMを含み、一方同じコンピュータがしばしば10ギガバイト
またはそれ以上の容量までのハード・ディスクを含んでいる。
を記憶するのに使用される。従って、大容量記憶デバイスは、コンピュータと大
容量記憶デバイスがパワーダウンしたときにおいてさえも、データを維持する。
これに反して、揮発性システム・メモリはプログラム・コードとデータの一時的
保持装置として作用する。一般的に、揮発性システム・メモリは大容量記憶デバ
イスよりも急速にアクセスすることができる。マイクロプロセッサが、システム
・メモリ内にないプログラムまたはデータにアクセスする必要があるとき、マイ
クロプロセッサは、より大型であるがより遅い大容量記憶デバイスからシステム
・メモリへのデータを最初にコピーする。プロセッサは、システム・メモリから
データをすばやくアクセスするであろう。さらに、ある一定の条件下で、新しい
または訂正データがシステム・メモリに記憶された場合に、マイクロプロセッサ
はそのデータを大容量記憶デバイスに書き込む。
ローラ(HDC)からなる。コントローラはハード・ディスクを作動し、データ
をディスクに書き込まれるようにフォーマットし、データをディスクから読取り
されるようにチェックし、ホスト・システムへのデータとこれからのデータとの
通信をし、また、待ち時間(ラテンシー)とハード・ディスクとホスト・コンピ
ュータ・システム間のデータ送信レート内における差を補償するようにデータを
バッファする。
きるバッファ・メモリを含んでいる。ディスク、ホストおよびローカル・コント
ローラのような数個の基本的ユニットが、バッファ・メモリが相互作用する必要
があるので、バッファ・メモリへのアクセスはある方式で調整しなければならな
い。従って、HDCは、アクセスを要求する種々のデバイス中のバッファ・メモ
リへのアクセスを交渉するようにアクセス・アービッタを利用できる。しかし、
従来のシステムは一般的にアービッタを利用しており、このアービッタは、各ア
クセス・サイクルに対して、アクセス時間の固定された長さをアクセス・ユニッ
トに提供しており効率が悪い。従って、従来のシステムは、アクセス・ユニット
によってバッファ・メモリの利用の変更を動的に適応することに欠けている。
停する方法およびシステムを開示する。本発明の一実施例において、コントロー
ラはハード・ディスク・コントローラであり、また共有リソースはハード・ディ
スク・コントローラのローカル・バッファ・メモリである。コントローラ内の数
個のユニットないし回路は、各々バッファ・メモリにアクセスして情報を記憶ま
たは検索する。これらのユニットはコントローラ・マイクロプロセッサ、ホスト
・インターフェース・ユニット、ディスク・フォーマッタ・ユニット、バッファ
・メモリ・リフレッシュ・ユニット、ディスク・フォーマット・データ・フェッ
チ・ユニットおよび誤り訂正ユニットを含んでいる。バッファ・メモリへのアク
セスの調停において、ユニットの種々のアクセス要求が考慮される。例えば、一
実施例において、ディスク・コントローラは最も時間に限界的で、予測でき、周
期的なアクセス要求を有しており、他のユニットはあまり限界的でなく、それほ
ど予測できないアクセス要求を有し、またホスト・インターフェース・ユニット
は最も予測できず、かつ、最も時間的限界でないアクセス要求を有している。
るアクセス持続期間で提供される。最も重要な(限界的な)アクセス要求を有す
るディスク・フォーマッタは、時間遅延のような周期的アクセスを提供され、ア
クセスのない期間中で特定時間周期を超えないような周期的アクセスを提供され
る。
分は、ディスク・フォーマッタがバッファ・メモリにアクセスする期間中の時間
を表わす。アクセス・サイクルの第2部分は、残りのユニット、すなわち、ディ
スク・フォーマッタ以外のユニットがバッファ・メモリにアクセスする期間中の
時間を表わす。しかし、残りのユニットがバッファ・メモリにアクセスしている
間、ディスク・フォーマッタはバッファ・メモリにアクセスすることができない
。一実施例において、ディスク・フォーマッタは所定時間の長さ内で周期的アク
セスが保証され、残りのユニットの合成アクセス時間が所定の時間の長さに制限
される。同様にして、残りのユニットがアクセスを受信することを保証するため
に、ディスク・フォーマッタのアクセス時間も所定の長さに制限される。アクセ
ス・サイクルの二つの部分の各々が最大持続期間を有しておれば、アクセス・サ
イクル自体は最大許容持続期間を有している。
部分が再度分割される。残りのユニットの各々が、残りの非ディスク・フォーマ
ッタ・ユニットに割り当てられた時間内で最大時間の長さが割り当てられる。い
ずれの残りのユニットもその最大割り当てを使用しなければ、未使用時間が残り
のユニットの最後のものに提供される。最後のユニットがそれに対して利用可能
な全時間に使用されなければ、調停サイクルが早期に終了する。従って、ディス
ク・フォーマッタがバッファ・メモリに対して再度アクセスを提供する前の時間
は特定する最大持続期間よりも短く終了する。
ス的に全割り当て時間の一部を利用したときに、残りのユニットに割り当てられ
た全アクセス時間から、時間が控除(deduct)される。最後のユニットの他が全て
アクセスを提供した後、割り当てられた時間の残りはなんでもみな最後のユニッ
トに割り当てられる。
施する特定実施例を図示する方法で示す。他の実施例は本発明の範囲から逸脱す
ることなしに利用でき、また構造上の変形が可能であることが理解できる。可能
な限り、同じ参照番号を、同じまたは同様の要素を示すように全図を通して使用
する。多数の特定する詳細について、本発明を完全に理解するために説明する。
しかし、本発明は特定する詳細な説明なしに、あるいはここに説明するある一定
の別の等価なデバイスおよび方法で実行することが可能なことは当業者にとって
明白である。他の例において、周知の方法、プロシージャ、要素およびデバイス
は、本発明の不必要に不明瞭な状況にならないように、詳細に説明しない。
実施例に使用するのに適したシステムの一実施例の構造上の概略説明」、「調停
工程の一実施例の詳細な説明」、「代表的なタイミング・シナリオ」および「代
表的な調停制限計算」である。
明) 図1はシステム100の一実施例のブロック図を示し、そのハード・ディスク
・コントローラ(HDC)122が一般的に使用される。HDCコア102がホ
スト・バス・インターフェース110を介してホスト・システム・バス112を
使用してホスト・システム108に接続されている。このホスト・システム10
8は、一つまたはそれ以上のホスト・システム・マイクロプロセッサ、システム
RAM、モニタ、キーボードおよび他のデバイスで構成できる。
ディスク114に記憶されるべきデータを交換またはこれからデータを検索する
。ホスト・システム108からHDCコア102への指令、例えばどのデータを
検索するか、あるいはデータを記憶したことをホスト・システム・バス112を
通して伝送する指令をする。
インターフェース106を介してHDCコア102に接続されている。コントロ
ーラ・マイクロプロセッサ104は、一実施例において、ホスト・システム・マ
イクロプロセッサから区別され、ホスト・システム108からの指令を受信し、
実行するとともに、HDCコア102を管理する。ハード・ディスク114がデ
ィスク・フォーマッタ116を介してHDCコア102に接続されている。以下
により詳しく説明するように、ディスク・フォーマッタ116はハード・ディス
ク114の操作を制御する。図示実施例において、ハード・ディスク114は磁
気ディスク・デバイスおよび関連する回路要素からなる。コントローラ・バッフ
ァ・メモリ118が、バッファ・インターフェース120を介してHDCコア1
02に接続されている。一実施例において、バッファ・メモリ118はランダム
・アクセス・メモリ(RAM)を使用して構成されている。RAMは動的または
静的とすることができる。
の一実施例を示す。バス・インターフェース202が、ホスト・バス・ポート2
04のデータ・ライン、制御ラインおよび割り込みラインを介してホスト・シス
テム108に情報を伝送し、またこれから情報を受信する。マイクロプロセッサ
・インターフェース・ロジック206がコントローラ・マイクロプロセッサ10
4を、コントローラ・マイクロプロセッサ208のタイミング・ライン、アドレ
ス・ラインおよびデータ・ラインを介してHDCコア102に接続している。マ
イクロプロセッサ・バス220は、コントローラ・マイクロプロセッサ104を
してHDC102コア内の種々のユニットと通信するとともに、これらを制御で
きるようにしている。
0のデータ・ラインと制御ラインを介してディスク114に接続されている。リ
ード・ソロモン・誤り訂正コード(ECC)エンジン212がバスを介してディ
スク・フォーマッタ116に接続されている。ECCエンジン212は、ディス
ク上の誤り訂正コード発生の書込みだけでなく、ディスク上の誤り訂正の読込み
を実行する。バッファ・コントローラ214がバッファ・ポート216のアドレ
ス・ライン、タイミング・ラインおよびデータ・ラインを介してバッファ・メモ
リ118に接続されている。一実施例において、バッファ・コントローラ214
はアービッタ(図示省略)を含み、ディスク・フォーマッタ116、ECCエン
ジン212、ホスト・バス・インターフェース202およびマイクロプロセッサ
・インターフェース206、付加的に以下に説明する他のユニットによってバッ
ファ・メモリ118へのアクセスを制御する。このアービッタについては、後ほ
ど詳細に説明する。バッファ・メモリ118にアクセスする種々のユニットは、
データ・バス218を介して行われる。データ・バス218がバッファ・ポート
216を介してバッファ・メモリ118に接続されている。
8にアクセスするユニットが、それぞれの「先入れ先出し」( FIFO) バッフ
ァ308、312、314、316、318および320によって実行される。
これらのFIFOバッファはサイズに違いがある。一実施例において、FIFO
バッファは各々64と96バイトの間の記憶容量を有している。コントローラ・
マイクロプロセッサ104がマイクロプロセッサFIFO308を介してバッフ
ァ・メモリ118にアクセスする。バッファ・メモリ118は、コントローラ・
マイクロプロセッサ104のためにメイン・メモリとして作用するとともに、命
令とデータを記憶する。
メモリ118からディスク・フォーマット・データをフェッチするように作動す
る。ディスク・フォーマッタ116がこのデータ使用して、ホスト・システム・
データをハード・ディスク114上に配置し、組織化する。メモリ・リフレッシ
ュ・ユニット306は、バッファ・メモリがダイナミックRAMを使用したとき
に、必要インターバルでバッファ・メモリ118をリフレッシュするように動作
する。次に説明するように、一実施例において、ディスク・フォーマット・デー
タ・フェッチ・ユニット304とメモリ・リフレッシュ・ユニット306両者が
、バッファ・メモリ・アクセス調停の目的のために一つの調停スロットを共有す
る。従って、ただ一つのディスク・フォーマット・データ・フェッチ・ユニット
304とメモリ・リフレッシュ・ユニット306のみが、単一アクセス・サイク
ル内でバッファ・メモリ118にアクセスできる。しかし、他の実施例において
、メモリ・リフレッシュ・ユニット306とディスク・フォーマット・データ・
フェッチ・ユニット304は各々それ自体の調停スロットを有している。ディス
ク・フォーマット・データ・フェッチ・ユニット304とメモリ・リフレッシュ
・ユニット306は、そのそれぞれのFIFOバッファ314と316を介して
バッファ・メモリ118にアクセスする。
ァ・メモリ118に接続されている。ECCエンジンFIFO318は、データ
がバッファ・メモリ118内にある間、ハード・ディスク114から読み取られ
たデータを訂正するのに使用される。バッファ・コントローラ214が読取/訂
正/書込工程によって訂正を首尾よく達成する。
メモリ118に接続されている。ホスト・バス・インターフェース110が、ホ
スト・システム108とバッファ・メモリ118間のデータと指令をチャネルす
る。
ェッチ・ユニット304、メモリ・リフレッシュ・ユニット306、ECCエン
ジン212、マイクロプロセッサFIFO308、ホスト・バス・インターフェ
ース110およびアービッタ402間の接続回路網(connectivity)の一実施例を
示す。アービッタ402はバッファ・メモリにアクセスする種々のユニット間を
アービット(調停)する。アービッタ402は反復アクセス・サイクル中、ユニ
ットを要求するためにアクセスを許可する。アクセス・サイクルは、一つの時間
周期であり、この間、アクセスが、バッファ・メモリにアクセスする各ユニット
に対して、または、アクセス・スロットを共有する一連のユニットに対して提供
される。一実施例において、各ユニットは、アービッタ402が要求されたアク
セスを許可することによる「ACK」と名付けられた承認ラインだけでなく、バ
ッファ・メモリ118へのアクセスを要求するための「REQ」と名付けられた
リクエスト・ラインを有している。
れぞれのユニット調停制限を保持している。一実施例において、与えられた調停
制限が、バッファ・メモリ118にアクセス可能な間、ユニットに対して利用可
能なアクセス・サイクル当りのHDCクロック・サイクルの数として特定される
。調停制限レジスタは、ディスク・フォーマッタ調停制限レジスタ410、共有
ディスク・フォーマット・データ・フェッチ・ユニットおよびメモリ・リフレッ
シュ・ユニット調停制限レジスタ412、ECCエンジン調停制限レジスタ41
4、マイクロプロセッサFIFO調停制限レジスタ416およびホスト・バス・
インターフェース(グローバル)調停制限レジスタ418を含んでいる。ディス
ク・フォーマット・データ・フェッチ・ユニット306およびメモリ・リフレッ
シュ・ユニット306は、同じ調停制限を共有し、また同じ調停制限レジスタ4
12を使用していることに注意しなければならない。次に説明する理由で、ホス
ト・バス・インターフェース調停制限レジスタ418は、グローバル調停制限レ
ジスタとも呼ばれる。調停制限レジスタ410−418は、アクセス・サイクル
中の各ユニットの最大特定アクセス持続期間中、HDCクロック・サイクル内で
規定された時間制限を記憶する。一実施例において、アクセス持続期間は連続す
る時間周期の間である。さらに以下に説明するように、アービッタ402に調停
制限カウンタ406とグローバル調停制限カウンタ408も接続され、調停制限
値をロードし、デクリメントすることによってユニットのアクセス持続時間のト
ラックを維持するように使用される。グローバル調停制限カウンタ408がホス
ト・バス・インターフェースの利用可能アクセス時間をトラックし、調停制限カ
ウンタ406が残りのユニットのために利用可能アクセス時間をトラックする。
スク書込シーケンス500を示す。ホスト・システム108からのデータ502
が、ホスト・バス・インターフェース110に到達し、ホスト・バス・インター
フェースFIFO320を介してバッファ・メモリ118に通される。FIFO
320が、バッファ・メモリ118にアクセスするために待機している間、必要
とされるデータ502をバッファする。一実施例において、データがセクターよ
りも小さいユニット(単位)で、一般的に512バイトでディスク114から読
み取られるか、または記憶される。セクター未満のデータ量がアクセスするのに
必要な場合、それでも全セクターがアクセスされる。少なくともデータの完全な
セクターがバッファ・メモリ118内に記憶された後、データ502が巡回冗長
検査(CRC)タグと共動してディスク・フォーマッタFIFO312を介して
ディスク・フォーマッタ116に方向付けられる。CRCはデータの正確さを確
認するのに使用できるデータから発生されたコードである。FIFO312が、
バッファ・メモリ118から到来したデータ502をバッファする。データ50
2とCRC508がディスク・フォーマッタ116の途中にある間、データ50
2とCRC508はECCエンジン212をも通過し、誤り訂正コード(ECC
)510を発生する。ECC510が、データ502とCRC508に付加され
るべきディスク・フォーマッタ116に通過され、次に全てがディスク・フォー
マッタ116によってハード・ディスク114に書き込まれる。
ケンス600を示す。ECC技術が、セクターのデータ604、CRC606お
よびECC602が、ハード・ディスク114に書き込まれ、またこれから読み
取られる工程中、破壊(corrupt) する可能性を保証するように使用される。次に
説明するように、ECCエンジン212が、ハード・ディスク114から検索さ
れた後、未訂正データ604および(または)CRC606を訂正するタスクを
実行する。未訂正データ604、CRC606およびECC602がハード・デ
ィスク114から読み取られるにつれて、ディスク・フォーマッタ116が未訂
正データ604、CRC606およびECC602をECCエンジン212に送
る。ディスク・フォーマッタ116がECC602を除去し、未訂正データ60
4とCRC606をディスク・フォーマッタFIFO312に伝送し、次にバッ
ファ・メモリ118に送る。ディスク・フォーマッタFIFO312が、バッフ
ァ・メモリ118へのアクセスを待機中、いずれの待ち時間(ラテンシー)も吸
収する。未訂正データ604とCRC606がバッファ・メモリ118に記憶さ
れるのに対して、ECCエンジン212がアルゴリズムを実行し、これが未訂正
データ604、CRC600およびECC602から誤り訂正情報612を生成
する。ECCエンジン212がこの誤り訂正情報612をECC FIFO31
8に通す。次に、バッファ・コントローラ214がECC FIFO318内の
誤り訂正情報612を使用して、バッファ・メモリ118内に残留する未訂正デ
ータ604とCRC606内のエラーを訂正するように試行される。バッファ・
コントローラ214が、バッファ・メモリ118からの未訂正データ604およ
び(または)CRC606を読み取り、ECC FIFO318内の情報614
を使用して未訂正データ604および(または)CRC606を適切に訂正する
ことによって、データ604とCRC606を訂正し、また訂正データ616お
よび(または)CRC618をバッファ・メモリ118に戻して書き込む。次に
、訂正データ616とCRC618がホスト・バス・インターフェースFIFO
320に送られる。こうしてCRC618がチェックされる。CRCチェックで
データ訂正操作が首尾よく実行されたかどうかが決定される。データ616が正
しければ、データ616がホスト・バス・インターフェース110とホスト・シ
ステム108に送られる。データ616が正しくなければ、エラー信号が発生さ
れ、ホスト・システムに向けられる。
般的な読取り又は書込みのいずれか中にバッファ・メモリ118にアクセスする
。バッファ・メモリがマイクロプロセッサのメイン・メモリとして作用するので
、読取りと書込みシーケンス中に表されたアクセスに付加して、コントローラ・
マイクロプロセッサ104もバッファ・メモリ118にアクセスする。さらに、
ディスクの書込み、または読取りが実行されるときに、ディスク・フォーマッタ
116は、ディスク・フォーマット・データ・フェッチ・ユニット304によっ
て検索され、バッファ・メモリ118に記憶されたディスク・フォーマット情報
を利用する。バッファ・メモリのダイナミックRAM118もまた、周期的にリ
フレッシュされる必要があり、またこれで、バッファ・メモリ・リフレッシュ・
ユニット306がバッファ・メモリにアクセスもする。
的にアクセスすることを保証し、ユニット内の利用可能なアクセス時間の有効な
割り当てを動的に提供する。アービッタ402が設定可能な調停制限の使用によ
って機能する。一実施例において、調停制限は、対応するユニットのための最大
アクセス時間を表わすクロック・サイクル数に対応する。この制限はROMまた
はEEPROMのような不揮発性メモリ内にプログラムできる。別の方法として
、調停制限はホスト・システムまたはコントローラ・マイクロプロセッサによっ
てオン・ザ・フライ(on the fly)を決定し、設定することができる。
アービッタ402が所定の反復順でアクセス要求のために各ユニットをチェック
する。ユニットがアービッタ402に対してそのREQラインになければ、アー
ビッタ402が次のユニットのREQラインをチェックする。アービッタ402
が、バッファ・メモリ・アクセスを要求するユニットを見つけるまで、アクセス
・サイクルの回りで続行する。メモリ・リフレッシュ・ユニット306とディス
ク・フォーマット・データ・フェッチ・ユニット304が、同じアクセス・サイ
クル・スロットを競い合うことに注目すべきである。与えられたアクセス・サイ
クルにおいて、アービッタがメモリ・リフレッシュ・ユニット306またはディ
スク・フォーマット・データ・フェッチ、ユニット304の一つに対するアクセ
スのみを許可する。両方のユニット304/306が、同じサイクル内で要求さ
れたアクセスを有する場合は、バッファ・メモリがその内容の消失を回避するた
めにリフレッシュを必要とするので、アービッタ402がメモリ・リフレッシュ
・ユニット306に優先権を与える。すなわち、ディスク・フォーマット・デー
タ・フェッチ・ユニット304が、次のアクセス・サイクルがアクセスを得るま
で待機する。
00を示す。一実施例において、調停工程はアービッタ・ステート・マシンを使
用して制御される。調停工程がサイクルで行われるので、開始位置の選択は重要
ではない。しかし、図示の目的で、開始工程802を示す。調停工程804−8
14の最初の部分は、ディスク・フォーマッタ・アクセスに向けられている。工
程804において、ディスク・フォーマッタ116がディスク・フォーマッタR
EQラインのチェックによってバッファ・メモリ・アクセスが要求されているか
どうかをアービッタ402がチェックする。ディスク・フォーマッタ116がア
クセスを要求されておれば、アービッタ402は、工程806で、ディスク・フ
ォーマッタのACKラインに乗せることによって、アクセスを許可する。工程8
08に進行し、アービッタ402がディスク・フォーマッタ調停制限を対応する
調停制限レジスタ410から読取り、制限を調停制限カウンタ406にロードす
る。調停制限カウンタ406が、各HDCクロック・サイクル中、デクリメント
(一つカウント・ダウン)される。次に、工程810、812において、調停制
限カウンタ406がゼロに達したかどうか、さらにディスク・フォーマッタの要
求ラインREQがなおも作動しているかどうかをアービッタ402が繰り返しチ
ェックする。調停制限カウンタ406がゼロに達しているか、またはディスク・
フォーマッタの要求ラインREQが不作動であれば、工程814においてアービ
ッタ402は、ディスク・フォーマッタ承認ACKラインを主張しない。上述し
た工程804において、ディスク・フォーマッタ116がアクセスを要求してい
なければ、アービッタが直接工程804から工程816に進行する。
ローバル調停制限レジスタ418からグローバル調停制限カウンタ408に調停
制限をロードする。グローバル調停制限カウンタ408がアクセス・サイクルの
残りの各クロック・サイクル中、デクリメントされる。従って、ECCエンジン
212、マイクロプロセッサFIFO308、ディスク・フォーマット・データ
・フェッチ/メモリ・リフレッシュ・ユニット304/306およびバス・イン
ターフェース・ユニット110がバッファ・メモリ118にアクセスしている間
、グローバル調停制限がデクリメントされる。一度、グローバル調停制限カウン
タ408がゼロに達すると、新しいアクセス・サイクルが始まり、再びディスク
・フォーマッタ116へ、アクセスが要求される。
は、ディスク・フォーマッタ116以外の全てのユニットに対して利用可能な時
間を制限する。第2に、グローバル調停制限は、実際にホスト・インターフェー
ス・ユニット110のための調停制限として機能する。ECCエンジン212、
マイクロプロセッサFIFO308およびディスク・フォーマット・データ・フ
ェッチ/メモリ・リフレッシュ・ユニット304/306の各々は、それ自体の
調停制限を有する。これらのユニットの各々がバッファ・メモリ118にアクセ
スしているときに、調停制限カウンタ406は、対応する調停制限からカウント
・ダウンする。さらに、これらのユニットの各々がバッファ・メモリ118にア
クセスしているとき、グローバル調停制限カウンタ408がグローバル調停制限
からカウント・ダウンして、ホスト・インターフェース・ユニット110に対し
て要求されている時間を決定する。一度、ECCエンジン212、マイクロプロ
セッサFIFO308およびディスク・フォーマット・データ・フェッチ/メモ
リ・リフレッシュ・ユニット304/306がそのアクセスを完了すると、ホス
ト・インターフェース・ユニット110が、グローバル調停制限カウンタ408
内に残っている時間の間に、与えられたアクセスを実行する。
2が工程818に進行して、ECCエンジン212がECCエンジンREQライ
ンをチェックすることによってアクセスが要求されているかどうかを決定する。
ECCエンジン212がアクセスを要求されておれば、アービッタが工程820
に進行し、ECCエンジンのACKラインを主張することによってアクセスを許
可する。この時点で、アービッタ402が、対応する調停制限レジスタ412か
らECCエンジン調停制限を読取り、工程822に進行し、調停制限カウンタ4
06を設定する。ECCエンジンのアクセス時間周期中、調停制限カウンタ40
6が各クロック・サイクルでデクリメントされる。グローバル調停制限カウンタ
408もこのサイクル中にデクリメントされることに注意しなければならない。
次に、工程824、826において、調停制限カウンタ406がゼロに達したか
どうか、また、ECCエンジンの要求ラインREQがなおも作動(raise) してい
るかどうか、アービッタ402が反復チェックする。調停制限カウンタ406が
ゼロに達したか、またはECCエンジンの要求ラインREQが不作動になれば、
アービッタ402は、工程828において、ECCエンジンのACKラインを主
張しない。工程818において、ECCエンジン212がアクセスを要求しない
のであれば、アービッタ402が直接、工程830に進行する。
ると、ECCエンジン・アクセスに関して上述したのと同様の方式で、工程83
0−840において、アービッタ402がマイクロプロセッサFIFO308へ
のアクセスを要求するように進行する。ECCエンジン212に関して、アクセ
スがマイクロプロセッサFIFO308に対して許可されている間、調停制限カ
ウンタ406とグローバル調停制限カウンタ408両者が、各クロック・サイク
ルでデクリメントされる。一度、アービッタ402がアクセス・サイクルのマイ
クロプロセッサFIFO部分を完了すると、アービッタ402が工程842に進
行する。
リ・リフレッシュ・ユニット306とディスク・フォーマット・データ・フェッ
チ・ユニット304の1つのみへのアクセスを許可する。従って、フローチャー
トは工程842でこの特徴に適応するように分岐している。バッファ・メモリ・
リフレッシュ・ユニットの要求がディスク・フォーマット・データ・フェッチ・
ユニットの要求に対して優先権を獲得する。従って、アービッタ402が、まず
リフレッシュ・ユニット306がアクセスを要求しているかどうかを決定する。
リフレッシュ・ユニット306がアクセスを要求しておれば、アービッタ402
が、前回のユニットにつき上述したものと同様にしてシーケンス844−852
に順行する。もちろん、この場合において、アービッタ制限カウンタ406はリ
フレッシュ/データ・フェッチ調停制限でロードされる。リフレッシュ・ユニッ
ト306がアクセスを要求していなければ、アービッタ402は工程854に進
行し、ディスク・フォーマット・データ・フェッチ・ユニット304がアクセス
を要求しているかどうかを決定する。もし要求しておれば、アービッタ402が
、リフレッシュ・ユニット306のシーケンスと同様にシーケンス856−86
4に順行する。ディスク・フォーマット・データ・フェッチ・ユニット304も
リフレッシュ・ユニット306もアクセスを要求していなければ、アービッタ4
02が直接工程854から工程866に進行する。この時点において、アービッ
タ402がホスト・インターフェース110にアクセスを要求する。
グローバル調停制限によってのみ制限される。上述したように、アクセスがディ
スク・フォーマッタ116に要求された後で、かつ、アクセスがECCエンジン
212によって要求される前に、グローバル調停制限カウンタ406がリセット
され、さらにユニットがホスト・インターフェース110に先立って、バッファ
・メモリ118にアクセスする間に、続いてデクリメントされる。ホスト・イン
ターフェース110は、前回ユニットによって使用されなかったグローバル調停
制限の残りのためにアクセスが許可される。ディスク・フォーマッタ116がバ
ッファ・メモリ28にアクセスしている間の時間の長さは、グローバル調停制限
カウンタ408またはホスト・インターフェース110に割り当てられた時間の
長さに影響を与えないことに注意しなければならない。これはグローバル調停制
限カウンタ408が、ディスク・フォーマッタ116がアクセス・サイクル中に
その順番が来た後でのみ設定されるからである。従って、ホスト・インターフェ
ースは、連続したある長さの時間(block of time) でグローバル調停制限と同じ
くらいの所定最小時間と最大時間の範囲のアクセス時間が柔軟に要求される。
6において、ホスト・インターフェース110がアクセスを要求しているかどう
かアービッタがまずチェックする。もしそうであれば、工程868において、ア
ービッタがホスト・インターフェースACKラインを主張し、これによってバッ
ファ・メモリ118へのアクセスを許可する。グローバル調停制限カウンタ40
8がデクリメントを続行している一方で、ホスト・インターフェース・ユニット
110がアクセスを許可する。本実施例において、グローバル調停制限が前のユ
ニットの調停制限に順応するのに十分な大きさであり、さらにホスト・インター
フェース・ユニットのために少なくともある一定の残りの時間を有している。次
に、工程870、872において、アービッタ402は、グローバル調停制限カ
ウンタ408がゼロに達したかどうか、またホスト・インターフェース・ユニッ
ト110がいまだアクセスを要求しているかどうかを、確認するために、繰り返
しチェックする。グローバル調停制限カウンタ408がゼロに達すれば、あるい
はホスト・インターフェース・ユニット110が、工程874においてそのRE
Qラインに降下すれば、アービッタ402は、ホスト・インターフェースのAC
Kラインを主張しない。工程866において、ホスト・インターフェース110
がアクセスを要求しなければ、アービッタ402が工程866から工程876を
進行させる。この時点において、アービッタ402が一つのアクセス・サイクル
を完了し、フローチャート800の開始工程(状態)802に復帰する。
限が減算法よりはむしろ加算法で決定することができる。この場合において、グ
ローバル調停制限カウンタ408が、ホスト・インターフェース110のために
最小調停制限で初期化される。ECCエンジン212、マイクロプロセッサFI
FO308、メモリ・リフレッシュ306またはディスク・フォーマット・デー
タ・フェッチ・ユニット304のいずれかによるアクセスのリリースがなされる
と、調停制限カウンタ406に残留する値がグローバル調停制限カウンタ408
に加算される。次に、グローバル調停制限カウンタ408が、ホスト・インター
フェース110がバッファ・メモリ118にアクセスしている間だけデクリメン
トされる。この工程がこれまでに詳述したような技法と同じ結果を生じることに
なる。他の実施例において、早期のアクセス・ユニットの未使用アクセス時間は
、いずれかの続いているユニットへの割り当てが可能である。さらに他の実施例
において、早期のアクセス・ユニットの未使用アクセス時間が、最後のアクセス
・ユニットよりもむしろ特定する続きのユニットに割り当てが可能である。
グ図を示す。図示実施例で上述したように、調停制限は、ユニットがバッファ・
メモリ118にアクセスできる間、対応するユニットに対して利用可能な各アク
セス・サイクルのHDCクロック・サイクルの数を表わしている。図示時間ライ
ン902−918に関して、時間は図面の左側に向かって始まる。第1の時間ラ
イン902は、トップ・レベルにおいて、調停工程が二つの部分に分割される状
態を示している。第1部分はディスク・フォーマッタ116に割り当てられた時
間と、ディスク調停制限からなる。第2部分は他の全てのユニットと、グローバ
ル調停制限に割り当てられた時間からなる。第2の時間ライン904は、動的ホ
スト・インターフェース調停制限によって表わされたホスト・インターフェース
110に利用可能な時間が、グローバル調停制限によって表わされた時間であり
、ECC212、マイクロプロセッサ308、リフレッシュ/データ・フェッチ
304/306ユニットに対して許可された時間によって減じられる、というこ
とを表わしている。時間ライン906は、一実施例において、ECC調停制限と
マイクロプロセッサ調停制限とリフレッシュ/フォーマット・データ・フェッチ
調停制限の合成されたものは、グローバル調停制限未満であり、これによって最
小時間の長さが保証され、最小ホスト・インターフェース調停制限がホスト・イ
ンターフェース・ユニット110に割り当てられる、ということを示している。
従って、たとえECC212、マイクロプロセッサ308およびリフレッシュ/
データ・フェッチ304/306ユニットが、それら全ての利用可能なアクセス
時間を使用したとしても、ホスト・インターフェース110がバッファ・メモリ
118にアクセスするための時間がなおも残っている。
グ図形を示す。各図形において、一つの完全なアクセス・サイクルは、どのよう
にアクセス・サイクル時間が変化するかという図で、示される。第1の代表的な
調停シーケンス908は、全てのユニットがその最大アクセス時間を要求された
ときに各ユニットに、割り当てられる相対的アクセス時間を示す。この場合にお
いて、総合アクセス・サイクル時間は、その最大状態にある。次のシーケンス9
10において、ECCエンジン212がそのREQラインを主張せず、また90
6で示された割り当てられた調停時間の途中約半分のところでアクセスが停止し
ている。本例において、マイクロプロセッサFIFO308は、まったくアクセ
スを要求しないが、ホスト・インターフェース110が要求し、残りの全ての利
用可能時間が許可される。次のシーケンス912において、ECCエンジン21
2、リフレッシュ/データ・フェッチ・ユニット304/306およびマイクロ
プロセッサ308はバッファ・アクセスを要求しない。従って、完全なグローバ
ル調停制限がホスト・インターフェース110に対する利用を可能にする。この
シーケンスにおいて、ディスク・フォーマッタ116とホスト・インターフェー
ス110が、各々に対する利用可能な時間を全て使用する。
ラインをリリースし、その利用可能な時間の約半分を使用するだけである。この
シーケンスにおいて、ECCエンジン212、リフレッシュ/データ・フェッチ
・ユニット304/306およびホスト・インターフェース110が、その利用
可能なアクセス時間を全て使用する。ディスク・フォーマッタ116がそのアク
セスを早期に放棄するので、完全なアクセス・サイクル時間は前回のシーケンス
未満である。ECC212、マイクロプロセッサ308およびリフレッシュ/デ
ータ・フェッチ304/306ユニットは、アクセスを要求しないことを除いて
は、シーケンス916はシーケンス914と同様である。しかし、ホスト・イン
ターフェース110がこの場合に最大アクセスを要求し、また、他のユニットに
よって放棄された時間を使用する。最後のシーケンス918が表わしているのは
、ディスク・フォーマッタ116がその全アクセス時間を要求し、ECC212
、マイクロプロセッサ308またはリフレッシュ/データ・フェッチ304/3
06ユニットはアクセスを要求せず、また、ホスト・インターフェース110の
みがその利用可能なアクセス時間の端数(fraction)を要求するということである
。この場合において、グローバル調停制限が決して到達しないので、総アクセス
・サイクル時間が実質的に最大可能アクセス・サイクル時間未満となる。
スク・フォーマッタFIFOサイズ、バッファ・メモリ・データ・バスの幅、ハ
ード・ディスク・データ読取/書込レート、HDC102のクロック速度、要求
データがバッファ・メモリ118から読み取られる前の時間遅延と、アービッタ
402が他の要素中でその操作が実行されるのに要する時間である。これらの要
素は一般的に一定であり、ハード・ディスク・ユニットの設計と製造の時間で決
定することができる。調停制限が不揮発性メモリに記憶されるか、またはこれら
の要素はシステムの動作中、動的に決定することができる。
利用を最適になるように設定される。これはディスク・フォーマッタFIFO3
12が決して空または、いっぱいになったままにらないことを保証することによ
って達成される。グローバル調停制限は、前のサイクル上でディスク・フォーマ
ッタ116がバッファ・メモリ118にアクセスすることを放棄した時間と、次
のサイクル上にあるバッファ・メモリ118からFIFO312にデータの再度
到来した時間との間のクロック・サイクル数を規定する。FIFO312内のデ
ータがディスク書込にある限り、またFIFO312がディスク読取上にない限
り、ハード・ディスク114が最適に利用できる。
18からディスク・フォーマッタFIFO312に転送される。ディスク・フォ
ーマッタ116がバッファ・メモリ118にアクセスしていないとき、ディスク
・フォーマッタFIFO312が続いて空となり、データがディスク・データ・
レートでハード・ディスク114に書込まれる。ディスク・データ・レートは、
データがハード・ディスク114に書込みされるか、またはこれから読取られる
レートである。一実施例において、フルのディスク・フォーマッタFIFO31
2を完全に空にする時間は、従って、次のように規定される: 空に至る時間=( FIFOサイズ)/(ディスク・データ・レート) この時間はクロック周波数を乗算して、クロック・サイクル内の時間を発生させ
る。
/(ディスク・データ・レート) グローバル調停制限をほぼクロック・サイクルの数に設定することにより、ハー
ド・ディスク114のために、いっぱいのディスク・フォーマッタFIFO31
2を空にし、ディスク・フォーマッタ116は、これがちょうど空になったとき
に、FIFO312を再充填することができる。従って、ディスク利用は最適に
なる。
アービッタ402が、ユニットへのアクセスを許可するために、調停遅延と呼ば
れるクロック・サイクルの有限数をとる。第2に、バッファ・メモリ118が転
送データを開始するようにセットアップするために、セットアップ時間と呼ばれ
るクロック・サイクルの有限数をとる。第3に、バッファ・メモリ118からデ
ィスク・フォーマッタFIFO312にデータを転送するために、読取遅延と呼
ばれるクロック・サイクルの有限数をとる。従って、「空に至るクロック・サイ
クル」数が、調停遅延、セットアップ時間および読取遅延によって減じられ、こ
れによってバッファ・メモリ118からのデータは、FIFO312がちょうど
空になったときにディスク・フォーマッタFIFO312に到来する。一実施例
におけるこのような調整で、グローバル調停制限が次のようにして計算される: グローバル調停制限=(クロック周波数)×( FIFOサイズ)/(ディス
ク・データ・レート)−(調停遅延)−(セットアップ遅延)−(読取遅延) このグローバル調停制限は、ディスク書込みのタイミングに基づいているが、デ
ィスク読取りのタイミングはアナログであり、同様の結果を生じる。
ォーマッタ調停制限に加算される。本質的に、グローバル調停制限から得られる
サイクルはディスク・フォーマッタ調停制限に与えられ、フォーマッタ利用度を
最大にする。しかし、ディスク・フォーマッタ調停制限が調整される前に、ベー
ス調停制限が組み立てられる。
IFO312が空にされることと、充填されることが同時であるという事実を考
慮する必要がある。好ましい実施例において、ディスク・フォーマッタ116が
アクセスされ、またデータがバッファ・メモリ118からディスク・フォーマッ
タFIFO312に転送されるときに、ディスク・フォーマッタ116がFIF
O312と、ハード・ディスク114を同時に空にする。ディスク・フォーマッ
タFIFO312が同時に充填され、空にされるとき、充填されるネット・レー
トは、データがFIFO312に配置されるレートとデータがFIFO312か
ら移動されるレートとの差である。バッファ・データ・レートと呼ばれるデータ
がFIFO312に配置されるレートは、HDCバスの幅にクロック周波数を乗
算したものに等しい。これによって、充填レートは次式で表すことができる: 充填レート(fill rate) =(バス幅)×(クロック周波数)−(ディスク・
データ・レート) ディスク・フォーマッタFIFOサイズが充填レートで割り算され、ディスク・
フォーマッタFIFO312を充填する時間が決定される。この結果はクロック
周波数を乗算してクロック・サイクル数を発生させ、ディスク・フォーマッタF
IFO312を充填する: 充填に至るクロック・サイクル=( FIFOサイズ)×(クロック周波数)
/(バス幅)×(クロック周波数)−(ディスク・データ・レート) 上述したように、ディスク・フォーマッタFIFO312を充填するサイクル
数の計算において、調停、セットアップおよび遅延時間が考慮される。しかし、
FIFO312が充填されると、バッファ・メモリ118内のページ境界線が交
差する機会がある。ページ境界線が交差したときに、別のセットアップ遅延が発
生し、またこれで第2セットアップ遅延が計算中に含まれることになる。従って
、得られるディスク・フォーマッタ調停制限が、調停遅延の付加的なオーバーヘ
ッド時間だけ、すなわち、セットアップ遅延の2倍増加し、また読取遅延は: ディスク・フォーマッタ調停制限=( FIFOサイズ)×(クロック周波数
)/(バス幅)×(クロック周波数)−(ディスク・データ・レート)+(調停
遅延)+2×(セットアップ遅延)+(読取遅延) 上述したようなディスク・フォーマッタとグローバル調整制限で、ディスク・
フォーマッタ116とハード・ディスク114は最適の利用性を達成する。HD
C102内の他のユニットの調停制限は、グローバル調停制限によって制限を受
ける。メモリ・リフレッシュ/ディスク・フォーマット・データ・フェッチ・ユ
ニット304/306およびECCエンジン212は、一般的に予想できるバッ
ファ利用特性を有している。従って、調停制限はこれらの特性に基づいて容易に
選択できる。マイクロプロセッサFIFOの調停制限は、妥当な利用期待度を有
している。最終的に、ホスト・バス・インターフェース利用度はかなり予想がし
にくく、バス・インターフェース・ユニット110は残りのアクセス時間に割り
当てられる。
停制限の範囲外でアクセス時間が割り当てられる。さらに他の実施例において、
どのユニットもグローバル調停制限の範囲外でアクセス時間に割り当てられるも
のはない。むしろ、全てのユニットがグローバル調停制限内でアクセスを許可さ
れ、またこれによってグローバル調停制限のみが最大アクセス・サイクル時間を
規定する。さらに他の実施例において、グローバル調停制限下で制限されたユニ
ット数は変更することができる。任意に、付加的なグローバル調停制限は同時に
またはシーケンス的に作動するように付加できる。他の実施例では、付加的なユ
ニットが、ディスク・フォーマッタ116と同様の方式で、グローバル調停制限
外でバッファ・メモリ118にアクセスすることを意図している。
実施例は単に示しただけで、広範な本発明を限定するものではないことを理解し
なければならない。さらに、本発明は図示し説明した特定構造および構成に制限
するのもではないことを理解すべきである。なぜなら、種々の修正例ないし変形
例が、権利請求された本発明の精神と範囲から逸脱することなしに当業者に思い
つく可能性があるからである。本発明の範囲はこの詳細な説明によって制限され
ず、ここに添付の請求の範囲によってなされることを意図している。
のブロック図
Claims (34)
- 【請求項1】 ハード・ディスク・コントローラのバッファ・メモリにアク
セスを提供する方法であって、 誤り訂正ユニットに対して第1の時間の長さを割り当てる工程と、 ホスト・インターフェース・ユニットに対して第2の時間の長さを割り当てる
工程と、 前記第1の時間の長さよりも長くない第1持続時間の間、前記誤り訂正ユニッ
トを使用して前記バッファ・メモリにアクセスする工程と、 前記第1の時間の長さと第1持続時間との差に関連した長さによって前記第2
の時間の長さを調整する工程と、 前記第2の時間の長さよりも長くない第2の持続時間の間、前記ホスト・イン
ターフェース・ユニットを使用して前記バッファ・メモリにアクセスする工程と
、を含むハード・ディスク・コントローラのバッファ・メモリにアクセスを提供
する方法。 - 【請求項2】 第3の時間の長さをディスク・フォーマッタ・ユニットに割
り当てる工程と、 バッファ・メモリに対して前記ディスク・フォーマッタ・ユニットへのアクセ
スを許可する工程と、 前記第3の時間の長さよりも長くない第3の持続時間の間、前記ディスク・フ
ォーマッタ・ユニットを使用して前記バッファ・メモリにアクセスする工程であ
って、前記第3の時間の長さでいかなる使用されていない部分も前記ホスト・イ
ンターフェース・ユニットに割り当てられない工程と、をさらに含む請求項1に
記載の方法。 - 【請求項3】 前記第3の持続時間の長さの終了後、ディスク・フォーマッ
タ・ユニットが、所定の第4の時間の長さ内でバッファ・メモリへのアクセスを
再度許可される請求項2に記載の方法。 - 【請求項4】 ユニットが一度を超える前記バッファ・メモリへのアクセス
をしない間、アクセス・サイクルを反復中に前記バッファ・メモリへのアクセス
が提供される請求項1に記載の方法。 - 【請求項5】 大容量記憶デバイス・コントローラの共有コントローラ・リ
ソースへのアクセスを提供する方法であって、 前記共有コントローラ・リソースへのアクセスが調停される間、第1アクセス
・サイクルを提供する工程と、 アクセス時間の第1連続ブロックとして前記第1アクセス・サイクルの第1部
分を第1アクセス・ユニットに割り当てる工程と、 前記第1アクセス・ユニットを使用してアクセス時間の前記第1連続ブロック
の長さを利用する工程と、 前記第1アクセス・サイクルの第2部分と、アクセス時間の第2連続ブロック
としてアクセス時間の前記第1連続ブロックの未使用の長さとを第2アクセス・
ユニットに割り当てる工程と、 前記第2アクセス・ユニットを使用してアクセス時間の前記第2連続ブロック
の長さを利用する工程と、を含む大容量記憶デバイスの共有コントローラ・リソ
ースへのアクセスを提供する方法。 - 【請求項6】 アクセス時間の第3連続ブロックとして前記第1アクセス・
サイクルの第3部分を第3アクセス・ユニットに割り当てる工程と、 前記第1アクセス・サイクル中、前記第3アクセス・ユニットへのリソース・
アクセスを許可する工程と、 前記第1アクセス・サイクル中、前記第3アクセス・ユニットにアクセス時間
の前記第3連続ブロックの長さを利用する工程と、 前記第3アクセス・ユニットによって前記リソースのアクセスを解放する工程
と、 第2アクセス・サイクル中、前記第3アクセス・ユニットへのリソース・アク
セスを許可する工程であって、前記第2アクセス・サイクルの許可が、前記解放
工程後、所定時間の長さ内で実行される工程と、をさらに含む請求項5に記載の
方法。 - 【請求項7】 前記アクセス・サイクルに関連する持続時間を特定する工程
と、 アクセス時間の前記第2連続ブロックの未使用長さに関係する長さだけ前記ア
クセス・サイクルの少なくとも一つの反復の持続時間を短縮する工程と、をさら
に含む請求項6に記載の方法。 - 【請求項8】 前記共有コントローラ・リソースがバッファ・メモリである
請求項6に記載の方法。 - 【請求項9】 前記第1アクセス・ユニットがプロセッサであり、また、前
記第2アクセス・ユニットがホスト・インターフェース回路である請求項6に記
載の方法。 - 【請求項10】 リソースを共有された大容量記憶デバイス・コントローラ
の持続時間を変更する方法であって、共有コントローラ・リソースへのマルチプ
ル・ユニットのアクセスが調停される方法において、 サイクル持続時間を有するアクセス・サイクルを提供する工程と、 第1の時間の長さを第1アクセス・ユニットに割り当てる工程と、 前記第1の時間の長さを超えない第1持続時間の間、前記第1ユニットを使用
して前記共有コントローラ・リソースにアクセスする工程と、 第2の時間の長さと前記第1の時間の長さの未使用長さを第2アクセス・ユニ
ットに割り当てる工程と、を含む大容量記憶デバイスの共有コントローラ・リソ
ースの持続時間を変更する方法。 - 【請求項11】 第3の時間の長さを第3アクセス・ユニットに割り当てる
工程と、 前記第3の時間の長さを超えない第3持続時間の間、前記第3ユニットを使用
して前記共有コントローラ・リソースにアクセスする工程と、 前記第3の時間の長さの未使用の長さに関係する長さだけ前記アクセス・サイ
クルの前記持続時間を短縮する工程と、をさらに含む請求項10に記載の方法。 - 【請求項12】 前記共有コントローラ・リソースがコントローラ・メモリ
である請求項10に記載の方法。 - 【請求項13】 前記第1アクセス・ユニットがメモリ・リフレッシュ回路
であり、前記第2アクセス・ユニットがホスト・インターフェース回路であり、
また前記第3アクセス・ユニットがディスク・フォーマッタ回路である請求項1
1に記載の方法。 - 【請求項14】 ディスク・コントローラの共有メモリへのアクセスを提供
する方法であって、 利用可能メモリ・アクセス時間として時間の長さを少なくとも二つのユニット
の各々に割り当てる工程と、 前記少なくとも二つのユニットを使用して前記共有メモリにアクセスする工程
であって、前記少なくとも二つのユニットの第1に割り当てられた未使用時間が
前記少なくとも二つのユニットの第2に再割り当てされる工程と、を含むディス
ク・コントローラの共有メモリへのアクセスを提供する方法。 - 【請求項15】 前記少なくとも二つのユニットが、少なくともデータ・フ
ェッチ回路とホスト・インターフェース回路を含む請求項14に記載の方法。 - 【請求項16】 大容量記憶デバイス・コントローラの共有コントローラ・
リソースへのアクセスを提供する方法であって、 第1の時間の長さを第1アクセス・ユニットに割り当てる工程と、 第2アクセス・ユニットに対して第2の時間の長さを割り当てる工程と、 前記第1の時間の長さよりも長くない第1持続時間の間、前記第1ユニットを
使用して前記共有コントローラ・リソースにアクセスする工程と、 前記第1の時間の長さと第1持続時間との差に関連した長さによって前記第2
の時間の長さを調整する工程と、 前記確認された第2の時間の長さよりも長くない第2の持続時間の間、前記第
2ユニットを使用して前記共有コントローラ・リソースにアクセスする工程と、
を含む大容量記憶デバイス・コントローラの共有コントローラ・リソースへのア
クセスを提供する方法。 - 【請求項17】 マルチプル回路によって共有されたメモリを含む大容量記
憶デバイス・コントローラ回路であって、 大容量記憶デバイスから読取りされたデータを訂正するのに使用される誤り訂
正回路であって、前記共有メモリにアクセスするように割り当てされた第1の時
間の長さに関連する誤り訂正回路と、 ホスト・システムでデータを変換するのに使用されるホスト・システム・イン
ターフェース回路であって、前記共有メモリに割り当てられた第2の時間の長さ
に関連するホスト・システム・インターフェース回路と、 前記大容量記憶デバイスに対してインターフェースするために使用される記憶
デバイス・フォーマッタ回路であって、前記共有メモリにアクセスするように割
り当てられた第3の時間の長さに関連する記憶デバイス・フォーマッタ回路と、 少なくとも前記ホスト・システム・インターフェース回路と前記誤り訂正回路
と前記記憶デバイス・フォーマッタ回路によって前記共有メモリへのアクセスを
調停するように使用される調停回路であって、第1持続期間中、前記誤り訂正回
路に共有メモリへのアクセスを許可するように形成されており、前記第1持続期
間が前記第1の時間の長さを超えず、また、前記第2の時間の長さが前記第1の
時間の長さと前記第1の持続期間との間の差に関係する長さだけ調節される調停
回路と、を含む大容量記憶デバイス・コントローラ回路。 - 【請求項18】 前記調停回路が、一回を超えて共有メモリにアクセスする
回路がまったくない間中、反復アクセス・サイクル中に前記共有メモリにアクセ
スを提供するようにさらに形成されている請求項17に記載の大容量記憶デバイ
ス・コントローラ回路。 - 【請求項19】 前記記憶デバイス・フォーマッタ回路が、この記憶デバイ
ス・フォーマッタ回路による前記共有メモリの前回アクセス後、所定時間周期内
で前記バッファ・メモリへのアクセスを提供する請求項17に記載の大容量記憶
デバイス・コントローラ回路。 - 【請求項20】 前記調停回路が状態マシーンである請求項17に記載の大
容量記憶デバイス・コントローラ回路。 - 【請求項21】 コンピュータ・システムであって、 ホスト・システムと、 前記ホスト・システムに接続されたホスト・システム・インターフェース回路
であって、前記ホスト・システムとデータを交換するように使用されるホスト・
システム・インターフェース回路と、 大容量記憶デバイスから読み取られたエラー・データを訂正するように使用さ
れる誤り訂正回路と、 前記大容量記憶デバイスへのインターフェースに使用される記憶デバイス・フ
ォーマッタ回路と、 少なくとも前記ホスト・システム・インターフェース回路と前記誤り訂正回路
と前記記憶デバイス・フォーマッタ回路とによってバッファ・メモリへのアクセ
スを調停するように使用されるアービッタ回路であって、前記誤り訂正回路へ第
1の時間の長さを割り当て、前記ホスト・インターフェース回路へ第2の時間の
長さを割り当て、また前記記憶デバイス・フォーマッタ回路へ第3の時間の長さ
を割り当てるように形成され、さらに、第1持続期間の間、前記誤り訂正回路へ
のアクセスを提供するように形成されており、前記第1持続期間が前記第1の時
間の長さを超えない長さであり、前記前記第1の時間の長さと前記第1の持続期
間との間の差に関連する長さだけ前記第2の時間の長さを調整するアービッタ回
路と、を含むコンピュータ・システム。 - 【請求項22】 前記アービッタ回路が、一回を超えて共有コントローラ・
リソースにアクセスする回路がまったくない間中、反復アクセス・サイクル中に
前記バッファ・メモリにアクセスを提供するようにさらに形成されている請求項
21に記載のコンピュータ・システム。 - 【請求項23】 大容量記憶デバイス・コントローラであって、 データをバッファする手段と、 ホスト・システムとデータを交換する手段であって、データをバッファする前
記手段に接続されたホスト・システムとデータを交換する手段と、 データをバッファする前記手段に接続されたデータを処理する手段と、 前記大容量記憶デバイスとデータを交換する手段であって、データをバッファ
する前記手段に接続された前記大容量記憶デバイスとデータを交換する手段と、 少なくとも、ホスト・システムとデータを交換する前記手段と、データを処理
する前記手段と、大容量記憶デバイスでデータを交換する前記手段によってデー
タをバッファする前記手段へのアクセスを調停する手段であって、アクセスを調
停する前記手段が、データを処理する前記手段に対して第1の時間の長さを割り
当てし、ホスト・システムとデータを交換する前記手段に対して第2の時間の長
さを割り当てし、また大容量記憶デバイスとデータを交換する前記手段に対して
第3の時間の長さを割り当てするように形成され、前記調停手段は、さらに第1
持続期間中、前記データを処理する手段にアクセスを提供し、この第1持続期間
が前記第1の時間の長さを超えない長さであり、また前記第2の時間の長さを前
記第1の時間の長さと前記第1持続期間との差に関連する長さにだけ調整するよ
うに形成された調停手段と、を含む大容量記憶デバイス・コントローラ。 - 【請求項24】 アクセスを調停する前記手段が、一回を超えてデータをバ
ッファする前記手段にアクセスするアクセス手段がまったくない間中、反復アク
セス・サイクル中にデータをバッファする前記手段にアクセスを提供するように
さらに形成されている請求項23に記載の大容量記憶デバイス・コントローラ。 - 【請求項25】 大容量記憶デバイス・コントローラの共有コントローラ・
リソースへのアクセスを提供する方法であって、 第1の利用可能アクセス時間として第1の時間の長さを第1アクセス・ユニッ
トに割り当てる工程と、 第2の利用可能アクセス時間として第2の時間の長さを第2アクセス・ユニッ
トに対して割り当て、前記第2の利用可能アクセス時間は少なくとも前記第1の
利用可能アクセス時間を含む工程と、 前記第1の利用可能アクセス時間の長さよりも長くない第1持続期間の間、前
記第1ユニットを使用して前記共有コントローラ・リソースにアクセスする工程
と、 前記第1持続期間により、前記第2の利用可能アクセス時間を短縮する工程と
、 前記短縮された第2の利用可能アクセス時間の長さよりも長くない第2の持続
期間の間、前記第2ユニットを使用して前記共有コントローラ・リソースにアク
セスする工程と、を含む大容量記憶デバイス・コントローラの共有コントローラ
・リソースへのアクセスを提供する方法。 - 【請求項26】 第3の利用可能アクセス時間として、前記第2の時間の長
さ内に含まれない第3の時間の長さを第3アクセス・ユニットに割り当てる工程
と、 前記第3の利用可能アクセス時間を超えない第3持続期間中、前記第3ユニッ
トを使用して前記共有コントローラ・リソースにアクセスする工程と、をさらに
含む請求項25に記載の方法。 - 【請求項27】 共有コントローラ・リソースへのアクセスが、一回を超え
て共有コントローラ・リソースにアクセスするユニットがまったくない間中の反
復アクセス・サイクル中に提供される請求項25に記載の方法。 - 【請求項28】 前記アクセス・サイクルが、前記第2の時間の長さと前記
第3の時間の長さとの和にほぼ等しい最大持続期間を有している請求項26に記
載の方法。 - 【請求項29】 前記第3ユニットがデータ・バッファを有しており、これ
を通してデータが前記共有コントローラ・リソースと前記第3アクセス・ユニッ
トとの間を移動する請求項26に記載の方法。 - 【請求項30】 前記第3の時間の長さは、少なくとも一部分は前記データ
・バッファのサイズによって、またデータが前記共有コントローラ・リソースと
前記データ・バッファ間を伝送されるレートと、データが前記第3アクセス・ユ
ニットによって処理されるレートとの差によって、決定される請求項26に記載
の方法。 - 【請求項31】 前記第2の時間の長さが、前記データ・バッファのサイズ
によって、またデータが前記第3アクセス・ユニットによって処理されるレート
によって少なくとも一部が決定される請求項26に記載の方法。 - 【請求項32】 前記第2の時間の長さと前記第3の時間の長さは、アクセ
ス・ユニットによるアクセスを解放したときに、前記共有コントローラ・リソー
スと、前記データ・バッファ間のデータの伝送を開始するのに必要とする時間の
長さを考慮することによって、少なくとも一部が決定される請求項26に記載の
方法。 - 【請求項33】 前記第2ユニットがホスト・インターフェース・ユニット
であり、前記第3ユニットが記憶デバイス・フォーマッタ・ユニットである請求
項26に記載の方法。 - 【請求項34】 複数のディスク・コントローラ回路によってアクセスされ
るメモリを含んでいるディスク・コントローラ回路であって、 対応する第1割り当てアクセス持続期間を伴う第1コントローラ回路と、 対応する第2割り当てアクセス持続期間を伴う第2コントローラ回路と、 前記第1コントローラ回路によって実際のアクセス持続期間に関連する量を測
定し、また前記第1の割り当てアクセス持続期間と前記実際のアクセス持続期間
との間の差に関係する長さによって前記第2の時間の長さを調整するアービッタ
回路と、を含むディスク・コントローラ回路。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/275,629 US6530000B1 (en) | 1999-03-24 | 1999-03-24 | Methods and systems for arbitrating access to a disk controller buffer memory by allocating various amounts of times to different accessing units |
US09/275,629 | 1999-03-24 | ||
PCT/US2000/007780 WO2000057267A1 (en) | 1999-03-24 | 2000-03-23 | Arbitration methods and systems for arbitrating access to a disk controller memory |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2002540499A true JP2002540499A (ja) | 2002-11-26 |
JP2002540499A5 JP2002540499A5 (ja) | 2008-10-23 |
JP4313516B2 JP4313516B2 (ja) | 2009-08-12 |
Family
ID=23053180
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000607076A Expired - Lifetime JP4313516B2 (ja) | 1999-03-24 | 2000-03-23 | ディスク・コントローラ・メモリへのアクセスを調停する調停方法およびシステム |
Country Status (9)
Country | Link |
---|---|
US (1) | US6530000B1 (ja) |
EP (1) | EP1163573B1 (ja) |
JP (1) | JP4313516B2 (ja) |
KR (1) | KR100619806B1 (ja) |
AT (1) | ATE368885T1 (ja) |
AU (1) | AU3915300A (ja) |
CA (1) | CA2364625C (ja) |
DE (1) | DE60035774T2 (ja) |
WO (1) | WO2000057267A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006301810A (ja) * | 2005-04-18 | 2006-11-02 | Fujitsu Ltd | データ転送処理方法、データ転送処理装置およびデータ転送処理制御プログラム |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6715009B1 (en) * | 1999-12-21 | 2004-03-30 | Intel Corporation | Method and apparatus for coordinating cooperating resources and its application |
US7406547B2 (en) * | 2000-08-09 | 2008-07-29 | Seagate Technology Llc | Sequential vectored buffer management |
US6763437B1 (en) * | 2000-09-07 | 2004-07-13 | Maxtor Corporation | Control system, storage device and method for controlling access to a shared memory using a bus control or handshaking protocol |
JP4213338B2 (ja) * | 2000-12-22 | 2009-01-21 | 富士通マイクロエレクトロニクス株式会社 | リアルタイムレコーディングシステム及びリアルタイムレコーディング方法 |
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 |
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 |
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 |
US7080188B2 (en) * | 2003-03-10 | 2006-07-18 | Marvell International Ltd. | Method and system for embedded disk controllers |
US7099963B2 (en) * | 2003-03-10 | 2006-08-29 | Qlogic Corporation | Method and system for monitoring embedded disk controller components |
US7206922B1 (en) * | 2003-12-30 | 2007-04-17 | Cisco Systems, Inc. | Instruction memory hierarchy for an embedded processor |
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 |
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 |
US7609468B2 (en) * | 2005-04-06 | 2009-10-27 | Marvell International Ltd. | Method and system for read gate timing control for storage controllers |
US8108659B1 (en) * | 2006-11-03 | 2012-01-31 | Nvidia Corporation | Controlling access to memory resources shared among parallel synchronizable threads |
JP5354816B2 (ja) | 2008-10-15 | 2013-11-27 | マーベル ワールド トレード リミテッド | N個のデータを入出力するhdc、および、その方法 |
CN102385555B (zh) * | 2010-08-27 | 2015-03-04 | 深圳市朗科科技股份有限公司 | 一种缓存系统和数据缓存的方法 |
US9268649B1 (en) * | 2011-06-23 | 2016-02-23 | Western Digital Technologies, Inc. | Disk drive with recent write streams list for data refresh determination |
US20130132621A1 (en) * | 2011-11-23 | 2013-05-23 | Ankit Sihare | Method and apparatus to share hardware resources across storage controllers within a system using resource sharing module |
US9886209B2 (en) * | 2016-02-16 | 2018-02-06 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Controlling file placement on a disk drive to improve file access |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4000485A (en) | 1975-06-30 | 1976-12-28 | Honeywell Information Systems, Inc. | Data processing system providing locked operation of shared resources |
US4558429A (en) | 1981-12-17 | 1985-12-10 | Honeywell Information Systems Inc. | Pause apparatus for a memory controller with interleaved queuing apparatus |
US5276807A (en) | 1987-04-13 | 1994-01-04 | Emulex Corporation | Bus interface synchronization circuitry for reducing time between successive data transmission in a system using an asynchronous handshaking |
US5193197A (en) | 1987-09-24 | 1993-03-09 | Digital Equipment Corporation | Apparatus and method for distributed dynamic priority arbitration for access to a shared resource |
US5072420A (en) | 1989-03-16 | 1991-12-10 | Western Digital Corporation | FIFO control architecture and method for buffer memory access arbitration |
US5506989A (en) | 1990-01-31 | 1996-04-09 | Ibm Corporation | Arbitration system limiting high priority successive grants |
US5249271A (en) | 1990-06-04 | 1993-09-28 | Emulex Corporation | Buffer memory data flow controller |
US5301333A (en) | 1990-06-14 | 1994-04-05 | Bell Communications Research, Inc. | Tree structured variable priority arbitration implementing a round-robin scheduling policy |
JP2703668B2 (ja) | 1991-03-18 | 1998-01-26 | 株式会社日立製作所 | データ転送制御装置および磁気ディスク制御装置 |
DE69230462T2 (de) | 1991-11-19 | 2000-08-03 | Sun Microsystems Inc | Arbitrierung des Multiprozessorzugriffs zu gemeinsamen Mitteln |
CA2080608A1 (en) | 1992-01-02 | 1993-07-03 | Nader Amini | Bus control logic for computer system having dual bus architecture |
US5408644A (en) | 1992-06-05 | 1995-04-18 | Compaq Computer Corporation | Method and apparatus for improving the performance of partial stripe operations in a disk array subsystem |
US5524268A (en) | 1992-06-26 | 1996-06-04 | Cirrus Logic, Inc. | Flexible processor-driven control of SCSI buses utilizing tags appended to data bytes to determine SCSI-protocol phases |
US5276662A (en) * | 1992-10-01 | 1994-01-04 | Seagate Technology, Inc. | Disc drive with improved data transfer management apparatus |
US5546548A (en) | 1993-03-31 | 1996-08-13 | Intel Corporation | Arbiter and arbitration process for a dynamic and flexible prioritization |
US5465343A (en) * | 1993-04-30 | 1995-11-07 | Quantum Corporation | Shared memory array for data block and control program storage in disk drive |
US5487170A (en) | 1993-12-16 | 1996-01-23 | International Business Machines Corporation | Data processing system having dynamic priority task scheduling capabilities |
JPH07244635A (ja) | 1994-01-14 | 1995-09-19 | Fujitsu Ltd | バス使用権調停回路及び方法 |
US5574867A (en) | 1994-07-08 | 1996-11-12 | Intel Corporation | Fast first-come first served arbitration method |
US5519837A (en) | 1994-07-29 | 1996-05-21 | International Business Machines Corporation | Pseudo-round-robin arbitration for a shared resource system providing fairness and high throughput |
US5881313A (en) | 1994-11-07 | 1999-03-09 | Digital Equipment Corporation | Arbitration system based on requester class and relative priority including transmit descriptor valid bit for a shared resource having multiple requesters |
US5546545A (en) | 1994-12-09 | 1996-08-13 | International Business Machines Corporation | Rotating priority selection logic circuit |
US5623672A (en) | 1994-12-23 | 1997-04-22 | Cirrus Logic, Inc. | Arrangement and method of arbitration for a resource with shared user request signals and dynamic priority assignment |
WO1996035173A1 (en) | 1995-05-03 | 1996-11-07 | Apple Computer, Inc. | Arbitration of computer resource access requests |
US5664121A (en) | 1995-11-07 | 1997-09-02 | Sun Microsystems, Inc. | Dual mode arbitration apparatus and method for reducing latency by allowing the possibility of simultaneous request and access for a shared bus |
US5692135A (en) | 1995-12-14 | 1997-11-25 | International Business Machines Corporation | Method and system for performing an asymmetric bus arbitration protocol within a data processing system |
US5784569A (en) | 1996-09-23 | 1998-07-21 | Silicon Graphics, Inc. | Guaranteed bandwidth allocation method in a computer system for input/output data transfers |
US6178486B1 (en) * | 1998-02-19 | 2001-01-23 | Quantum Corporation | Time allocation shared memory arbitration for disk drive controller |
-
1999
- 1999-03-24 US US09/275,629 patent/US6530000B1/en not_active Expired - Lifetime
-
2000
- 2000-03-23 AU AU39153/00A patent/AU3915300A/en not_active Abandoned
- 2000-03-23 CA CA2364625A patent/CA2364625C/en not_active Expired - Lifetime
- 2000-03-23 WO PCT/US2000/007780 patent/WO2000057267A1/en active IP Right Grant
- 2000-03-23 AT AT00918322T patent/ATE368885T1/de not_active IP Right Cessation
- 2000-03-23 JP JP2000607076A patent/JP4313516B2/ja not_active Expired - Lifetime
- 2000-03-23 KR KR1020017012114A patent/KR100619806B1/ko active IP Right Grant
- 2000-03-23 EP EP00918322A patent/EP1163573B1/en not_active Expired - Lifetime
- 2000-03-23 DE DE60035774T patent/DE60035774T2/de not_active Expired - Lifetime
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006301810A (ja) * | 2005-04-18 | 2006-11-02 | Fujitsu Ltd | データ転送処理方法、データ転送処理装置およびデータ転送処理制御プログラム |
Also Published As
Publication number | Publication date |
---|---|
US6530000B1 (en) | 2003-03-04 |
KR100619806B1 (ko) | 2006-09-13 |
DE60035774T2 (de) | 2007-12-06 |
CA2364625A1 (en) | 2000-09-28 |
DE60035774D1 (de) | 2007-09-13 |
KR20010110679A (ko) | 2001-12-13 |
ATE368885T1 (de) | 2007-08-15 |
AU3915300A (en) | 2000-10-09 |
WO2000057267A1 (en) | 2000-09-28 |
CA2364625C (en) | 2012-08-07 |
JP4313516B2 (ja) | 2009-08-12 |
EP1163573B1 (en) | 2007-08-01 |
EP1163573A1 (en) | 2001-12-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2002540499A (ja) | ディスク・コントローラ・メモリへのアクセスを調停する調停方法およびシステム | |
US6393506B1 (en) | Virtual channel bus and system architecture | |
US5884050A (en) | Mechanism for high bandwidth DMA transfers in a PCI environment | |
US5613162A (en) | Method and apparatus for performing efficient direct memory access data transfers | |
US6330626B1 (en) | Systems and methods for a disk controller memory architecture | |
US6401149B1 (en) | Methods for context switching within a disk controller | |
US5828856A (en) | Dual bus concurrent multi-channel direct memory access controller and method | |
KR102519019B1 (ko) | 액세스 효율에 기초한 메모리 요청의 순서화 | |
US5794072A (en) | Timing method and apparatus for interleaving PIO and DMA data transfers | |
JPH071495B2 (ja) | データ処理システム | |
US5506968A (en) | Terminating access of an agent to a shared resource when a timer, started after a low latency agent requests access, reaches a predetermined value | |
US4949247A (en) | System for transferring multiple vector data elements to and from vector memory in a single operation | |
US5884052A (en) | Smart retry mechanism to program the retry latency of a PCI initiator agent | |
US5301332A (en) | Method and apparatus for a dynamic, timed-loop arbitration | |
JP4531223B2 (ja) | 集合的メモリを共有する複数のプロセッサを備えたデータ処理装置 | |
US20090119429A1 (en) | Semiconductor integrated circuit | |
EP1752881A1 (en) | Apparatus for memory resource arbitration based on dedicated time slot allocation | |
CA2370596C (en) | Systems and methods for a disk controller memory architecture | |
US20050138251A1 (en) | Arbitration of asynchronous and isochronous requests | |
KR102334473B1 (ko) | 적응형 딥러닝 가속 장치 및 방법 | |
US20050120147A1 (en) | Direct memory access controller enabling cycle stealing among channels | |
US20010002481A1 (en) | Data access unit and method therefor | |
JP2003228512A (ja) | データ転送装置 | |
JP2002269028A (ja) | Admコントローラ装置 | |
JP2000250852A (ja) | バス調停装置、バスシステムおよびバス調停方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7426 Effective date: 20010928 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20010928 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060317 |
|
A625 | Written request for application examination (by other person) |
Free format text: JAPANESE INTERMEDIATE CODE: A625 Effective date: 20060317 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20060801 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060721 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20060823 |
|
RD05 | Notification of revocation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7425 Effective date: 20060823 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20060801 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080610 |
|
A524 | Written submission of copy of amendment under article 19 pct |
Free format text: JAPANESE INTERMEDIATE CODE: A524 Effective date: 20080904 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081111 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090127 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20090428 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090515 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120522 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4313516 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130522 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term | ||
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R371 | Transfer withdrawn |
Free format text: JAPANESE INTERMEDIATE CODE: R371 |