JP2005517228A - スケジューリングの順序付けられたステージの基準を使用してリクエストをスケジューリングする方法及び装置 - Google Patents
スケジューリングの順序付けられたステージの基準を使用してリクエストをスケジューリングする方法及び装置 Download PDFInfo
- Publication number
- JP2005517228A JP2005517228A JP2003542492A JP2003542492A JP2005517228A JP 2005517228 A JP2005517228 A JP 2005517228A JP 2003542492 A JP2003542492 A JP 2003542492A JP 2003542492 A JP2003542492 A JP 2003542492A JP 2005517228 A JP2005517228 A JP 2005517228A
- Authority
- JP
- Japan
- Prior art keywords
- requests
- scheduling
- resource
- dram
- request
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/161—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
- G06F13/1626—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Dram (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Multi-Process Working Machines And Systems (AREA)
- General Factory Administration (AREA)
- Bus Control (AREA)
- Train Traffic Observation, Control, And Security (AREA)
Abstract
Description
【技術分野】
ここに述べるメカニズムは、多数の独立したイニシエータがダイナミックランダムアクセスメモリ(DRAM)のサブシステムを共用するシステムに適用される。
【0002】
【背景技術】
単一チップに形成されたシステムでは、多数の独立したイニシエータ(マイクロプロセッサ、信号プロセッサ等)が、コスト、ボード面積及び電力の理由で、これらイニシエータ間に共用されたダイナミックランダムアクセスメモリ(DRAM)サブシステムにアクセスすることは、珍しいことではない。このシステムは、イニシエータの各々に異なるサービスクオリティ(QOS)が与えられることを必要とする。第2に、イニシエータに提示されるメモリ順序付けモデルも重要となる。理想的には、イニシエータは、できるだけ強力に順序付けされたメモリモデルを使用することを希望する。同時に、DRAM要求がDRAMサブシステムに提示される順序は、DRAM性能に対して著しい影響を及ぼし得る。スレッドQOS又はDRAM効率の理由で要求を更に再順序付けすると、強力に順序付けされたメモリモデルを妥協させることができる。強力に順序付けされたメモリモデルを提示し、異なるイニシエータに異なるサービスクオリティを与え、そしてDRAM効率をできるだけ高く保持する独特のDRAMスケジューリングメカニズムが要求される。
【0003】
各異なるイニシエータからの要求ストリームは、スレッドとして説明することができる。DRAMスケジューラーが同じスレッドからの要求を再順序付けしない場合には、スレッド内の要求順序が維持され、そして全体的なDRAM要求順序は、単に、スレッド当たりの逐次の要求ストリームをインターリーブしたものとなる。これは、「逐次一貫性」、即ち多数のイニシエータコンポーネントを含むシステムに使用可能な最も強いメモリ順序付けモデルの定義である。(逐次一貫性の更なる説明については、L.ランポート氏の「How to Make a Multi-processing Computer That Correctly Executes Multi-process Programs」、IEEEトランザクション・オン・コンピュータズ、C−28(9):241−248,1979年9月、を参照されたい。)
【0004】
既存のシステムは、DRAM効率のスケジューリングが生じる(もし行われれば)場所以外のシステム内のポイントで要求を順序付けし、及び/又はそれらシステムは、処理スレッド内で要求を再順序付けする。例えば、要求は、イニシエータから標準的なコンピュータバスを経てDRAMコントローラへ搬送される。要求の順序(スレッド間及びスレッド内)は、コンピュータバスへアクセスするときに確立され、DRAMコントローラによる変更は許されない。この場合に、効率に対するDRAMのスケジューリングは、低いDRAM効率を生じるに必要なもの以上の制約を受ける。異なる例では、各イニシエータは、DRAMコントローラとのそれ自身の個々のインターフェイスを有し、DRAMコントローラがスレッドの順序を維持しながら要求をスケジューリングするのを許す。この種のシステムは、潜在的に満足な結果を達成するが、DRAMコントローラへの配線を浪費する。このようなシステムでは、スレッド内でDRAM要求を再順序付けすることができる。これは、高いDRAM効率を生じるが、メモリモデルを著しく緩和し、即ち逐次一貫性のメモリモデルをもはや提示しない。従って、強力なメモリモデルを保持すると同時に、メモリ要求の再順序付けを許して、高いDRAM効率及びQOS保証を達成することが重要である。
【0005】
【発明の開示】
本発明は、複数のイニシエータからDRAMサブシステムのような1つのリソースへの要求をスケジューリングすることに関する。各イニシエータスレッドには、異なるサービスクオリティが与えられる一方、リソース利用度が高く保持され、そして強力な順序付けモデルが維持される。
【0006】
【発明を実施するための最良の形態】
ここに説明するメカニズムは、多数の独立したイニシエータがダイナミックランダムアクセスメモリ(DRAM)サブシステムを共用するシステムに適用される。
【0007】
1つの実施形態において、本発明は、異なるイニシエータに、互いに独立した所定のサービスクオリティを与えると同時に、DRAMの効率をできるだけ高く保持し、そして強いメモリ順序付けモデルをイニシエータに提示できるようにする。
【0008】
図1は、DRAMスケジューリングシステムの一実施形態を示す高レベルブロック図である。異なるイニシエータからの要求10は、マルチスレッドのインターフェイス15を経て到着する。イニシエータは、デバイス又はプロセスとして実施される。異なるイニシエータからの要求10は、インターフェイスにおいて異なるスレッド識別子(「スレッドID」)で識別された異なるスレッドを横切って通信される。これは、要求をスレッド(又はイニシエータ)により、スレッドごとの要求待ち行列、例えば、20、25、30に分割できるようにする。これらスレッド待ち行列20、25、30からの要求は、DRAM及びスレッドスケジューラーブロック35へ並列に提示される。このスケジューラーブロック35は、要求がDRAMコントローラ40へ提示される順序を決定し、DRAMコントローラは、次いで、実際のDRAMサブシステム45へ要求を送信する役割を果たす。DRAMコントローラ45から応答50が返送されるときには、それらが、マルチスレッドのインターフェイス15を経てイニシエータへ返送される。マルチスレッドインターフェイス及びスレッド識別子を使用してイニシエータからの要求の供給を説明した。別の実施形態では、イニシエータごとに個々に単一スレッドインターフェイスが使用される。
【0009】
DRAM及びスレッドスケジューラー35は、DRAM要求が処理される順序を確立する同期ポイントとして働く。たとえ要求がマルチスレッドインターフェイスを経てある順序で到着しとしても、それら要求は、スレッドのサービスクオリティ(QOS)保証を満足するか又はDRAM効率を高めるために、スケジューラーブロック35により再順序付けすることができる。逆に、DRAMコントローラ40のブロックは、スケジューラーブロック35により確立される順序が、実際に、要求がコミットされた順序であるように、要求を順次に処理することもできる。しかしながら、スケジューラーブロック35が、同じスレッドからの要求を再順序付けしない場合には、スレッド内の要求順序が維持され、そして全DRAM要求順序は、単に、スレッドごとの逐次要求ストリームをインターリーブしたものとなる。
【0010】
図2の簡単なフローチャートを参照して、プロセスの一実施形態を説明する。ステップ205において、QOS保証に対する好ましい要求順序が識別又は決定される。DRAM効率に対する要求を処理するための好ましい順序は、ステップ210で決定される。ステップ205及び210を実行する際には、メモリ順序付けモデルの制約が考慮に入れられる。好ましいDRAM効率順序がQOS保証を満足する場合には(ステップ215)、DRAM効率順序に基づいて要求がスケジュールされる(ステップ220)。DRAM効率順序がQOS保証を満足しない場合には(ステップ215)、次に最良のDRAM効率順序が決定される(ステップ225)。このステップは、DRAM効率順序がQOS保証を満足するまで繰り返される。
【0011】
図2に示すプロセスは、1つの実施形態に過ぎない。他の実施形態も意図される。例えば、1つの実施形態では、QOS保証を満足する要求順序が決定され、次いで、DRAM効率を最適化するように変更される。
【0012】
図3は、図1のDRAM及びスレッドスケジューラーの一実施形態を詳細に示す。異なるスレッドからの要求320、325、330がDRAMコントローラ310へ順次に送られる。任意の時間に要求が進行するために得るスケジューリングの判断は、スレッドのクオリティサービスのスケジューリング及びDRAMのスケジューリングの組合せを使用して導出される。
【0013】
スレッドサービスクオリティスケジューラー340は、スレッド状態350を保持しそしてそれを使用して、スレッドスケジューリング経過を想起し、そしてどのスレッドを次に進行させるべきか決定する上で助けとする。例えば、スレッドに、ある量のDRAM帯域巾が保証される場合には、スレッドスケジューラー340は、どのスレッドがどれほどの帯域巾を使用したか追跡し、そしてそれに応じてスレッドをプライオリティ決めする。一方、DRAMスケジューラー345は、異なるスレッドからの要求をシーケンシングし、DRAM性能を最大にするように試みる。例えば、スケジューラー345は、互いに接近した同じDRAMページにアクセスする要求をスケジューリングして、DRAMページヒットを得る機会を増加するように試みることができる。DRAMスケジューラー345は、DRAMにおける状態355を使用しそして保持し、そしてその経過にアクセスしてそのスケジューリングを判断する上で助けとなるようにする。
【0014】
スレッドサービスクオリティスケジューラー340及びDRAMスケジューラー345は、異なる振舞いに対して最適化され、そして相反するスケジュールを生じることがある。2つのスケジューラー340、345の出力は、約束のスレッドサービスクオリティを得る一方、高いDRAM効率を得るために、合成される(360)か、又は仲裁されねばならない。
【0015】
DRAMスケジューラー345は、それ自体、多数の異なるスケジューリング目標のバランスをとらねばならない。1つの実施形態では、スケジューリングコンポーネントは、ここでは絶対的スケジューリング及びコスト関数スケジューリングと称される2つの広いカテゴリーに分類することができる。
【0016】
絶対的スケジューリングとは、各個々の要求に関して簡単なイエス/ノー判断を行うことのできるスケジューリングを指す。その一例は、DRAMバンクスケジューリングである。いかなる所与のDRAM要求も、それがアドレスする厳密に1つのバンクを有する。このバンクは、要求を受信するために現在使用できるか、又は他の要求でビジーであってそのときDRAMへ要求を送信する上で価値がないかのいずれかである。
【0017】
コスト関数スケジューリングは、各要求に対して直ちにイエス/ノー応答がないという点で更に微妙である。せいぜい、ある時間にDRAMへ要求を送信すると、高いDRAM効率を生じることが多少あると言える。
【0018】
コスト関数スケジューリングの一例は、共用DRAMデータバスの方向に基づく要求スケジューリングである。典型的に、DRAMデータバスの方向を読み取りから書き込みへそしてその逆に切り換えることに関連したコストがある。従って、各要求間で切り換えるのではなく、同じデータバス方向を必要とする要求を一緒に集めるのが効果的である。どれほど多くの要求を一緒に集めるかは、予想される要求入力パターン、及び効率と待ち時間との間の妥協に依存し、その一例が図4に示されている。DRAMスケジューリングアルゴリズムが方向を頻繁に切り換えるようにセットされた場合には、多数の切り換えが多くのデータバスサイクルを浪費させるので、予想される効率は低い。一方、要求が到着するや否やサービス状態となるので、要求の平均待機時間(待ち時間)は低い。
【0019】
DRAMスケジューリングアルゴリズムが、頻繁に切り換わらない(即ち各方向の要求をより多く集める)ようにセットされた場合には、全DRAM効率は高くなるが、要求の平均待ち時間も長くなる。全システム性能の最良のポイントは容易に決定されず、これは、要求パターン、待ち時間と効率との間の妥協、及び切り換えのコストに依存する。
【0020】
以下の例は、バス方向をコスト関数スケジューリングの基礎として使用する。しかしながら、種々の他の基準を使用して、コスト関数スケジューリングを実施することも意図される。コスト関数スケジューリングの他の例は、1つのDRAMページをいつ閉じそして別のページをいつ開くか判断し、そしてDRAM要求をいつ切り換えて異なる物理的バンクを使用するか判断することを含む。
【0021】
図5は、最適なパーフォーマンスに対してスイッチ点の動的な調整ができるようにプログラム可能なDRAMバススケジューラの1実施例を示している。1つの実施例において、スケジューラ505は、データバスの最後の方向(読み出し又は書き込み)510のトラック及びその方向を持ったリクエストの数のカウント515を維持する。スイッチ点情報を保持するためにレジスタ520が加えられる。1つの実施例では、このレジスタ520に、最適なパーフォーマンスに対してDRAMスケジューラを動的に構成するためにシステムの動作中にソフトウェア525により書き込むことができる。たとえば、アプリケーションに従って及び/又はアプリケーションによりスイッチ点を動的に更新することが望ましい。1つの実施例では、スイッチ点は、過去又は現在のパーフォーマンスに基づいて経験的に決定される。
【0022】
リクエストは異なるスレッド上で提供されるので、スケジューラ505が、DRAMデータバスの現在の方向、既に送られたリクエストのカウント、構成可能なスイッチ点、及び入来する新しいリクエストの方向を見る。カウントがスイッチ点に到達する前では、現在のDRAMデータバスと同じ方向を持つリクエストの方がそれらが逆方向へ進むものよりも選択される。スイッチ点に到達すると、逆方向へのリクエストが選択される。1つの方向からのリクエストだけが提供される場合には、次のリクエストがどちらの方向へ進むかは全く選択されない。本実施例では、スイッチ点を決定するためにカウント及び比較ファンクションが使用される。しかしながら、他のファンクションを使用することも考慮される。さらに、この例では、カウント及び他のファンクションをバス方向に適用したが、カウントに対してあらゆるタイプの手段が使用できる。
【0023】
プロセスの1つの実施例が図6により示されている。ステップ605において、少なくとも1つのリクエストが利用可能であると考えると、バスの現在の方向についてリクエストがあるかどうかが決定される。リクエストがなければ、バスの方向が変更され(ステップ610)カウントリセット(ステップ615)し、バスの新しい方向を使用してリクエストが処理される(620)。現在のバスの方向で実行されたリクエストの数のトラックを維持するカウントがインクリメントされる(ステップ625)。バスのカウント方向についてリクエストがある場合には、その後、カウントがスイッチ点に到達したかどうかがチェックされる。その後スイッチ点に到達した場合には、バスの逆方向についてリクエストがあるかどうかが決定される(ステップ635)。スイッチ点に到達していない場合には、現在の方向についてリクエストが処理される(ステップ620)。加えて、カウントがスイッチ点に到達していない場合には、処理されている現在の方向についてリクエストの処理を続行し、カウントがインクリメントされる(ステップ620及び625)。
【0024】
1つ実施例では、サービススケジューリングとDRAMスケジューリングのスレッド品質を結合してDRAM効率を最大にしながら各スレッドについて所望のサービスの品質を残すスケージュリング結果を達成するのが望ましい。異なるスケジューリングコンポーネントを結合する1つの方法は、それらを1つ以上のリクエストフィルタ(その1つが図7に示されている)として表すことである。パースレッドリクエスト705が入力され、そして選択的にフィルタされ、それにより、リクエストの一部のセットのみが、フィルタ710を介してフィルタリングされ、すなわちフィルタ710から出力される。どのリクエストがフィルタ出力されるべきかの決定は、フィルタに取り付けられた制御ユニット715により行われる。このユニット715は、この決定を入来するリクエスト及び可能ならばユニット715のある状態に基づいて行う。たとえば、DRAMの方向を切り換えることを決定するコストファンクションフィルタについては、その決定は、バスの現在の方向、最後の切り換え以降に既にその方向に通過したリクエストの数及び異なるスレッドから提供されるリクエストのタイプに基づいて実行される。この決定は、DRAMデータバスと同じ方向について続行されるかもしれないし、したがって、逆方向のリクエストがあればフィルタ出力される。
【0025】
異なるスケジューリングコンポーネントがフィルタとして表されると、各種フィルタをスタックしてスケジュールコンポーネントを結合することができる。フィルタをスタックする順序は、異なるスケジューリングコンポーネントに与えられる優先順位を決定する。
【0026】
図8は、所望の結果を達成するための、2つのスケジューリングアルゴリズムの異なる部分の順序付けを示す1つの実施例のブロック図である。図8に示されたブロック810、820、830、840の各々は、リクエストが入力されて(805)出力される(860)のに対して1つのフィルタのように作用する。各フィルタに対して、たとえば、各フィルタ810、820、830について、そのスケージュリングのステージの基準を満たすリクエストのみが通過を許される。たとえば、DRAMバンクスケジューリング810は、利用可能なバンクに対するリクエストだけ通過を許し、基準を満たさないリクエストをフィルタ出力する。サービススケジューリング820のスレッド品質が、所望の優先順位グループにあるスレッドだけの通過を許す。データバススケジューリング、コストファンクションスケジューリングの1つの例830は、データバスのターンアラウンドを避けるために選択的に書き込み又は読み出しのみを通過させる。
【0027】
詳細には、1つの実施例において、異なるスレッドからのDRAMリクエスト805が入力され絶対DRAMスケジューリングコンポーネント810が実行され、それにより、DRAMに送ることができないリクエストがフィルタ出力され、送ることができるリクエストだけがスレッドスケジューラ820へ送り続けられる。スレッドスケジューラ820は、各スレッドについてサービス品質条件を使用してリクエストをスケジュールする。スケジューラ820は、この時点でサービスを受けるべきでないスレッドからのリクエストをフィルタ出力する。残りのリクエストはコストファンクションDRAMスケジューラ830へ続けて送られる。ここで、リクエストはコストファンクションスケジューリングに従って除去される。DRAMスケジューリングに対して1つ以上のコストファンクションコンポーネントがある場合には、異なるコンポーネントが最大のスイッチコストから最小のコストへ順序付けられる。たとえば、データバスターンアラウンドに3サイクルのコストがかかり、1つの物理DRAMバンクから別の物理DRAMバンクへの切り換えに1サイクルのコストがかかる場合には、物理DRAMバンクの代用としてDRAMデータバススケジューリングが使用される。1つ以上のリクエストがコストファンクションDRAMスケジューラの最下部から出力される場合には、それらは、到着時間の優先順位で順序付けられる。この最後のフィルタ840はリクエストがそれらのスレッド優先順位グループ内で衰弱するのを防止する。
【0028】
上述した説明は、正にDRAMスケジューリングシステムの1つの実施例に過ぎない事は容易に明らかであろう。異なるスレッシュホールドを有する異なるタイプのフィルタ及びフィルタのスイッチ点及び/又は異なる順序付けが所望の結果を達成するために実施されてもよい事は容易に認識されるであろう。さらに、図面では別のフィルタエレメントとして示されているが、そのフィルタを、単一の論理プロセッサ又はプロセスにより実施して、上述したフィルタファンクションを表すプロセスのステージを実行してもよい。以上、本発明を1つの実施例について説明したが、多数の代替物、修正、変更及び使用が当業者にとって明らかであろう。
【図面の簡単な説明】
【図1】
本発明のシステムの一実施形態を示す図である。
【図2】
スレッドのスケジューリングとデバイスのスケジューリングを合成する一実施形態を示す簡単なフローチャートである。
【図3】
DRAM及びスレッドスケジューラーの一実施形態を示す図である。
【図4】
コスト関数スケジューリングの妥協を示す簡単な例である。
【図5】
コスト関数DRAMバススケジューラーの一実施形態を示す図である。
【図6】
コスト関数DRAMバススケジューリングプロセスの一実施形態を示すフローチャートである。
【図7】
要求フィルタとしてのスケジューリングコンポーネントの一実施形態を示す図である。
【図8】
所望の結果を得るようにスレッドスケジューリング及びデバイススケジューリングを順序付けする一実施形態を示す図である。
Claims (14)
- リクエストスレッドを処理するためのサービスの品質(QOS)スケジューリングを、各スレッドについてのQOSを実質的に維持するように組合せることと、リソースの効率を実質的に最大にするリソーススケジューリングとを包含する、リソースへのアクセスをスケジュールする方法。
- 請求項1に記載の方法において、前記組合せることが、決定されたステージ(各ステージがQOSの1つを反映している)でのリクエストをフィルタリングすることと、前記ステージを、決定されて組合されたQOS及びリクエストのプライオリティのリソーススケジュールを達成するように、順序付けすることとを包含することを特徴とする方法。
- 請求項2に記載の方法において、前記ステージは、QOS保証に合わせるためリクエストの順序を決定するように且つリソース効率のリクエストの順序を決定するように順序付けされ、リソース効率がQOS保証を満足する場合にはリクエストが第1のリソース効率順序に従ってスケジュールされ、それ以外の場合にはリクエストが第2のリソース効率順序に従ってスケジュールされる、ことを特徴とする方法。
- 請求項2に記載の方法において、前記リソースが、ダイナミックランダムアクセスメモリ(DRAM)であり、前記ステージが、QOS保証に合わせるためリクエストの順序を決定するように且つDRAM効率のリクエストの順序を決定するように順序付けされ、前記DRAM効率がQOS保証を満足する場合にはリクエストが第1のDRAM効率順序に従ってスケジュールされ、それ以外の場合にはリクエストが第2のDRAM効率順序に従ってスケジュールされる、ことを特徴とする方法。
- 請求項2に記載の方法において、前記フィルタリングすることが、
前記リソースのアベイラビリティによって送られ得るリクエストを通してフィルタリングすること、
QOS保証に合わせるリクエストを通してフィルタリングすること、
前記リソースのコストファンクションスケジューリングによるリクエストを通してフィルタリングすること、及び
前記リソースによって処理するための前記フィルタリングされたリクエストを提供すること
を包含することを特徴とする方法。 - 請求項5に記載の方法において、前記リソースのコストファンクションスケジューリングによるリクエストを通してフィルタリングすることが、最高のスイッチコストから最低のものへ順序付けされたものをフィルタリングすることを包含することを特徴とする方法。
- 請求項5に記載の方法において、前記提供することにおいて複数のリクエストが含まれる場合、更に、前記スケジューリングリクエストを、到着時間に従ってプライオリティの順序付けを行うことを包含することを特徴とする方法。
- 請求項5に記載の方法において、前記リソースは、ダイナミックランダムアクセスメモリ(DRAM)であることを特徴とする方法。
- デバイスへのアクセスをスケジューリングするスケジューリング装置であって、
リクエストスレッドを処理するための、組合せたサービス品質(QOS)のスケジューラを包含し、各スレッドについてのQOSが実質的に維持されており、更に、リソース効率が実質的に最大にされるリソーススケジューラを包含する、ことを特徴とするスケジューリング装置。 - 請求項9に記載の装置において、前記組合せたQOSスケジュールが、複数のリクエストフィルタを包含し、各フィルタは、QOSの1つとリソーススケジューリング基準を反映し、前記フィルタが、決定されて組合されたQOS及びリクエストのプライオリティのリソーススケジュールを達成するように順序付けられる、ことを特徴とする装置。
- 請求項10に記載の装置において、前記複数のフィルタの第1のフィルタは、前記リソースの非アベイラビリティによっては送られ得ないリクエストをフィルタ出力しており、前記第1フィルタは、QOS保証に従うリクエストをフィルタ出力するように第2のフィルタに第1フィルタ出力リクエストを提供し、前記第2フィルタは、前記リソースのコストファンクションスケジューリングに従うリクエストをフィルタ出力するように第3のフィルタに第2フィルタ出力リクエストを提供し、該第3フィルタが前記リソースによって処理するための第3フィルタ出力を提供する、ことを特徴とする装置。
- 請求項11に記載の装置において、前記リソースが、ダイナミックランダムアクセスメモリ(DRAM)である、ことを特徴とする装置。
- 請求項11に記載の装置において、前記第3フィルタが、最高のスイッチコストから最低のものへ順序付けされた複数のサブフィルタを包含することを特徴とする装置。
- 請求項11に記載の装置において、前記第3フィルタが複数のリクエストを提供する場合、該リクエストは、スケジューリングの到着時間に従ってプライオリティが順序付けされることを特徴とする装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/977,517 US6578117B2 (en) | 2001-10-12 | 2001-10-12 | Method and apparatus for scheduling requests using ordered stages of scheduling criteria |
PCT/US2002/005287 WO2003040934A1 (en) | 2001-10-12 | 2002-02-21 | Method and apparatus for scheduling requests using ordered stages of scheduling criteria |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005517228A true JP2005517228A (ja) | 2005-06-09 |
JP4094550B2 JP4094550B2 (ja) | 2008-06-04 |
Family
ID=25525217
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003542492A Expired - Lifetime JP4094550B2 (ja) | 2001-10-12 | 2002-02-21 | スケジューリングの順序付けられたステージの基準を使用してリクエストをスケジューリングする方法及び装置 |
Country Status (6)
Country | Link |
---|---|
US (2) | US6578117B2 (ja) |
EP (1) | EP1435044B1 (ja) |
JP (1) | JP4094550B2 (ja) |
AT (1) | ATE408190T1 (ja) |
DE (1) | DE60228861D1 (ja) |
WO (1) | WO2003040934A1 (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006202244A (ja) * | 2005-01-21 | 2006-08-03 | Himax Optoelectronics Corp | ソースデバイスに対するリクエストをスケジューリングする装置及び方法 |
JP2012533829A (ja) * | 2009-07-22 | 2012-12-27 | エンパイア テクノロジー ディベロップメント エルエルシー | メモリ要求スケジューリングのアプリケーション選択 |
US8607234B2 (en) | 2009-07-22 | 2013-12-10 | Empire Technology Development, Llc | Batch scheduling with thread segregation and per thread type marking caps |
US8839255B2 (en) | 2009-07-23 | 2014-09-16 | Empire Technology Development Llc | Scheduling of threads by batch scheduling |
KR101551321B1 (ko) | 2012-02-23 | 2015-09-08 | 퀄컴 인코포레이티드 | 휴대용 컴퓨팅 디바이스에서 요청들을 스케쥴링하기 위한 방법 및 시스템 |
JP2020129205A (ja) * | 2019-02-07 | 2020-08-27 | キヤノン株式会社 | 制御装置および制御方法 |
JP2021509745A (ja) * | 2017-12-28 | 2021-04-01 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドAdvanced Micro Devices Incorporated | 同じチャネルで不均一なレイテンシを有するメモリタイプのための応答のサポート |
Families Citing this family (62)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7325221B1 (en) | 2000-08-08 | 2008-01-29 | Sonics, Incorporated | Logic system with configurable interface |
US7165094B2 (en) * | 2001-03-09 | 2007-01-16 | Sonics, Inc. | Communications system and method with non-blocking shared interface |
US6934823B2 (en) * | 2001-03-29 | 2005-08-23 | Intel Corporation | Method and apparatus for handling memory read return data from different time domains |
US20030004699A1 (en) * | 2001-06-04 | 2003-01-02 | Choi Charles Y. | Method and apparatus for evaluating an integrated circuit model |
US7194561B2 (en) | 2001-10-12 | 2007-03-20 | Sonics, Inc. | Method and apparatus for scheduling requests to a resource using a configurable threshold |
US6804738B2 (en) * | 2001-10-12 | 2004-10-12 | Sonics, Inc. | Method and apparatus for scheduling a resource to meet quality-of-service restrictions |
US7194566B2 (en) * | 2002-05-03 | 2007-03-20 | Sonics, Inc. | Communication system and method with configurable posting points |
US7356633B2 (en) * | 2002-05-03 | 2008-04-08 | Sonics, Inc. | Composing on-chip interconnects with configurable interfaces |
US7254603B2 (en) * | 2002-05-03 | 2007-08-07 | Sonics, Inc. | On-chip inter-network performance optimization using configurable performance parameters |
US7302691B2 (en) * | 2002-05-10 | 2007-11-27 | Sonics, Incorporated | Scalable low bandwidth multicast handling in mixed core systems |
US6779092B2 (en) * | 2002-05-15 | 2004-08-17 | Hewlett-Packard Development Company, L.P. | Reordering requests for access to subdivided resource |
US6976106B2 (en) * | 2002-11-01 | 2005-12-13 | Sonics, Inc. | Method and apparatus for speculative response arbitration to improve system latency |
US7266786B2 (en) | 2002-11-05 | 2007-09-04 | Sonics, Inc. | Method and apparatus for configurable address mapping and protection architecture and hardware for on-chip systems |
US7603441B2 (en) * | 2002-12-27 | 2009-10-13 | Sonics, Inc. | Method and apparatus for automatic configuration of multiple on-chip interconnects |
JP4041002B2 (ja) * | 2003-03-24 | 2008-01-30 | 株式会社三菱東京Ufj銀行 | データベース更新処理システム、データベース更新のための更新データ入力方法、更新データ処理方法、およびプログラム |
US7149829B2 (en) * | 2003-04-18 | 2006-12-12 | Sonics, Inc. | Various methods and apparatuses for arbitration among blocks of functionality |
US20040210696A1 (en) * | 2003-04-18 | 2004-10-21 | Meyer Michael J. | Method and apparatus for round robin resource arbitration |
US7296105B2 (en) * | 2003-10-03 | 2007-11-13 | Sonics, Inc. | Method and apparatus for configuring an interconnect to implement arbitration |
US8504992B2 (en) * | 2003-10-31 | 2013-08-06 | Sonics, Inc. | Method and apparatus for establishing a quality of service model |
US7665069B2 (en) * | 2003-10-31 | 2010-02-16 | Sonics, Inc. | Method and apparatus for establishing a quality of service model |
US9087036B1 (en) | 2004-08-12 | 2015-07-21 | Sonics, Inc. | Methods and apparatuses for time annotated transaction level modeling |
US8407433B2 (en) * | 2007-06-25 | 2013-03-26 | Sonics, Inc. | Interconnect implementing internal controls |
US7739436B2 (en) * | 2004-11-01 | 2010-06-15 | Sonics, Inc. | Method and apparatus for round robin resource arbitration with a fast request to grant response |
US7681196B2 (en) * | 2004-11-18 | 2010-03-16 | Oracle International Corporation | Providing optimal number of threads to applications performing multi-tasking using threads |
KR100784385B1 (ko) * | 2005-08-10 | 2007-12-11 | 삼성전자주식회사 | 공유 자원에 대한 접근 요청을 중재하는 시스템 및 방법 |
US8868397B2 (en) * | 2006-11-20 | 2014-10-21 | Sonics, Inc. | Transaction co-validation across abstraction layers |
KR101382393B1 (ko) * | 2007-01-16 | 2014-04-09 | 삼성전자주식회사 | 서버 및 그의 동시접속 제어 방법 |
US8285914B1 (en) * | 2007-04-16 | 2012-10-09 | Juniper Networks, Inc. | Banked memory arbiter for control memory |
US7814243B2 (en) * | 2007-06-01 | 2010-10-12 | Sonics, Inc. | Shared storage for multi-threaded ordered queues in an interconnect |
US8438320B2 (en) * | 2007-06-25 | 2013-05-07 | Sonics, Inc. | Various methods and apparatus for address tiling and channel interleaving throughout the integrated system |
US8108648B2 (en) * | 2007-06-25 | 2012-01-31 | Sonics, Inc. | Various methods and apparatus for address tiling |
US9588810B2 (en) * | 2007-08-08 | 2017-03-07 | Microsoft Technology Licensing, Llc | Parallelism-aware memory request scheduling in shared memory controllers |
US8229723B2 (en) * | 2007-12-07 | 2012-07-24 | Sonics, Inc. | Performance software instrumentation and analysis for electronic design automation |
TWI337517B (en) * | 2008-03-04 | 2011-02-11 | Inventec Corp | Trace carrier |
US8073820B2 (en) | 2008-04-07 | 2011-12-06 | Sonics, Inc. | Method and system for a database to monitor and analyze performance of an electronic design |
US8032329B2 (en) * | 2008-09-04 | 2011-10-04 | Sonics, Inc. | Method and system to monitor, debug, and analyze performance of an electronic design |
US8190804B1 (en) * | 2009-03-12 | 2012-05-29 | Sonics, Inc. | Various methods and apparatus for a memory scheduler with an arbiter |
US20110213949A1 (en) * | 2010-03-01 | 2011-09-01 | Sonics, Inc. | Methods and apparatus for optimizing concurrency in multiple core systems |
US8972995B2 (en) | 2010-08-06 | 2015-03-03 | Sonics, Inc. | Apparatus and methods to concurrently perform per-thread as well as per-tag memory access scheduling within a thread and across two or more threads |
US8601288B2 (en) | 2010-08-31 | 2013-12-03 | Sonics, Inc. | Intelligent power controller |
US8314807B2 (en) | 2010-09-16 | 2012-11-20 | Apple Inc. | Memory controller with QoS-aware scheduling |
US8631213B2 (en) | 2010-09-16 | 2014-01-14 | Apple Inc. | Dynamic QoS upgrading |
US8438306B2 (en) | 2010-11-02 | 2013-05-07 | Sonics, Inc. | Apparatus and methods for on layer concurrency in an integrated circuit |
US9405700B2 (en) | 2010-11-04 | 2016-08-02 | Sonics, Inc. | Methods and apparatus for virtualization in an integrated circuit |
US10162726B2 (en) * | 2011-01-18 | 2018-12-25 | Accenture Global Services Limited | Managing computing resources |
US8848731B2 (en) | 2011-01-31 | 2014-09-30 | Qualcomm Incorporated | System and method for facilitating data transfer using a shared non-deterministic bus |
US8775754B2 (en) * | 2011-06-24 | 2014-07-08 | Arm Limited | Memory controller and method of selecting a transaction using a plurality of ordered lists |
US8798038B2 (en) | 2011-08-26 | 2014-08-05 | Sonics, Inc. | Efficient header generation in packetized protocols for flexible system on chip architectures |
US8711867B2 (en) | 2011-08-26 | 2014-04-29 | Sonics, Inc. | Credit flow control scheme in a router with flexible link widths utilizing minimal storage |
US8868941B2 (en) | 2011-09-19 | 2014-10-21 | Sonics, Inc. | Apparatus and methods for an interconnect power manager |
KR101292309B1 (ko) * | 2011-12-27 | 2013-07-31 | 숭실대학교산학협력단 | 반도체칩 및 메모리 제어방법, 그리고 그 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체 |
US9910454B2 (en) | 2012-06-07 | 2018-03-06 | Sonics, Inc. | Synchronizer with a timing closure enhancement |
US9053058B2 (en) | 2012-12-20 | 2015-06-09 | Apple Inc. | QoS inband upgrade |
US9229896B2 (en) | 2012-12-21 | 2016-01-05 | Apple Inc. | Systems and methods for maintaining an order of read and write transactions in a computing system |
US8963938B2 (en) | 2013-01-18 | 2015-02-24 | Apple Inc. | Modified quality of service (QoS) thresholds |
US9684633B2 (en) | 2013-01-24 | 2017-06-20 | Samsung Electronics Co., Ltd. | Adaptive service controller, system on chip and method of controlling the same |
US9019291B2 (en) | 2013-02-25 | 2015-04-28 | Apple Inc. | Multiple quality of service (QoS) thresholds or clock gating thresholds based on memory stress level |
US10114672B2 (en) | 2013-12-31 | 2018-10-30 | Thomson Licensing | User-centered task scheduling for multi-screen viewing in cloud computing environment |
US9472169B2 (en) | 2014-04-22 | 2016-10-18 | Apple Inc. | Coordinate based QoS escalation |
JP6356624B2 (ja) * | 2015-03-23 | 2018-07-11 | 東芝メモリ株式会社 | メモリデバイスおよび情報処理装置 |
US10152112B2 (en) | 2015-06-10 | 2018-12-11 | Sonics, Inc. | Power manager with a power switch arbitrator |
GB2588618B (en) * | 2019-10-29 | 2022-04-20 | Advanced Risc Mach Ltd | Methods and apparatus for issuing memory access commands |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5274769A (en) | 1988-08-29 | 1993-12-28 | Fujitsu Limited | System for transferring data between blocks |
US5287464A (en) | 1990-10-24 | 1994-02-15 | Zilog, Inc. | Semiconductor multi-device system with logic means for controlling the operational mode of a set of input/output data bus drivers |
JP2575557B2 (ja) | 1990-11-13 | 1997-01-29 | インターナショナル・ビジネス・マシーンズ・コーポレイション | スーパーコンピユータシステム |
US5218456A (en) | 1991-07-22 | 1993-06-08 | Xerox Corporation | Disk bandwidth allocations to prioritize disk requests |
US5530901A (en) | 1991-11-28 | 1996-06-25 | Ricoh Company, Ltd. | Data Transmission processing system having DMA channels running cyclically to execute data transmission from host to memory and from memory to processing unit successively |
JP2531903B2 (ja) | 1992-06-22 | 1996-09-04 | インターナショナル・ビジネス・マシーンズ・コーポレイション | コンピュ―タ・システムおよびシステム拡張装置 |
US5664153A (en) | 1993-04-21 | 1997-09-02 | Intel Corporation | Page open/close scheme based on high order address bit and likelihood of page access |
US5469473A (en) | 1994-04-15 | 1995-11-21 | Texas Instruments Incorporated | Transceiver circuit with transition detection |
SE515901C2 (sv) | 1995-12-28 | 2001-10-22 | Dynarc Ab | Resursadministrering, plan och arrangemang |
US5809538A (en) | 1996-02-07 | 1998-09-15 | General Instrument Corporation | DRAM arbiter for video decoder |
US5912872A (en) * | 1996-09-27 | 1999-06-15 | Digital Optics Corporation | Integrated optical apparatus providing separated beams on a detector and associated methods |
US5926649A (en) * | 1996-10-23 | 1999-07-20 | Industrial Technology Research Institute | Media server for storage and retrieval of voluminous multimedia data |
US5996037A (en) | 1997-06-03 | 1999-11-30 | Lsi Logic Corporation | System and method for arbitrating multi-function access to a system bus |
GB2326065B (en) | 1997-06-05 | 2002-05-29 | Mentor Graphics Corp | A scalable processor independent on-chip bus |
US6092137A (en) | 1997-11-26 | 2000-07-18 | Industrial Technology Research Institute | Fair data bus arbitration system which assigns adjustable priority values to competing sources |
US6023720A (en) * | 1998-02-09 | 2000-02-08 | Matsushita Electric Industrial Co., Ltd. | Simultaneous processing of read and write requests using optimized storage partitions for read and write request deadlines |
WO2000003515A1 (en) | 1998-07-08 | 2000-01-20 | Broadcom Corporation | Network switching architecture with fast filtering processor |
US6266718B1 (en) * | 1998-10-14 | 2001-07-24 | Micron Technology, Inc. | Apparatus for controlling data transfer operations between a memory and devices having respective latencies |
US6363445B1 (en) | 1998-10-15 | 2002-03-26 | Micron Technology, Inc. | Method of bus arbitration using requesting device bandwidth and priority ranking |
US6167445A (en) * | 1998-10-26 | 2000-12-26 | Cisco Technology, Inc. | Method and apparatus for defining and implementing high-level quality of service policies in computer networks |
US6212611B1 (en) * | 1998-11-03 | 2001-04-03 | Intel Corporation | Method and apparatus for providing a pipelined memory controller |
US6195724B1 (en) * | 1998-11-16 | 2001-02-27 | Infineon Technologies Ag | Methods and apparatus for prioritization of access to external devices |
US6253269B1 (en) | 1998-12-22 | 2001-06-26 | 3Com Corporation | Bus arbiter system and method for managing communication buses |
JP2004500667A (ja) * | 2000-04-03 | 2004-01-08 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | 改良されたメモリリクエスト調停機構を有するメモリコントローラを含むバスブリッジ |
US6330225B1 (en) * | 2000-05-26 | 2001-12-11 | Sonics, Inc. | Communication system and method for different quality of service guarantees for different data flows |
-
2001
- 2001-10-12 US US09/977,517 patent/US6578117B2/en not_active Expired - Lifetime
-
2002
- 2002-02-21 DE DE60228861T patent/DE60228861D1/de not_active Expired - Lifetime
- 2002-02-21 EP EP02721116A patent/EP1435044B1/en not_active Expired - Lifetime
- 2002-02-21 WO PCT/US2002/005287 patent/WO2003040934A1/en active Application Filing
- 2002-02-21 AT AT02721116T patent/ATE408190T1/de not_active IP Right Cessation
- 2002-02-21 JP JP2003542492A patent/JP4094550B2/ja not_active Expired - Lifetime
-
2003
- 2003-04-08 US US10/409,806 patent/US6804757B2/en not_active Expired - Lifetime
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006202244A (ja) * | 2005-01-21 | 2006-08-03 | Himax Optoelectronics Corp | ソースデバイスに対するリクエストをスケジューリングする装置及び方法 |
JP4723260B2 (ja) * | 2005-01-21 | 2011-07-13 | 奇景光電股▲分▼有限公司 | ソースデバイスに対するリクエストをスケジューリングする装置及び方法 |
JP2012533829A (ja) * | 2009-07-22 | 2012-12-27 | エンパイア テクノロジー ディベロップメント エルエルシー | メモリ要求スケジューリングのアプリケーション選択 |
US8607234B2 (en) | 2009-07-22 | 2013-12-10 | Empire Technology Development, Llc | Batch scheduling with thread segregation and per thread type marking caps |
US8799912B2 (en) | 2009-07-22 | 2014-08-05 | Empire Technology Development Llc | Application selection of memory request scheduling |
US8839255B2 (en) | 2009-07-23 | 2014-09-16 | Empire Technology Development Llc | Scheduling of threads by batch scheduling |
KR101551321B1 (ko) | 2012-02-23 | 2015-09-08 | 퀄컴 인코포레이티드 | 휴대용 컴퓨팅 디바이스에서 요청들을 스케쥴링하기 위한 방법 및 시스템 |
JP2021509745A (ja) * | 2017-12-28 | 2021-04-01 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドAdvanced Micro Devices Incorporated | 同じチャネルで不均一なレイテンシを有するメモリタイプのための応答のサポート |
JP2020129205A (ja) * | 2019-02-07 | 2020-08-27 | キヤノン株式会社 | 制御装置および制御方法 |
JP7292044B2 (ja) | 2019-02-07 | 2023-06-16 | キヤノン株式会社 | 制御装置および制御方法 |
Also Published As
Publication number | Publication date |
---|---|
US6578117B2 (en) | 2003-06-10 |
DE60228861D1 (de) | 2008-10-23 |
EP1435044A1 (en) | 2004-07-07 |
EP1435044A4 (en) | 2006-06-28 |
WO2003040934A1 (en) | 2003-05-15 |
US6804757B2 (en) | 2004-10-12 |
EP1435044B1 (en) | 2008-09-10 |
US20030191907A1 (en) | 2003-10-09 |
US20030074520A1 (en) | 2003-04-17 |
JP4094550B2 (ja) | 2008-06-04 |
ATE408190T1 (de) | 2008-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4094550B2 (ja) | スケジューリングの順序付けられたステージの基準を使用してリクエストをスケジューリングする方法及び装置 | |
JP4095032B2 (ja) | ダイナミックランダムアクセスメモリデバイスへの要求をスケジュールする方法及び装置 | |
US7194561B2 (en) | Method and apparatus for scheduling requests to a resource using a configurable threshold | |
JP4723260B2 (ja) | ソースデバイスに対するリクエストをスケジューリングする装置及び方法 | |
US7197577B2 (en) | Autonomic input/output scheduler selector | |
US8108571B1 (en) | Multithreaded DMA controller | |
CN1188794C (zh) | 到一个共享的协处理器资源的多个逻辑接口 | |
WO2017008607A1 (en) | Shared memory controller and method of using same | |
US6473780B1 (en) | Scheduling of direct memory access | |
US20060146864A1 (en) | Flexible use of compute allocation in a multi-threaded compute engines | |
US11113101B2 (en) | Method and apparatus for scheduling arbitration among a plurality of service requestors | |
JP2000148513A (ja) | タスク制御方法およびタスク制御装置 | |
US10713089B2 (en) | Method and apparatus for load balancing of jobs scheduled for processing | |
US11061724B2 (en) | Programmable hardware scheduler for digital processing systems | |
JPH11249917A (ja) | 並列型計算機及びそのバッチ処理方法及び記録媒体 | |
JPH05241958A (ja) | 仮想記憶制御方式 | |
JP2008046822A (ja) | バス制御装置、集積回路装置、バス制御方法、及びプログラム | |
JP5772040B2 (ja) | データ転送システム,データ転送スケジューリングプログラム | |
JPS63136233A (ja) | タイマサ−ビス利用プロセスのスケジユ−ル方式 | |
JPH07129480A (ja) | ファイル転送装置 | |
JP2003167842A (ja) | Pciバスブリッジ回路および、トランザクション制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070307 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070507 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070807 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071009 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080109 |
|
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: 20080204 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080305 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110314 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4094550 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: 20110314 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120314 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130314 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130314 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140314 Year of fee payment: 6 |
|
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 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |