JP2005517228A - スケジューリングの順序付けられたステージの基準を使用してリクエストをスケジューリングする方法及び装置 - Google Patents

スケジューリングの順序付けられたステージの基準を使用してリクエストをスケジューリングする方法及び装置 Download PDF

Info

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
Application number
JP2003542492A
Other languages
English (en)
Other versions
JP4094550B2 (ja
Inventor
ウルフ−ディートリッチ ウェーバー
Original Assignee
ソニックス インコーポレイテッド
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 ソニックス インコーポレイテッド filed Critical ソニックス インコーポレイテッド
Publication of JP2005517228A publication Critical patent/JP2005517228A/ja
Application granted granted Critical
Publication of JP4094550B2 publication Critical patent/JP4094550B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation 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/5016Allocation 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
    • 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/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • 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/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • G06F13/1626Handling 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

本発明は、複数のイニシエータデバイスから1つのリソースへのリクエストのスケジューリングを提供する。或る実施例では、スレッド内のリクエストのスケジューリング(220)及びイニシエータデバイスのアクセスのスケージュリングがQOSを保証しながら(215)実行される。

Description

【0001】
【技術分野】
ここに述べるメカニズムは、多数の独立したイニシエータがダイナミックランダムアクセスメモリ(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)

  1. リクエストスレッドを処理するためのサービスの品質(QOS)スケジューリングを、各スレッドについてのQOSを実質的に維持するように組合せることと、リソースの効率を実質的に最大にするリソーススケジューリングとを包含する、リソースへのアクセスをスケジュールする方法。
  2. 請求項1に記載の方法において、前記組合せることが、決定されたステージ(各ステージがQOSの1つを反映している)でのリクエストをフィルタリングすることと、前記ステージを、決定されて組合されたQOS及びリクエストのプライオリティのリソーススケジュールを達成するように、順序付けすることとを包含することを特徴とする方法。
  3. 請求項2に記載の方法において、前記ステージは、QOS保証に合わせるためリクエストの順序を決定するように且つリソース効率のリクエストの順序を決定するように順序付けされ、リソース効率がQOS保証を満足する場合にはリクエストが第1のリソース効率順序に従ってスケジュールされ、それ以外の場合にはリクエストが第2のリソース効率順序に従ってスケジュールされる、ことを特徴とする方法。
  4. 請求項2に記載の方法において、前記リソースが、ダイナミックランダムアクセスメモリ(DRAM)であり、前記ステージが、QOS保証に合わせるためリクエストの順序を決定するように且つDRAM効率のリクエストの順序を決定するように順序付けされ、前記DRAM効率がQOS保証を満足する場合にはリクエストが第1のDRAM効率順序に従ってスケジュールされ、それ以外の場合にはリクエストが第2のDRAM効率順序に従ってスケジュールされる、ことを特徴とする方法。
  5. 請求項2に記載の方法において、前記フィルタリングすることが、
    前記リソースのアベイラビリティによって送られ得るリクエストを通してフィルタリングすること、
    QOS保証に合わせるリクエストを通してフィルタリングすること、
    前記リソースのコストファンクションスケジューリングによるリクエストを通してフィルタリングすること、及び
    前記リソースによって処理するための前記フィルタリングされたリクエストを提供すること
    を包含することを特徴とする方法。
  6. 請求項5に記載の方法において、前記リソースのコストファンクションスケジューリングによるリクエストを通してフィルタリングすることが、最高のスイッチコストから最低のものへ順序付けされたものをフィルタリングすることを包含することを特徴とする方法。
  7. 請求項5に記載の方法において、前記提供することにおいて複数のリクエストが含まれる場合、更に、前記スケジューリングリクエストを、到着時間に従ってプライオリティの順序付けを行うことを包含することを特徴とする方法。
  8. 請求項5に記載の方法において、前記リソースは、ダイナミックランダムアクセスメモリ(DRAM)であることを特徴とする方法。
  9. デバイスへのアクセスをスケジューリングするスケジューリング装置であって、
    リクエストスレッドを処理するための、組合せたサービス品質(QOS)のスケジューラを包含し、各スレッドについてのQOSが実質的に維持されており、更に、リソース効率が実質的に最大にされるリソーススケジューラを包含する、ことを特徴とするスケジューリング装置。
  10. 請求項9に記載の装置において、前記組合せたQOSスケジュールが、複数のリクエストフィルタを包含し、各フィルタは、QOSの1つとリソーススケジューリング基準を反映し、前記フィルタが、決定されて組合されたQOS及びリクエストのプライオリティのリソーススケジュールを達成するように順序付けられる、ことを特徴とする装置。
  11. 請求項10に記載の装置において、前記複数のフィルタの第1のフィルタは、前記リソースの非アベイラビリティによっては送られ得ないリクエストをフィルタ出力しており、前記第1フィルタは、QOS保証に従うリクエストをフィルタ出力するように第2のフィルタに第1フィルタ出力リクエストを提供し、前記第2フィルタは、前記リソースのコストファンクションスケジューリングに従うリクエストをフィルタ出力するように第3のフィルタに第2フィルタ出力リクエストを提供し、該第3フィルタが前記リソースによって処理するための第3フィルタ出力を提供する、ことを特徴とする装置。
  12. 請求項11に記載の装置において、前記リソースが、ダイナミックランダムアクセスメモリ(DRAM)である、ことを特徴とする装置。
  13. 請求項11に記載の装置において、前記第3フィルタが、最高のスイッチコストから最低のものへ順序付けされた複数のサブフィルタを包含することを特徴とする装置。
  14. 請求項11に記載の装置において、前記第3フィルタが複数のリクエストを提供する場合、該リクエストは、スケジューリングの到着時間に従ってプライオリティが順序付けされることを特徴とする装置。
JP2003542492A 2001-10-12 2002-02-21 スケジューリングの順序付けられたステージの基準を使用してリクエストをスケジューリングする方法及び装置 Expired - Lifetime JP4094550B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (10)

* Cited by examiner, † Cited by third party
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