JP5668858B2 - 情報処理装置及びスケジューリング方法 - Google Patents

情報処理装置及びスケジューリング方法 Download PDF

Info

Publication number
JP5668858B2
JP5668858B2 JP2013529801A JP2013529801A JP5668858B2 JP 5668858 B2 JP5668858 B2 JP 5668858B2 JP 2013529801 A JP2013529801 A JP 2013529801A JP 2013529801 A JP2013529801 A JP 2013529801A JP 5668858 B2 JP5668858 B2 JP 5668858B2
Authority
JP
Japan
Prior art keywords
unit
memory
memory access
dma
information processing
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.)
Expired - Fee Related
Application number
JP2013529801A
Other languages
English (en)
Other versions
JPWO2013027261A1 (ja
Inventor
信之 小池
信之 小池
十四広 宮本
十四広 宮本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Application granted granted Critical
Publication of JP5668858B2 publication Critical patent/JP5668858B2/ja
Publication of JPWO2013027261A1 publication Critical patent/JPWO2013027261A1/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/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/1668Details of memory controller
    • G06F13/1689Synchronisation and timing concerns
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

本件は、メモリアクセス要求を発行するデバイスを備える情報処理装置及びメモリアクセス要求に係る処理のスケジューリング方法に関する。
サーバやパーソナルコンピュータ(PC;Personal Computer)等のいわゆるコンピュータシステムでは、DMA(Direct Memory Access)というシステムバスの使い方がある。DMAとは、通常はCPU(Central Processing Unit)が行なうシステムバスの使用を、CPU以外の機器(バスマスタ)にも許容するものである。また、複数のCPU(又はCPUコア)を備えるマルチプロセッサシステムにおいては、複数のCPUが互いに、システムバスの使用を融通し合うように設計される。
なお、システムバスの使用が許容された機器(CPUを含む)が複数存在するシステムをマルチマスタシステムといい、マルチマスタシステムに使われるバスをマルチマスタバスという。
マルチマスタシステムでは、或るタイミングでバスを使用できるのはCPUを含む一つの機器である。よって、マルチマスタシステムは、或るタイミングで複数の機器からDMA要求が発行されると、発行されたDMA要求を調停して、いずれか一つの機器に対してDMA許可を与える調停回路(バスアービタ)を備える。
図14は、DMA要求を発行する機器を備えるコンピュータシステム(マルチマスタシステム)100の構成例を示す図であり、図15は、コンピュータシステム100におけるDMA要求の調停を行なうバスアービタ400の構成例を示す図である。
図14に示す例では、コンピュータシステム100においてDMA要因となるデバイスは、USB(Universal Serial Bus)やSATA(Serial Advanced Technology Attachment)のインタフェースに対応した、図示しないHDD(Hard Disk Drive)である。コンピュータシステム100は、これらのデバイスをシステムバス600に接続するためのコントローラとして、USBのホストコントローラ(UHCI;Universal Host Controller Interface)や、SATAのホストコントローラ(AHCI;Advanced Host Controller Interface)を備える。
これらのホストコントローラは、PCIデバイス300−1〜300−3として構成され、システムバス600であるPCIバスに接続されている。PCIデバイス300−1〜300−3から発生するDMA要求は、PCIバス仕様に準拠したバスアービタ400によって調停され、バスアービタ820に対するメインメモリ1000へのアクセス要求(DMA要求)として発行される。
具体的には、図14に示すように、DMA要求の発行元として機能するPCIデバイス(複数のバスマスタデバイス)300−1〜300−3は、バスアービタ400に対して、破線矢印A〜Cで示すDMA要求(メインメモリ1000に対するアクセス要求)を発行する。
バスアービタ400では、図15に示すように、同期化処理部410によりDMA要求A〜Cの入力タイミングが調整される。また、DMA要求A〜Cを受けた調停処理部420は、バスブリッジ700を介して上位のバス(ホストバス810)側のバスアービタ820に対してDMA要求Dを発行し、ホストバス810使用の許可を求める。バスアービタ820では、ホストバス810の使用状態に応じて、DMA要求に対してホストバス810を使用させるか否かが判断される。バスアービタ820によりホストバス810の使用許可が下り、DMA許可信号Eが送信されると、バスアービタ400では、調停処理部420によりDMA要求が調停(選択)され、同期化処理部430で出力タイミングが調整される。そして、バスアービタ400から、選択された(受け付けられた)DMA要求に対応するPCIデバイス300−1〜300−3へ、DMA許可(出力信号;図14及び図15のA′〜C′参照)が出力される。この出力信号A′〜C′を受けた機器(PCIデバイス300−1〜300−3のいずれか)は、ホストバス810の使用権を獲得することになる。
ここで、ホストバス810の使用は、バスマスタにより、アクセスしたいメモリアドレスとともに、そのアクセスの種類(読み出し・書き込み等)を示すバスコマンドが送出されることにより行なわれる。つまり、バスマスタによるホストバス810の使用は、CPUがホストバス810を使用して機器のデータを読み書きする動作と同様に行なわれる。
なお、PCIバス仕様が広まる過程で、DMA動作とシステムの全体性能の関係についての研究と啓蒙が進み、システムにおいて、DMA要求を細切れに行なうことは、システム全体の効率を下げるということが知られている。つまり、バスマスタが実行するDMAによって、メインメモリ1000に対して読み書きされるデータ量が増加している(例えば数Kバイト〜数Mバイト程度)。このため、コンピュータシステム100において、DMA要求に対し細切れ(例えば数バイトごと)にアクセス許可を与えると、DMA要求の発行及び許可が繰り返し行なわれるため、システム全体の処理効率を低下させることとなる。
このような理由等により、バスアービタ400では、より速くDMA要求に対応するような設計が行なわれていた。
ところで、近年のコンピュータシステムの処理速度の高速化に伴い、CPUには大容量のキャッシュメモリ(Cache Memory;以下、CMという)220が搭載されることがある。このようなCPUを搭載するマルチマスタシステムは、バススヌープ機能を備えることが要求される。
CM220には、データとともに、そのデータがメインメモリ1000のどこにあるかというアドレス情報が組になって格納される。バス上の各機器がホストバス810を使用してメインメモリ1000に書き込み動作を行なう際、メインメモリ1000とCM220との間のコヒーレンシを保つため、メモリコントローラ900を介してメインメモリ1000に書き込まれたデータは、CPUのCM220にも反映させる必要がある。
バススヌープは、ホストバス810上の各機器がバス動作を監視し、ホストバス810上を伝送されるメモリアドレス1000について、自身の持つCM220の中に相当するアドレス情報が存在するかどうかを検出することである。ホストバス810上を伝送されるメモリアドレスに相当するアドレス情報が自身の持つCM220から検出されれば、ホストバス810上の各機器は、当該アドレス情報に応じてCM220の更新などの動作を行なう。このように、各機器は、ホストバス810上に流れているメモリアドレスと、CM220にある全てのアドレス情報とを、全てのアクセス動作の都度、比較することになる。
次に、CM220を備えたCPUに対する電力制御について説明する。
CPUで実行されるタスクは、OS(Operating System)が管理しており、実行するタスクが無い場合(アイドル状態の場合)に、OSは、CPUを停止あるいは電源断とすることにより、CPUにおける無駄な電力消費を抑止する。例えば、CPUがライトバック方式のCM220を備える場合、OSによる電源断に先立ち、CPUは、CM220に格納されているデータをメインメモリ1000に反映する処理を行なう。
このCPUによる反映処理は、CM220からメインメモリ1000の内容と相違のある部分を検索し、相違のある部分のデータをメインメモリ1000に書き出すことにより行なわれる。この反映処理には、CM220のサイズやメモリの性能に応じた時間を要することになる。近年では、6Mバイト程度の容量のCM220を備えるCPUもあり、CPUによる反映処理によってCM220の内容を全てメインメモリ1000に書き出すためには、数ミリ秒かかることもある。
なお、このような電力制御を行なうコンピュータシステムには、CPUの電源を落とした後、新たなタスクの実行が行なわれる場合に発生する割り込み(IRQ;Interrupt Request)をトリガとして、自動的にCPUおよびCM220の電源を投入するハードウェアが備えられる。
次に、図16を参照しながら、CPUに対する電力制御の手順について説明する。
図16は、OSのアイドル状態における、CM220を備えたCPUに対する電力制御の一例を説明するフローチャートである。
はじめに、OSにより、CPU(CPUコア210)ごとに備えられた電源切断タイマの初期化及びカウントが開始されるとともに(ステップS1)、CPUごとに、割り当てられたシステム(又はタスク)がアイドル中であるか否かが判断される(ステップS2)。
システムがアイドル中でなければ、つまり実行中であれば(ステップS2のNoルート)、システムがアイドル中になるまで、例えば所定時間ごとにステップS1及びS2の処理が実行される。一方、システムがアイドル中であれば(ステップS2のYesルート)、OSにより、アイドル中のシステム(又はタスク)に対応するCPU(コア210)ごとに、電源切断タイマが満了したか否かが判断される(ステップS3)。
電源切断タイマが満了していない場合には(ステップS3のNoルート)、ステップS2の処理に移行する。一方、電源切断タイマが満了した場合には(ステップS3のYesルート)、当該CPUが備えるCM220の内容がメインメモリ1000に吐き出される(ステップS4)。そして、OSにより、CM220を含むCPUの電源が切断される(ステップS5)。
次いで、IRQを検出するハードウェアにより、IRQが発生したと判断されると(ステップS6のYesルート)、CPU及びCM220の電源が投入され(ステップS7)、CPUによるシステムに係る処理及びバススヌープ処理が行なわれる。また、ステップS7においてCPUへの電源投入が行なわれると、ステップS1の処理に移行する。なお、IRQが発生するまでは、CPU及びCM220の電源断が維持される(ステップS6及びステップS6のNoルート)。
このような処理により、CPUの電力制御が行なわれる。
なお、関連する技術として、データ転送を効率的に行なうと共に、バスを独占することのなくDMA方式でのデータ転送を可能とするために、DMAユニット制御部が、CPUからON状態のDMA転送要求信号が供給されている間、DMA動作イネーブル信号の状態に応じて、システムバスの使用権をCPUに対して要求したり、システムバスの使用権をCPUに開放する技術がある。
また、関連する他の技術として、スリープ中のCPUとメモリに対して転送制御部の指令によりクロック生成部からDMA転送を行なうタイミングで高速のクロックを必要な期間だけ供給して、まとめてDMAを行なわせるクロック制御を行なうことで、低電力化を図るものがある。
特開2000−90045号公報 特開2005−190332号公報
CMが大容量化するにつれて、バススヌープ処理においてCPUにより比較されるアドレス情報も増大する。
CMは、CPUとメインメモリとの間のデータのやり取りを高速に行なうために設けられるものであるため、CPUが、データがホストバス上を流れる度にバススヌープ処理によりアドレス情報を逐次比較することは、処理時間の増大の観点から好ましくない。そこで、例えば比較器を必要な数だけ備えて、同時に比較動作を実行させることも考えられるが、比較器の数に応じた電力を消費することとなる。この消費電力は、CMの容量やキャッシュ方式などにより変わってくるが、CMの大容量化や高速化が進んだ近年では、CPUの消費する電力の40%程度をCMが使う例もある。
ところで、近年、CPUが電力制御のための機能を備えることがあるが、CMの電力消費を抑制することは難しい。CPUとしては動作を停止して電力消費を低減できる場合でも、他のバスマスタがホストバスを使っている限り、バススヌープのために少なくともCMの部分を稼働状態にしておく必要があるためである。
CMの消費電力を削減するには、CMの内容を空にしてからキャッシュ動作を停止させることになる。しかし、上述のように、CMを空にする負担は大きく、特にライトバック方式のCMを使っている場合、相応の時間と電力を必要とする。さらに、CMが動作していない状態(電源断の状態)では、CPUを動作させてもまともな性能を出すことが難しく、CPUの動作を再開するには、CMも稼働状態に戻すことになる。
このように、CMにおける停止・稼働状態間の状態遷移にも時間と電力を使うため、遷移の頻度が上がると消費電力はかえって増えることもある。遷移の頻度は、DMA要求や割り込み処理を要求するデバイスに応じて変わり、またメモリ性能によっても変化する。また、デバイスは、DMA要求や割り込み処理の要求が受け付けられるまでの時間が長くなると、性能が低下したり、最悪の場合には動作を継続できなくなることもある。よって、従来、コンピュータシステム(ホストバス等)は、各デバイスからの割り込み要求に対してはなるべく速く応答し、処理速度の低下を抑えるように設計されることが多く、電力消費の削減が進まないという問題があった。
以上のように、マルチマスタシステムにおいてDMAが発生した場合、CPUによりバススヌープ処理が行なわれ、CPU(CM)の消費電力が増加するという問題がある。
また、OSによりCPUの電源が切断されている状態でDMAが発生した場合には、CPU(CM)の電源が投入され、CMが停止状態から稼働状態に遷移する結果、処理時間及び消費電力が増加するという問題がある。
上述の点に鑑み、本件の目的の1つは、情報処理装置において、DMAの如きメモリアクセスが発生した場合の消費電力を低減させることである。
なお、前記目的に限らず、後述する発明を実施するための形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本発明の他の目的の1つとして位置付けることができる。
本件の情報処理装置は、メモリに対するメモリアクセス要求を発行する少なくとも一つのアクセス部と、前記アクセス部から発行されたメモリアクセス要求を調停する調停部と、前記調停部による調停結果に応じたメモリアクセス要求の発行元のアクセス部に対して、前記メモリに対するメモリアクセスを実行させる管理部と、少なくとも一つのキャッシュメモリを介して前記メモリに対するアクセスを行なう処理部と、前記アクセス部により発行された前記メモリアクセス要求に係る処理を、予め設定された保留時間の間、保留する一方、前記保留時間が満了する前に前記処理部における前記少なくとも一つのキャッシュメモリの電源がオフになった場合に、前記メモリアクセス要求に係る処理の保留を解除するタイミング調整部と、を備えるものである。
また、本件のスケジューリング方法は、メモリに対するメモリアクセス要求を発行する少なくとも一つのアクセス部と、前記アクセス部から発行されたメモリアクセス要求を調停する調停部と、前記調停部による調停結果に応じたメモリアクセス要求の発行元のアクセス部に対して、前記メモリに対するメモリアクセスを実行させる管理部と、少なくとも一つのキャッシュメモリを介して前記メモリに対するアクセスを行なう処理部と、を備える情報処理装置における前記メモリアクセス要求のスケジューリング方法であって、前記アクセス部により発行された前記メモリアクセス要求に係る処理を、予め設定された保留時間の間、保留する一方、前記保留時間が満了する前に前記処理部における前記少なくとも一つのキャッシュメモリの電源がオフになった場合に、前記メモリアクセス要求に係る処理の保留を解除するものである。
開示の技術によれば、情報処理装置において、DMAの如きメモリアクセスが発生した場合の消費電力を低減させることができる。
一実施形態としての情報処理装置の構成例を示す図である。 本実施形態に係る情報処理装置におけるバスアービタの構成例を示す図である。 本実施形態に係るTAの保留時間の設定処理の一例を説明する図である。 本実施形態に係る情報処理装置における、DMA要求が発生してからDMA要求が管理部に送信されるまでの処理の一例を説明するフローチャートである。 本実施形態に係る情報処理装置における、DMA要求が発生してからDMAが実行されるまでの動作を説明するタイムチャートである。 本実施形態の第1変形例としての情報処理装置の構成を示す図である。 本実施形態の第1変形例に係るTAの保留時間の設定処理を説明する図である。 本実施形態の第1変形例に係るTAの保留処理を説明する図である。 本実施形態の第2変形例としての情報処理装置の構成を示す図である。 本実施形態の第2変形例に係るTAの保留時間の設定処理を説明する図である。 本実施形態の第2変形例に係る情報処理装置における、DMA要求が発生してからDMA要求が管理部に送信されるまでの処理を説明するフローチャートである。 本実施形態に係る情報処理装置のシステムへの適用例を示す図である。 本実施形態に係る情報処理装置のハードウェア構成例を示す図である。 DMA要求を発行する機器を備えるコンピュータシステムの構成例を示す図である。 マルチマスタシステムにおけるDMA要求の調停を行なうバスアービタの構成例を示す図である。 CMを備えたCPUに対する電力制御の一例を説明するフローチャートである。
以下、図面を参照して実施の形態を説明する。
〔1〕一実施形態
〔1−1〕情報処理装置の構成例
図1は、一実施形態としての情報処理装置1の構成例を示す図であり、図2は、情報処理装置1におけるバスアービタ4の構成例を示す図である。
情報処理装置1は、サーバやPC等のコンピュータシステム(マルチマスタシステム)であり、CPUコア21及びCM22を備える少なくとも一つ(図1に示す例では一つ)のCPU(処理部)2と、DMAを実行可能なPCIデバイス3−1〜3−3とを備える。また、情報処理装置1は、バスアービタ4と、タイミングアジャスタ(Timing Adjuster;以下、TAという)5−1〜5−3と、システムバス6と、バスブリッジ7と、ホストバス81及びバスアービタ82を備える管理部8と、メモリコントローラ9と、メインメモリ10とを備える。
ここで、本実施形態に係る情報処理装置1では、CPU2により、ホストバス81上を通過するアドレス情報及びデータについてバススヌープ処理が行なわれる。
また、情報処理装置1は、CPU2により実行されるOSによって、図16に示すようなCPU2に対する電力制御が行なわれる。つまり、情報処理装置1においては、システム(又はタスク)がアイドル中の場合には、OSによりCM22を含むCPU2の電源が切断される。
CPUコア21は、種々の制御や演算を行なう処理装置であり、PCIデバイス3−1〜3−3や図示しないROM(Read Only Memory)等に格納されたプログラムを実行することにより、種々の機能を実現する。
CM22は、CPUコア21とメインメモリ10との間で転送されるデータ及びそのデータのアドレス情報を保持するものであり、CPU2は、少なくとも一つのCM22を介してメインメモリ10に対するアクセスを行なう。なお、本実施形態に係るCM22は、ライトバック方式を採用するものとする。
メインメモリ(主記憶装置;メモリ)10は、種々のデータやプログラムを一時的に格納する記憶装置であって、CPU2がプログラムを実行する際に、データやプログラムを一時的に格納・展開して用いる。なお、メインメモリ10としては、例えばRAM(Random Access Memory)等の揮発性メモリが挙げられる。
メモリコントローラ9は、CPU2やバスマスタとしてのPCIデバイス3−1〜3−3から、メインメモリ10へのアクセス等を制御するものである。
PCIデバイス3−1〜3−3は、それぞれシステムバス6に接続されたUHCIやAHCI等のホストコントローラであり、USBやSATA等のインタフェースによって、図示しないHDD等の記憶装置等が接続される。このHDD等は、データやプログラムを保持し、CPU2によってアクセスされるとともに、メインメモリ10に対するDMA要因として構成される。
また、PCIデバイス3−1〜3−3(以下の説明においてPCIデバイス3−1〜3−3を区別しない場合には単に符号3で示す)は、メインメモリ10に対するDMA要求(メモリアクセス要求)A〜Cを発行する、バスマスタ(DMA要求の発行元;アクセス部)として機能する。
バスアービタ(調停部)4は、PCIデバイス3から発行されたDMA要求A〜Cを調停するものであり、図2に例示するように、上述したバスアービタ400と同様に、同期化処理部41及び43と、調停処理部42と、を備える。
また、バスアービタ4は、後述するTA5−1〜5−3に対応したレジスタ44−1〜44−3を備える。
同期化処理部41は、PCIデバイス3−1〜3−3から発行されたDMA要求A〜Cの入力タイミングを調整するものであり、同期化処理部43は、バスアービタ4におけるアービトレーション(調停)の結果を示すDMA許可(メモリアクセス許可;出力信号)A′〜C′の出力タイミングを調整するものである。
調停処理部42は、同期化処理部41で入力タイミングが調整されたDMA要求A〜Cについて調停を行ない、いずれかのDMA要求を受け付けるとともに、受け付けたDMA要求に対応する出力信号(A′〜C′のうちのいずれか)を出力する。この出力信号A′〜C′を入力されたPCIデバイス3は、ホストバス81の使用権を獲得し、DMAを実行することになる。
なお、調停処理部42は、入力されたDMA要求A〜Cに対して、予め設定された調停条件に応じた調停を行なう。調停条件としては、例えばDMA要求を発行した機器間での優先順位、先着順(早いもの勝ち)、確率分散等の条件が挙げられる。
また、調停処理部42は、DMA要求A〜Cが入力されると、バスブリッジ7を介して管理部8(上位バスであるホストバス81側のバスアービタ82)に対してDMA要求Dを発行する。調停処理部42は、管理部8からDMA要求Dに対するDMA許可信号Eを受信すると、入力されたDMA要求A〜Cに係る調停処理を実行する。
ホストバス81は、CPU2、図示しない他のデバイス、メモリコントローラ9、及びバスブリッジ7の間でデータ等の伝送を行なうバスであり、CPUコア21は、ホストバス81を介してCM22やメモリコントローラ9へのアクセスを行なう。また、ホストバス81は、DMAによりPCIデバイス3とメインメモリ10(メモリコントローラ9)との間で送受信されるアドレス情報やデータを伝送する。
バスアービタ82は、CPU2や図示しない他のデバイスによるホストバス81へのアクセスを調停するものである。また、バスアービタ82は、バスアービタ4からDMA要求Dが入力されると、ホストバス81の使用状態に応じて、DMA許可信号Eを送信する。
具体的には、管理部8(バスアービタ82)は、バスアービタ4からDMA要求Dが入力されると、ホストバス81の使用状態に応じて、DMA発行元にホストバス81を使用させるか否か、つまりメインメモリ10へのアクセスを許可するか否かを判断する。そして、管理部8は、DMA要求Dについて、ホストバス81を使用したメインメモリ10へのアクセスを許可する場合、DMA許可信号Eを送信(有効化;アサート)する。なお、管理部8がホストバス81の使用許可を与える場合としては、例えばホストバス81がCPU2や他のデバイスに使用されていない場合等が挙げられる。
DMA許可信号Eにより管理部8にメインメモリ10へのアクセスを許可されたバスアービタ4は、調停結果に応じたPCIデバイス3に対してDMA許可(出力信号)を発行し、出力信号を受けたPCIデバイス3は、発行された出力信号に応じて、メインメモリ10に対するメモリアクセスを実行する。
上述した動作により、管理部8は、バスアービタ4による調停結果に応じたDMA要求の発行元のPCIデバイス3に対して、メインメモリ10に対するDMA(メモリアクセス)を実行させる。
なお、管理部8及びバスアービタ4により、ホストバス81の使用許可を与えられたPCIデバイス3は、ホストバス81の使用により書き込みアクセスを行なう場合には、書き込むべきデータをシステムバス6に送出する。一方、ホストバス81の使用により読み出しアクセスを行なう場合には、PCIデバイス3は、読み出されたデータがメインメモリ10からシステムバス6上に送られてくるのを待って、そのデータを受信する。
システムバス6は、PCIデバイス3から発行されたDMA要求A〜Cに係るアクセス先のアドレスや読み書きされるデータ等が伝送されるバスであり、例えばPCIバスである。
バスブリッジ7は、システムバス6(及びバスアービタ4)と、ホストバス81(及びバスアービタ82)との間で相互にバスサイクルをやり取りするデバイスである。
また、バスブリッジ7は、OSによる電源制御によってCPU2の電源が切断されたことを検出する。
具体的には、バスブリッジ7は、CPU2の電源を管理する図示しない電源回路から、CPU2のうちの少なくともCM22の電源状態を取得する(又は通知される)ように構成される。つまり、バスブリッジ7は、OSによるCPU2の電力制御によってCPU2に供給される電力が切断され、少なくとも一つのCM22が電源断となった場合、電源回路から、少なくとも一つのCM22が電源断の状態であることを取得する(又は通知される)ことができる。
TA(タイミング調整部)5−1〜5−3(以下の説明においてTA5−1〜5−3を区別しない場合には単に符号5で示す)は、PCIデバイス3により発行されたDMA要求A〜Cに係る処理を、予め設定された保留時間の間、保留するものである。
なお、図1及び図2に示すTA5−1〜5−3は、それぞれ、PCIデバイス3ごとに備えられる。また、図2に示すように、TA5−1〜5−3は、PCIデバイス3に対応して、DMAの保留時間を指定するタイマ5−1a〜5−3aを備える。
なお、本実施形態における情報処理装置1は、一のタイマを備えるTA5を複数備えているが、これに限定されるものではなく、複数のタイマ5−1a〜5−3aを備える一のTA5を備えても良い。なお、図2においては、TA5を一つのブロックで示している。
ここで、DMA要求に係る処理とは、図1及び図2に示す例においては、PCIデバイス3からバスアービタ4へのDMA要求A〜Cの発行をいう。つまり、図1及び図2に示す例においては、TA5は、それぞれ対応するPCIデバイス3から発行されるDMA要求A〜Cを、予め設定された保留時間の間、保留する。
〔1−2〕TAの説明
上述したように、CPU2は、PCIデバイス3によるDMA動作が発生すると、CM22のバススヌープ処理を行なう。言い換えれば、PCIデバイスによるDMA動作がCPU2の電源が切断されている間に行なわれれば、CM22のバススヌープ処理は不要となる。一度停止したCPU2(及びCM22)は、ホストバス81の使用要求に応答するだけであれば、バススヌープ動作を行なう必要がなく、CM22の記憶領域は、電力断により空になっているはずだからである。
ここで、PCIデバイス3は、CPU2が電源断となるタイミングに合わせてDMA要求A〜Cを発行することが望ましいが、DMA要求A〜Cが発行されるタイミングは、各周辺機器やCPU2に応じて不規則に決定されるため、PCIデバイス3によって制御をすることが難しい。
そこで、本実施形態における情報処理装置1は、CPU2が電源断となるタイミングを待つためのTA5をバスアービタ4の前段に備え、TA5において、PCIデバイス3から発行されるDMA要求A〜Cの発行タイミングを調節する。そして、TA5により、DMA要求A〜Cをできるだけ遅延させることで、遅延されたDMA要求A〜Cのバスアービタ4への入力がCPU2の電源断のタイミングに当たる確率を上げることができる。
これにより、本実施形態における情報処理装置1は、CPU2の電源断のタイミングになるまで、TA5によりDMA要求を待たせることで、CPU2によるバススヌープ動作を抑止し、情報処理装置1全体としての消費電力を削減することができる。
ここで、DMA要求A〜CをTA5においてどの程度の時間保留させるかという問題がある。発行されたDMA要求A〜Cが保留されても良い最大保留時間(遅延限界時間)は、周辺機器(PCIデバイス3)やCPU2によって異なる。しかし、周辺機器は、OSによるCPU2の電力制御において、少なくともCPU2が電源断の状態から電源が供給されるまでの状態遷移に要する時間は待たされても破綻しないように設計されているはずである。
従って、TA5に設定される保留時間は、対応するDMA要求の発行元のPCIデバイス3において、遅延が許容される遅延限界時間(最大保留時間)に応じて決定されることが好ましい。
このように、周辺機器のDMA要求を遅延させることができるようになった要因の一つとして、PCIバスが標準化されたことがある。PCIバスでは、使用効率を上げるために、ある程度の領域に対して一括してアクセスするバーストアクセスが推奨されている。バーストアクセスを行なうために、各デバイスでは、バーストアクセスで転送されるデータ量に応じた容量のバッファを持つ事が求められてきた。そして、デバイスのバッファが大容量化した結果、比較的長い待ち時間に耐えることができるデバイスが普及している。デバイスにより差はあるが、DMA要求の遅延が許容される遅延限界時間としては、少なくとも100μs程度の余裕はあると考えられる。
本実施形態においては、予め各PCIデバイス3に最大保留時間が登録されており、TA5−1〜5−3には、対応するPCIデバイス3の最大保留時間が設定される。
また、情報処理装置1は、CPU2に対して一定時間毎に割り込み(IRQ)が発生するように構成されても良い。割り込みが発生する情報処理装置1では、システムがアイドル状態の場合には、割り込み処理が実行された直後に電源断に入る。CPU2の稼働タイミングはOSが管理するため、OSは、次の割り込み処理が実行されるまでの時間を知ることができる。従って、TA5に設定される保留時間は、PCIデバイス3からDMA要求が発行されてから、次の割り込み処理、すなわちCPU2の電源断が行なわれるまでの時間が設定されても良い。
なお、情報処理装置1のシステムにおいて要求される性能によっては、各TA5に設定される保留時間は、固定(一定)としても良い。
また、各PCIデバイス3について、DMA要求に係る処理がどれだけの時間保留されたか、及び保留された結果エラーが発生したか、等を監視する機構を設け、監視結果に基づいて、経験的にTA5に設定される保留時間が決定されても良い。なお、DMA要求に係る処理が保留された結果エラーが発生した場合には、エラー回復を行なうことが望ましいが、エラー処理や回復処理については、既知の種々の手法により行なうことが可能であり、その詳細な説明は省略する。
上述のように、本実施形態におけるTA5は、DMA要求A〜Cが入力されたときに、CPU2(CM22)が通電状態であれば、当該DMA要求に係る処理を保留する一方、保留時間が満了する前にCPU2における少なくとも一つのCM22の電源がオフになった場合に、DMA要求に係る処理の保留を解除する。
また、TA5は、保留時間が満了した場合、つまり、DMA要求を保留している時間が最大保留時間を超えた場合にも、DMA要求に係る処理の保留を解除する。
なお、TA5は、保留していたPCIデバイス3からのDMA要求の保留を解除すると、当該DMA要求をバスアービタ4に入力する。
なお、TA5は、CPU2(CM22)が電源断の状態になったことを、上述したバスブリッジ7から取得する(又は通知される)ことにより検知する。
また、DMA要求A〜Cが発行されたときに、すでにCPU2(CM22)が電源断の状態である場合、つまり少なくとも一つのCM22の電源がオフである間は、TA5は、DMA要求に係る処理の保留を抑止して、当該DMA要求をバスアービタ4に入力する。すなわち、情報処理装置1は、DMA要求について即時応答を行なう。
さらに、TA5において複数のDMA要求に係る処理が保留されている状態で、CM22の電源がオフになった場合、TA5は、保留時間が満了していないDMA要求のうちの残保留時間が少ないDMA要求から順に、DMA要求に係る処理の保留を解除するように構成されても良い。また、TA5において保留されているDMA要求の保留時間が満了した場合には、TA5は、保留時間が満了したDMA要求から順に、DMA要求に係る処理の保留を解除することが好ましい。これにより、TA5において保留されているDMA要求に係る処理の過大な遅延を防ぐことができ、DMA要求の発行元で処理が継続できなくなる等の、PCIデバイス3に与える影響を抑えることができる。
次に、図3を参照しながら、TA5の保留時間の設定処理について説明する。
図3は、TA5の保留時間の設定処理の一例を説明する図である。
各PCIデバイス3には、PCI仕様で管理されているベンダID(VID;Vendor ID)と、各ベンダで管理されているデバイスID(DID;Device ID)とが設定されている。例えば、図3に示すように、PCIデバイス3−1及び3−2としてのUHCIには、“VID=8086, DID=1C26”が設定されている一方、PCIデバイス3−3としてのAHCIには、“VID=8086, DID=1C03”が設定されている。
本実施形態においては、OS等により、これらVID及びDIDが用いられてPCIデバイス3の識別が行なわれることで、異種デバイス間の重複を避け、同種のデバイス毎に特性の管理が行なわれる。
図3に示す保留時間データベース(DB)11は、例えばPCIデバイス3に接続されたHDDや図示しないメモリ等の記憶領域に設定され、保留時間テーブル12を備える。
保留時間テーブル12は、VID及びDIDの組ごとに最大保留時間が対応付けられたテーブルである。図3に例示する保留時間テーブル12には、“VID=8086, DID=1C26”のデバイス(UHCI)に遅延限界時間(最大保留時間)“1ms”が設定され、“VID=8086, DID=1C03”のデバイス(AHCI)に遅延限界時間“500μs”が設定されている。これらの遅延限界時間は、デバイスごとに要求されるものであり、OSによって、予めPCIデバイス3から読み取られて収集される。
OSは、情報処理装置1が起動したときや、PCIデバイス3が接続されたとき(周辺機器の接続構成が変更されたとき)等に、情報処理装置1に実装された各デバイスの特性(最大保留時間)を、各デバイスのVID及びDIDに基づいて、保留時間テーブル12から取得する。また、OSは、保留時間テーブル12から取得したデバイスごとの最大保留時間を、各デバイスに対応したレジスタ44−1〜44−3(以下の説明においてレジスタ44−1〜44−3を区別しない場合には単に符号44で示す)に対して設定する。
バスアービタ4の各レジスタ44は、設定された最大保留時間(保留時間)を保持する。そして、TA5−1〜5−3は、対応するレジスタ44−1〜44−3から保留時間を取得して、取得した保留時間に基づいて、DMA要求に係る処理の保留を行なう。
このように、バスアービタ4が備えるレジスタ44は、DMA要求の発行タイミングを調整するための保留時間を、PCIバス仕様に基づいて設定され保持することにより、TA5に設定される保留時間を決定する。なお、PCIのバス調停は中央集中管理方式であるため、本実施形態においては、DMA要求発行のタイミング調整も、中央リソースであるバスアービタ4において集中管理させる方式を採っている。これにより、OSは、PCIデバイス3ごとの保留時間を、バスアービタ4の各レジスタ44に書き込むだけで容易に設定することができる。また、TA5−1〜5−3は、上述のようにして設定された保留時間を用いてタイマ5−1a〜5−3aを個別に制御し、DMA要求に係る処理の保留時間を柔軟に管理することができる。
なお、TA5に設定される保留時間は、上述した手法に限られず、他の手法により設定されても良い。
〔1−3〕動作例
次に、上述の如く構成された本実施形態に係る情報処理装置1における、DMA要求A〜Cが発生した場合の処理の一例を説明する。
はじめに、図4を参照しながら、発行されたDMA要求A〜Cに係る処理のTA5による保留手順について説明する。
図4は、本実施形態に係る情報処理装置1における、DMA要求A〜Cが発生してからDMA要求Dが管理部8に送信されるまでの処理の一例を説明するフローチャートである。
なお、以下、OSにより、予め保留時間テーブル12からPCIデバイス3ごとの最大保留時間が取得され、バスアービタ4のレジスタ44に設定されているものとして説明する。
情報処理装置1において、PCIデバイス3からDMA要求A〜Cが発行されてTA5に入力されると(ステップS11のYesルート)、TA5により、少なくとも1つのCM22の電源がオフであるか否かが判断される(ステップS12)。
少なくとも1つのCM22の電源がオフであると判断された場合(ステップS12のYesルート)、TA5により、入力されたDMA要求A〜Cがバスアービタ4に出力され、バスアービタ4により、当該DMA要求の調停が行なわれる(ステップS17)。
一方、ステップS12において、CM22の電源がオンであると判断された場合(ステップS12のNoルート)、TA5により、DMA要求の発行元3に対応するタイマ5−1a〜5−3aが初期化され、入力されたDMA要求A〜Cのバスアービタ4への出力が保留される(ステップS13)。
ステップS13の処理が実行されると、TA5により、CM22の電源がオフに遷移したか否かが判断される(ステップS14)。CM22の電源がオフに遷移したと判断された場合(ステップS14のYesルート)、TA5により、DMA要求A〜Cに係る処理の保留が解除され(ステップS16)、ステップS17の処理に移行して、DMA要求A〜Cに係る処理が実行される。
一方、ステップS14において、いずれのCM22の電源もオンの状態であると判断された場合(ステップS14のNoルート)、TA5により、タイマ5−1a〜5−3aの値に基づいて、保留時間が満了したか否かが判断される(ステップS15)。
保留時間が満了していないと判断された場合(ステップS15のNoルート)、ステップS14の処理に移行する。一方、保留時間が満了したと判断された場合(ステップS15のYesルート)、ステップS16の処理に移行する。
次いで、図5を参照しながら、DMA要求A〜Cが発生してからDMAが実行されるまでの動作を説明する。
図5は、本実施形態に係る情報処理装置1における、DMA要求A〜Cが発生してからPCIデバイス3によりDMAが実行されるまでの動作を説明するタイムチャートである。
なお、図5においては、PCIデバイス3−1をデバイスAと表記し、PCIデバイス3−2をデバイスBと表記している。
はじめに、タイミングT1において、PCIデバイス3−1からTA5−1にDMA要求Aが発行される。タイミングT1においてCM22の電源がオンであるため、TA5−1では、タイマ5−1aにより、レジスタ44−1に設定された保留時間(最大保留時間)の間、DMA要求Aに係る処理が保留される。
タイミングT2において、CM22の電源がオフに遷移すると、TA5−1では、タイマ5−1aによるDMA要求に係る処理の保留が解除され、タイミングT3において、遅延したDMA要求(以下、遅延DMA要求という)Aがバスアービタ4に出力される。
遅延DMA要求Aが入力されたバスアービタ4は、タイミングT4において、調停処理部42により、DMA要求Dをバスブリッジ7を介して管理部8に発行する。
また、タイミングT5において、PCIデバイス3−2からTA5−2にDMA要求Bが発行される。タイミングT5においてCM22の電源がオフであるため、TA5−2では、タイマ5−2aによるDMA要求Bに係る処理の保留が行なわれず、タイミングT6において、当該DMA要求Bはバスアービタ4に出力される。
DMA要求Dが入力された管理部8では、バスアービタ82によりホストバス81が使用されていないことが確認され、タイミングT7において、DMA許可信号Eがアサートされる。
バスアービタ4では、DMA許可信号Eがアサートされると、調停処理部42により、入力されているDMA要求A及びBが調停される。図5に示す例では、バスアービタ4は、DMA要求Aを選択し(受け付け)、タイミングT8において、出力信号(DMA許可;図5中“Grant”と表記)A′をPCIデバイス3−1に出力する。
次いで、アービトレーションの勝者として出力信号A′を入力されたPCIデバイス3−1により、DMAによるメモリアクセスが実行され、DMAが完了すると、DMA要求Aが取り下げられる(タイミングT9)。DMA要求Aが取り下げられると、バスアービタ4では、調停処理部42により、タイミングT10において出力信号A′の発行が停止されるとともに、待機中のDMA要求Bが選択されて(受け付けられて)、タイミングT11において、出力信号B′がPCIデバイス3−2に出力される。
そして、出力信号B′を入力されたPCIデバイス3−2により、DMAが実行され、DMAが完了すると、DMA要求Bが取り下げられる(タイミングT12)。DMA要求Bが取り下げられると、バスアービタ4では、調停処理部42により、タイミングT13において出力信号B′の発行が停止される。
また、入力されているDMA要求が全て取り下げられたため、バスアービタ4では、タイミングT14においてDMA要求Dの発行が停止され、管理部8では、タイミングT15においてDMA許可信号Eの発行が停止される。
なお、DMA要求Dは、DMA要求A〜Cのうちの少なくとも一つがバスアービタ4に入力されている間、バスアービタ4から発行される。また、DMA許可信号Eは、DMA要求Dが管理部8に入力されており、且つ、ホストバス81がDMAのために開放可能である間、アサートされる。
このように、本実施形態に係る情報処理装置1によれば、TA5において、DMA要求に係る処理を保留し、少なくとも一つのCM22が電源断の状態となったときに、DMA要求の発行元に対してDMAの許可を与えることにより、CPU2によるバススヌープ動作が行なわれずにDMAが実行される。例えば、図14に示す情報処理装置100において、図5に示すようなタイミングでDMA要求A及びBが発生した場合、DMA要求AはCPU2(CM22)の電源がオンのときに発行されているため、少なくともDMA要求Aに係るDMAは、CPU2によるバススヌープ動作を生じさせることになる。
従って、本実施形態に係る情報処理装置1によれば、DMAが行なわれる際のバススヌープ動作に係る消費電力を抑制することができる。また、CPU2(CM22)の電源がオフのときにDMAが実行されるため、DMAのためにCM22の電源をオフからオンに遷移させずに済み、CM22の起動のための消費電力を抑止することができる。
なお、情報処理装置1により削減できる消費電力は、システムの稼働状態や各種デバイスの要求仕様により異なる。例えばOSの割り込み(IRQ)に係るインターバルタイマの周期と、PCIデバイス3によるDMA要求A〜Cの発行の周期とが一致するようにシステムを構成すれば、CPU2(CM22)が電源断の状態のときにDMA要求が発行されることになるため、CM22の起動やバススヌープのための消費電力を抑止することができる。例えばCM22の消費電力がCPU2全体の消費電力の40%を占めるような場合では、アイドル状態のCPU2における消費電力の40%を削減できることになる。また、インターバルタイマの周期とDMA要求A〜Cの発行の周期とが一致する場合には、DMA要求の保留時間も抑えることができ、DMAに係る処理時間を増大させずに済む。
また、本実施形態に係るTA5は、保留時間が満了した場合に、DMA要求に係る処理の保留を解除するため、保留時間の間にCM22の電源がオフにならなかった場合でも、情報処理装置1は、DMA要求に係る処理を確実に実行することができる。
さらに、TA5は、少なくとも一つのCM22の電源がオフである間は、PCIデバイス3により発行されたDMA要求に係る処理の保留を抑止するため、DMA要求が発生したときにCM22の電源がオフである場合には、DMAに係る処理時間を、図14に示す情報処理装置100の場合と同程度に抑えることができる。
また、TA5に設定される保留時間は、複数のPCIデバイス3ごとに設定され、各保留時間は、それぞれ、対応するPCIデバイス3ごとに決定される最大保留時間となる。これにより、PCIデバイス3ごとの仕様に応じた適切な保留時間をTA5に設定することができ、TA5において保留されているDMA要求に係る処理の過大な遅延を防ぐことができるため、DMA要求の保留により発行元に与える影響を抑えることができる。
〔1−4〕第1変形例
上述した情報処理装置1においては、TA5のタイマ5−1a〜5−3aはバスマスタとしてのPCIデバイス3の数に対応した数が備えられていたが、これに限定されるものではなく、PCIデバイス3に対して一つのタイマが備えられても良い。
図6は、本実施形態の第1変形例としての情報処理装置1の構成を示す図であり、図7は、第1変形例に係るTA5の保留時間の設定処理を説明する図であり、図8は、第1変形例に係るTA5の保留処理を説明する図である。
なお、図6及び図7に示す情報処理装置1において既述の符号と同一の符号は、図1及び図3に示す情報処理装置1と同一の部分若しくは略同一の部分を示しているため、重複した説明は省略する。
図6及び図7に示すように、第1変形例に係る情報処理装置1は、一のTA5−4を備え、TA5−4は、PCIデバイス3−1〜3−3で共用されるタイマ5−4aを備える。また、バスアービタ4は、TA5−4のタイマ5−4aに対応した一のレジスタ44−4を備える。
第1変形例に係るTA5−4は、複数のPCIデバイス3に対して一つの保留時間を設定される。
TA5−4は、一のDMA要求に係る処理の保留を行なっているときに、他のDMA要求に係る処理の保留を行なう場合には、一のDMA要求における残保留時間を用いて、他のDMA要求に係る処理を保留するように構成される。
また、第1変形例において、TA5−4の保留時間(レジスタ44−4)には、PCIデバイス3ごとに決定されるそれぞれの最大保留時間のうちの、最小の時間が設定されることが好ましい。例えば、図7に示すように、レジスタ44−4には、OSによって、PCIデバイス3−1〜3−3のうちのPCIデバイス3−3に設定される“500μs”が設定される。
次に、TA5−4の保留処理を図8を用いて説明する。
なお、図8に示す例において、DMA要求A〜Cにおけるタイミングt1〜t3は、各DMA要求がTA5−4に入力されたタイミングを示し、各DMA要求A〜Cがそれぞれ最大保留時間まで発行される状態を示している。つまり、図8では、保留時間テーブル12の設定値に基づいて、DMA要求A及びBはそれぞれタイミングt1及びt2から“1ms”の間発行され、DMA要求Cはタイミングt3から“500μs”の間発行される。また、図8に示す例においては、CM22の電源はオンの状態である。
TA5−4は、PCIデバイス3−1〜3−3(デバイスA〜C)からそれぞれDMA要求A〜Cを入力されると、最初に到来したDMA要求Aが入力されたとき(タイミングt1)から、タイマ5−4aによる保留時間のカウントを開始する。TA5−4には、保留時間のカウントを行なっている間に、DMA要求B及びCが入力されるが、TA5−4は、これらDMA要求B及びCについても、カウント中のタイマ5−4aにおける残保留時間を用いて保留を行なう。
そして、タイミングt4になるまでにCM22の電源がオフに遷移しない場合、すなわちタイマ5−4aによる保留時間が満了した場合には、TA5−4は、DMA要求A〜Cに係る処理の保留を解除して、バスアービタ4に出力する。
このように、第1変形例に係る情報処理装置1によれば、上述した一実施形態に係る情報処理装置1と同様の効果を奏することができるほか、TA5(タイマ5−4a)を一つ備えるだけで済むため、回路構成を簡素化することができ、製造コスト等を抑えることができる。
また、TA5−4により、最初に到来したDMA要求における残保留時間を用いて、後発のDMA要求に係る処理が保留されるとともに、TA5−4に設定される保留時間は、PCIデバイス3ごとに決定されるそれぞれの最大保留時間のうちの、最小の時間である。従って、TA5−4に複数のDMA要求が入力されても、TA5において保留されているDMA要求に係る処理の過大な遅延を防ぐことができ、DMA要求の保留により発行元に与える影響を抑えることができる。
〔1−5〕第2変形例
上述した一実施形態及び第1変形例における情報処理装置1は、TA5をPCIデバイス3とバスアービタ4との間に備えたが、これに限定されるものではなく、TA5をバスアービタ4とバスブリッジ7との間に備えても良い。
図9は、本実施形態の第2変形例としての情報処理装置1の構成を示す図であり、図10は、第2変形例に係るTA5の保留時間の設定処理を説明する図であり、図11は、第2変形例に係る情報処理装置1における、DMA要求が発生してからDMA要求Dが管理部8に送信されるまでの処理を説明するフローチャートである。
なお、図9及び図10に示す情報処理装置1において既述の符号と同一の符号は、図1及び図3に示す情報処理装置1と同一の部分若しくは略同一の部分を示しているため、重複した説明は省略する。
図9及び図10に示すように、第2変形例に係る情報処理装置1は、一のTA5−5を備え、TA5−5は、バスアービタ4に対応した一のタイマ5−5aを備える。
第2変形例に係るTA5−5は、バスアービタ4から出力されたDMA要求Dの発行を保留する。つまり、TA5−5は、バスアービタ4によるDMA要求Dの管理部8への発行処理を、DMA要求に係る処理として、所定の保留時間の間保留する。
また、バスアービタ4は、TA5−5に対応した一のレジスタ44−5を備える。
第2変形例において、TA5−5は、第1変形例と同様に、複数のPCIデバイス3に対して一つの保留時間を設定される。
また、第2変形例においても、TA5−5の保留時間(レジスタ44−5)には、第1変形例と同様に、PCIデバイス3ごとに決定されるそれぞれの最大保留時間のうちの、最小の時間が設定されることが好ましい。
次に、図11を参照しながら、上述の如く構成された第2変形例に係る情報処理装置1における、DMA要求が発生した場合の処理を説明する。
なお、図11に示す処理において既述の符号と同一の符号は、図4に示す処理と同一の部分若しくは略同一の部分を示しているため、重複した説明は省略する。
情報処理装置1において、PCIデバイス3からDMA要求が発行され、バスアービタ4に入力されると(ステップS11のYesルート)、バスアービタ4により、当該DMA要求の調停が行なわれる(ステップS17)。
そして、バスアービタ4により、DMA要求DがTA5−5に出力されると、TA5−5により、ステップS12〜S16の処理が実行される。
ステップS16の処理、又はステップS12においてYesルートの判断が行なわれると、TA5−5により、DMA要求Dがバスブリッジ7を介して管理部8に出力される(ステップS18)。
このように、第2変形例に係る情報処理装置1によれば、上述した一実施形態及び第1変形例に係る情報処理装置1と同様の効果を奏することができる。
また、TA5−5により、バスアービタ4から管理部8へのDMA要求Dの発行が保留されるため、一のDMA要求Dを入力されるだけで良く、第1変形例におけるTA5−4の如く、複数のDMA要求A〜Cを入力されずに済む。従って、TA5−5は、第1変形例におけるTA5−4よりも簡素な構成とすることができ、製造コスト等を抑えることができる。
〔2〕その他
以上、本発明の好ましい実施形態について詳述したが、本発明は、かかる特定の実施形態及び変形例に限定されるものではなく、本発明の趣旨を逸脱しない範囲内において、種々の変形、変更して実施することができる。
例えば、TA5において複数のDMA要求A〜Cに係る処理の保留を行なう場合、すなわち複数のDMA要求が重なった場合、TA5は、保留時間を切り上げる、つまり残保留時間から所定の時間を減じる、又は残保留時間を所定の時間に変更する、等の処理を行なっても良い。これにより、TA5において保留されているDMA要求に係る処理の過大な遅延を防ぐことができる。
また、バスアービタ4は、各PCIデバイス3が待てる時間(最大保留時間)を考慮して、複数のDMA要求が入力された場合に、最大保留時間が短いPCIデバイス3から発行されたDMA要求に対する許可を優先するように調停処理を実行しても良い。
さらに、情報処理装置1は、上述した実施形態又は第1変形例における、PCIデバイス3に対応して備えられたTA5−1〜5−4と、第2変形例における、バスブリッジ7の直下にのみ備えられたTA5−5とを組み合わせても良い。また、TA5は、バスアービタ4に備えられても良い。
また、上述した実施形態及び各変形例において、CPU2(CM22)が一つの場合について説明したが、これに限定されるものではなく、CM22が複数備えられても良い。例えばマルチCPUやマルチコアCPUを搭載したシステムの場合、CMはCPUコアごとに備えられたり、複数のCPUコアで共有されるCMが備えられることがある。この場合、TA5は、DMA要求に係る処理を保留するか否かを、少なくとも一つのCMの電源がオフになったか否かに応じて決定することができる。このように、CMが複数備えられるシステムにおいても、少なくとも一つのCMの電源がオフである状態でDMAが実行されれば、全てのCMの電源がオンである場合と比べ、システムの消費電力を低減することができる。
なお、上述した情報処理装置1の構成は、例えば図12に示すような、バスやコントローラ等がチップ内に集積されたシステムにおいても適用することができる。
図12は、本実施形態に係る情報処理装置1のシステムへの適用例を示す図であり、図13は、情報処理装置1′のハードウェア構成例を示す図である。
なお、図12に示す情報処理装置1′において既述の符号と同一の符号は、図1に示す情報処理装置1と同一の部分若しくは略同一の部分を示しているため、重複した説明は省略する。
情報処理装置1′は、CPUコア21、CM22、TA5−1、バスアービタ4の一部、システムバス6の一部、バスブリッジ7、管理部8、及びメモリコントローラ9が修正記されたCPUチップ20を備える。また、情報処理装置1′は、内蔵周辺機器としてのPCIデバイス3−2、TA5−2及び5−3、バスアービタ4の一部、並びにシステムバス6の一部が集積されたPCH(Platform Controller Hub;以下、PCHチップという)60を備える。
CPUチップ20及びPCHチップ60は、それぞれ、インタフェース部30−1及び30−2を備える。インタフェース部30−1及び30−2は、例えばPCI−Expressのポートであり、周辺デバイス(拡張機器)としてのPCIデバイス3−1及び3−3は、このポートを介してCPUチップ20及びPCHチップ60に接続される。なお、PCI−Expressは、PCIの動作を高速なシリアルバスで代行させるインタフェースである。また、図13に例示するように、CPUチップ20はヒートシンク23及びファン24の下に備えられ、PCHチップ60はヒートシンク61(及びファン)の下に備えられている。
なお、情報処理装置1′においては、論理的には、実線で示すように、仮想的なシステムバス6により各デバイスが接続され、メインメモリ10を全デバイスが共有している。ここで、このシステムバス6は、論理的にはPCIバスとして動作する。また、情報処理装置1′で発生するDMA要求は、PCIバス仕様に従って処理が行なわれる。
このように現在では、PCIバスは、CPUチップ20やチップセット60の内部に集積されており、PCIバスのチップ外部との接続は、PCI−Expressとして実現されることが多い。CPUチップ20とPCHチップ60との間の信号も、高速シリアル信号を用いて伝送される。このような物理構成は、集積回路のチップサイズや端子数などの現実的な要件から主流となっている。
本件は、上述したような情報処理装置1や情報処理装置1′の如き物理構成に限定されない。従って、情報処理装置1′によっても、上述した実施形態及び各変形例における機能を備えることができ、上述の如き効果を奏することができる。
〔3〕付記
以上の実施形態及び各変形例に関し、更に以下の付記を開示する。
(付記1)
メモリに対するメモリアクセス要求を発行する少なくとも一つのアクセス部と、
前記アクセス部から発行されたメモリアクセス要求を調停する調停部と、
前記調停部による調停結果に応じたメモリアクセス要求の発行元のアクセス部に対して、前記メモリに対するメモリアクセスを実行させる管理部と、
少なくとも一つのキャッシュメモリを介して前記メモリに対するアクセスを行なう処理部と、
前記アクセス部により発行された前記メモリアクセス要求に係る処理を、予め設定された保留時間の間、保留する一方、前記保留時間が満了する前に前記処理部における前記少なくとも一つのキャッシュメモリの電源がオフになった場合に、前記メモリアクセス要求に係る処理の保留を解除するタイミング調整部と、を備えることを特徴とする、情報処理装置。
(付記2)
前記タイミング調整部は、前記保留時間が満了した場合に、前記メモリアクセス要求に係る処理の保留を解除することを特徴とする、付記1記載の情報処理装置。
(付記3)
前記タイミング調整部は、複数の前記アクセス部ごとに前記保留時間を設定され、前記メモリアクセス要求に係る処理を、当該メモリアクセス要求の発行元のアクセス部に対応する保留時間の間保留することを特徴とする、付記1又は2記載の情報処理装置。
(付記4)
前記タイミング調整部に設定される保留時間は、それぞれ、対応するアクセス部ごとに決定される最大保留時間であることを特徴とする、付記3記載の情報処理装置。
(付記5)
前記タイミング調整部は、前記キャッシュメモリの電源がオフになった場合に、前記保留時間が満了していないメモリアクセス要求のうちの残保留時間が少ないメモリアクセス要求から順に、前記メモリアクセス要求に係る処理の保留を解除することを特徴とする、付記3又は付記4記載の情報処理装置。
(付記6)
前記タイミング調整部は、前記保留時間が満了したメモリアクセス要求から順に、前記メモリアクセス要求に係る処理の保留を解除することを特徴とする、付記3〜5のいずれか1項記載の情報処理装置。
(付記7)
前記タイミング調整部は、複数の前記アクセス部に対して一つの保留時間を設定され、一のメモリアクセス要求に係る処理の保留を行なっているときに、他のメモリアクセス要求に係る処理の保留を行なう場合、前記一のメモリアクセス要求における残保留時間を用いて、前記他のメモリアクセス要求に係る処理を保留することを特徴とする、付記1又は付記2記載の情報処理装置。
(付記8)
前記タイミング調整部は、複数の前記アクセス部に対して一つの保留時間を設定されるとともに、前記調停部と前記管理部との間に備えられ、前記調停部から前記管理部へのメモリアクセス要求の発行を保留することを特徴とする、付記1又は付記2記載の情報処理装置。
(付記9)
前記タイミング調整部に設定される保留時間は、前記アクセス部ごとに決定されるそれぞれの最大保留時間のうちの、最小の時間であることを特徴とする、付記7又は付記8記載の情報処理装置。
(付記10)
前記タイミング調整部は、前記アクセス部と前記調停部との間に備えられ、前記アクセス部から前記調停部への前記メモリアクセス要求の発行を保留することを特徴とする、付記1〜7のいずれか1項記載の情報処理装置。
(付記11)
前記タイミング調整部は、前記少なくとも一つのキャッシュメモリの電源がオフである間は、前記アクセス部により発行された前記メモリアクセス要求に係る処理の保留を抑止することを特徴とする、付記1〜10のいずれか1項記載の情報処理装置。
(付記12)
前記管理部は、前記調停部からのメモリアクセス要求について、前記メモリへのアクセスを許可する場合、メモリアクセス許可信号を送信し、
前記メモリアクセス許可信号により前記管理部に前記メモリへのアクセスを許可された前記調停部は、調停結果に応じたアクセス部に対してメモリアクセス許可を発行し、
前記メモリアクセス許可を受けたアクセス部は、前記発行されたメモリアクセス許可に応じて、前記メモリに対するメモリアクセスを実行することを特徴とする、付記1〜11のいずれか1項記載の情報処理装置。
(付記13)
前記調停部は、
前記タイミング調整部における前記保留時間を設定されて保持するレジスタを備えることを特徴とする、付記1〜12のいずれか1項記載の情報処理装置。
(付記14)
前記アクセス部が発行する前記メモリに対するメモリアクセス要求は、DMA(Direct Memory Access)要求であることを特徴とする、付記1〜13のいずれか1項記載の情報処理装置。
(付記15)
前記アクセス部は、ホストコントローラであることを特徴とする、付記1〜14のいずれか1項記載の情報処理装置。
(付記16)
メモリに対するメモリアクセス要求を発行する少なくとも一つのアクセス部と、前記アクセス部から発行されたメモリアクセス要求を調停する調停部と、前記調停部による調停結果に応じたメモリアクセス要求の発行元のアクセス部に対して、前記メモリに対するメモリアクセスを実行させる管理部と、少なくとも一つのキャッシュメモリを介して前記メモリに対するアクセスを行なう処理部と、を備える情報処理装置における前記メモリアクセス要求のスケジューリング方法であって、
前記アクセス部により発行された前記メモリアクセス要求に係る処理を、予め設定された保留時間の間、保留する一方、前記保留時間が満了する前に前記処理部における前記少なくとも一つのキャッシュメモリの電源がオフになった場合に、前記メモリアクセス要求に係る処理の保留を解除することを特徴とする、スケジューリング方法。
(付記17)
前記保留時間が満了した場合に、前記メモリアクセス要求に係る処理の保留を解除することを特徴とする、付記16記載のスケジューリング方法。
(付記18)
前記保留時間は、複数の前記アクセス部ごとに設定され、
前記メモリアクセス要求に係る処理を、当該メモリアクセス要求の発行元のアクセス部に対応する保留時間の間保留することを特徴とする、付記16又は付記17記載のスケジューリング方法。
(付記19)
前記キャッシュメモリの電源がオフになった場合に、前記保留時間が満了していないメモリアクセス要求のうちの残保留時間が少ないメモリアクセス要求から順に、前記メモリアクセス要求に係る処理の保留を解除することを特徴とする、付記18記載のスケジューリング方法。
(付記20)
前記保留時間は、複数の前記アクセス部に対して一つ設定され、
一のメモリアクセス要求に係る処理の保留を行なっているときに、他のメモリアクセス要求に係る処理の保留を行なう場合、前記一のメモリアクセス要求における残保留時間を用いて、前記他のメモリアクセス要求に係る処理を保留することを特徴とする、付記16又は付記17記載のスケジューリング方法。
1,1′,100 コンピュータシステム(マルチマスタシステム,情報処理装置)
2 CPU(処理部)
20 CPUチップ
21,210 CPUコア
22,220 CM(キャッシュメモリ)
23,61 ヒートシンク
24 ファン
3,3−1〜3−3 PCIデバイス(アクセス部)
30−1,30−2 インタフェース部
4 バスアービタ(調停部)
41,43,410,430 同期化処理部
42,420 調停処理部
44,44−1〜44−5 レジスタ
5,5−1〜5−5 TA(タイミング調整部)
5−1a〜5−5a タイマ
6,600 システムバス
60 PCHチップ
7,700 バスブリッジ
8 管理部
81,810 ホストバス
82,400,820 バスアービタ
9,900 メモリコントローラ
10 メインメモリ(主記憶装置,メモリ)
11 保留時間DB
12 保留時間テーブル
300,300−1〜300−3 PCIデバイス
1000 メインメモリ

Claims (10)

  1. メモリに対するメモリアクセス要求を発行する少なくとも一つのアクセス部と、
    前記アクセス部から発行されたメモリアクセス要求を調停する調停部と、
    前記調停部による調停結果に応じたメモリアクセス要求の発行元のアクセス部に対して、前記メモリに対するメモリアクセスを実行させる管理部と、
    少なくとも一つのキャッシュメモリを介して前記メモリに対するアクセスを行なう処理部と、
    前記アクセス部により発行された前記メモリアクセス要求に係る処理を、予め設定された保留時間の間、保留する一方、前記保留時間が満了する前に前記処理部における前記少なくとも一つのキャッシュメモリの電源がオフになった場合に、前記メモリアクセス要求に係る処理の保留を解除するタイミング調整部と、を備えることを特徴とする、情報処理装置。
  2. 前記タイミング調整部は、前記保留時間が満了した場合に、前記メモリアクセス要求に係る処理の保留を解除することを特徴とする、請求項1記載の情報処理装置。
  3. 前記タイミング調整部は、複数の前記アクセス部ごとに前記保留時間を設定され、前記メモリアクセス要求に係る処理を、当該メモリアクセス要求の発行元のアクセス部に対応する保留時間の間保留することを特徴とする、請求項1又は2記載の情報処理装置。
  4. 前記タイミング調整部に設定される保留時間は、それぞれ、対応するアクセス部ごとに決定される最大保留時間であることを特徴とする、請求項3記載の情報処理装置。
  5. 前記タイミング調整部は、前記キャッシュメモリの電源がオフになった場合に、前記保留時間が満了していないメモリアクセス要求のうちの残保留時間が少ないメモリアクセス要求から順に、前記メモリアクセス要求に係る処理の保留を解除することを特徴とする、請求項3又は請求項4記載の情報処理装置。
  6. 前記タイミング調整部は、複数の前記アクセス部に対して一つの保留時間を設定され、一のメモリアクセス要求に係る処理の保留を行なっているときに、他のメモリアクセス要求に係る処理の保留を行なう場合、前記一のメモリアクセス要求における残保留時間を用いて、前記他のメモリアクセス要求に係る処理を保留することを特徴とする、請求項1又は請求項2記載の情報処理装置。
  7. 前記タイミング調整部は、複数の前記アクセス部に対して一つの保留時間を設定されるとともに、前記調停部と前記管理部との間に備えられ、前記調停部から前記管理部へのメモリアクセス要求の発行を保留することを特徴とする、請求項1又は請求項2記載の情報処理装置。
  8. 前記タイミング調整部に設定される保留時間は、前記アクセス部ごとに決定されるそれぞれの最大保留時間のうちの、最小の時間であることを特徴とする、請求項又は請求項記載の情報処理装置。
  9. 前記タイミング調整部は、前記アクセス部と前記調停部との間に備えられ、前記アクセス部から前記調停部への前記メモリアクセス要求の発行を保留することを特徴とする、請求項1〜のいずれか1項記載の情報処理装置。
  10. メモリに対するメモリアクセス要求を発行する少なくとも一つのアクセス部と、前記アクセス部から発行されたメモリアクセス要求を調停する調停部と、前記調停部による調停結果に応じたメモリアクセス要求の発行元のアクセス部に対して、前記メモリに対するメモリアクセスを実行させる管理部と、少なくとも一つのキャッシュメモリを介して前記メモリに対するアクセスを行なう処理部と、を備える情報処理装置における前記メモリアクセス要求のスケジューリング方法であって、
    前記アクセス部により発行された前記メモリアクセス要求に係る処理を、予め設定された保留時間の間、保留する一方、前記保留時間が満了する前に前記処理部における前記少なくとも一つのキャッシュメモリの電源がオフになった場合に、前記メモリアクセス要求に係る処理の保留を解除することを特徴とする、スケジューリング方法。
JP2013529801A 2011-08-23 2011-08-23 情報処理装置及びスケジューリング方法 Expired - Fee Related JP5668858B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/068921 WO2013027261A1 (ja) 2011-08-23 2011-08-23 情報処理装置及びスケジューリング方法

Publications (2)

Publication Number Publication Date
JP5668858B2 true JP5668858B2 (ja) 2015-02-12
JPWO2013027261A1 JPWO2013027261A1 (ja) 2015-03-05

Family

ID=47746043

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013529801A Expired - Fee Related JP5668858B2 (ja) 2011-08-23 2011-08-23 情報処理装置及びスケジューリング方法

Country Status (6)

Country Link
US (1) US9329998B2 (ja)
EP (1) EP2750043B1 (ja)
JP (1) JP5668858B2 (ja)
KR (1) KR101564520B1 (ja)
CN (1) CN103765394B (ja)
WO (1) WO2013027261A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6251112B2 (ja) 2014-04-14 2017-12-20 株式会社東芝 伝送装置およびコントローラ
US11144240B2 (en) 2018-08-24 2021-10-12 Micron Technology, Inc. Memory sub-system for increasing bandwidth for command scheduling
CN111077976B (zh) * 2018-10-18 2021-07-20 珠海全志科技股份有限公司 多核心处理器的空闲状态低功耗模式实现方法和处理器

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003256353A (ja) * 2002-02-28 2003-09-12 Casio Comput Co Ltd Dma制御装置及びdma制御方法
JP2003530640A (ja) * 2000-04-12 2003-10-14 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ キャッシュメモリを含むデータ処理回路およびこのような回路を備える装置
US20070186057A1 (en) * 2005-11-15 2007-08-09 Montalvo Systems, Inc. Small and power-efficient cache that can provide data for background dma devices while the processor is in a low-power state
JP2009282880A (ja) * 2008-05-26 2009-12-03 Fujitsu Ltd キャッシュメモリシステム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5761406A (en) * 1992-07-31 1998-06-02 Fujitsu Limited Method of controlling data transfer and a safe shutdown in a hierarchical cache system during power cut-off
US6125450A (en) * 1996-12-19 2000-09-26 Intel Corporation Stop clock throttling in a computer processor through disabling bus masters
JP2000090045A (ja) 1998-09-08 2000-03-31 Nec Eng Ltd データ転送システム、ダイレクトメモリアクセス制御装置及び方法、並びに記録媒体
JP2005190332A (ja) 2003-12-26 2005-07-14 Matsushita Electric Ind Co Ltd データ転送制御装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003530640A (ja) * 2000-04-12 2003-10-14 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ キャッシュメモリを含むデータ処理回路およびこのような回路を備える装置
JP2003256353A (ja) * 2002-02-28 2003-09-12 Casio Comput Co Ltd Dma制御装置及びdma制御方法
US20070186057A1 (en) * 2005-11-15 2007-08-09 Montalvo Systems, Inc. Small and power-efficient cache that can provide data for background dma devices while the processor is in a low-power state
JP2009282880A (ja) * 2008-05-26 2009-12-03 Fujitsu Ltd キャッシュメモリシステム

Also Published As

Publication number Publication date
US20140173202A1 (en) 2014-06-19
EP2750043A4 (en) 2015-08-05
CN103765394B (zh) 2016-08-24
KR101564520B1 (ko) 2015-10-29
JPWO2013027261A1 (ja) 2015-03-05
KR20140051348A (ko) 2014-04-30
WO2013027261A1 (ja) 2013-02-28
CN103765394A (zh) 2014-04-30
EP2750043A1 (en) 2014-07-02
US9329998B2 (en) 2016-05-03
EP2750043B1 (en) 2016-04-20

Similar Documents

Publication Publication Date Title
JP3524337B2 (ja) バス管理装置及びそれを有する複合機器の制御装置
KR20120014914A (ko) 이종 소스들에 대한 계층적인 메모리 중재 기법
US20080270658A1 (en) Processor system, bus controlling method, and semiconductor device
JP2008276391A (ja) メモリアクセス制御装置
JP5668858B2 (ja) 情報処理装置及びスケジューリング方法
CN102449612A (zh) 数据空间仲裁器
TW200402619A (en) Method to reduce power in a computer system with bus master devices
JP2008293487A (ja) プロセッサシステム、バス制御方法および半導体装置
JP4144990B2 (ja) データ処理システム及び初期化方法
JP2001166994A (ja) 早期データ転送完了を利用してデータ記憶装置性能を改善するデータ記憶装置および方法
JP7018833B2 (ja) 半導体装置
JP4499235B2 (ja) Pciバス互換性を有するマスターおよびアービターと仲裁方法
US5815676A (en) Address bus arbiter for pipelined transactions on a split bus
JP2001249770A (ja) コマンドキューイングの機能を持つ記憶装置
WO1992006432A1 (en) Device for controlling bus
JP2004046851A (ja) バス管理装置及びそれを有する複合機器の制御装置
JP2014157392A (ja) 半導体装置及びデータ処理システム
JP2000207354A (ja) バスア―ビタ及びバス間制御装置
JP2010039632A (ja) バス調停システム
JPH0844661A (ja) 情報処理装置
JPH08137785A (ja) Dma制御装置
JP2008097462A (ja) 情報処理装置及び情報処理方法
JP3237569B2 (ja) メモリアクセス制御装置
JP2024514503A (ja) Dramコマンドストリーク効率管理
JP2005293609A (ja) 初期化方法

Legal Events

Date Code Title Description
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: 20141118

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141201

R150 Certificate of patent or registration of utility model

Ref document number: 5668858

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

LAPS Cancellation because of no payment of annual fees