JP5978860B2 - 情報処理装置、メモリ制御ユニット、メモリ制御方法および制御プログラム - Google Patents

情報処理装置、メモリ制御ユニット、メモリ制御方法および制御プログラム Download PDF

Info

Publication number
JP5978860B2
JP5978860B2 JP2012191113A JP2012191113A JP5978860B2 JP 5978860 B2 JP5978860 B2 JP 5978860B2 JP 2012191113 A JP2012191113 A JP 2012191113A JP 2012191113 A JP2012191113 A JP 2012191113A JP 5978860 B2 JP5978860 B2 JP 5978860B2
Authority
JP
Japan
Prior art keywords
memory
self
refresh
power
patrol
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.)
Active
Application number
JP2012191113A
Other languages
English (en)
Other versions
JP2014048881A (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
Priority to JP2012191113A priority Critical patent/JP5978860B2/ja
Priority to EP13180054.2A priority patent/EP2704016A3/en
Priority to US13/970,640 priority patent/US20140068166A1/en
Publication of JP2014048881A publication Critical patent/JP2014048881A/ja
Application granted granted Critical
Publication of JP5978860B2 publication Critical patent/JP5978860B2/ja
Active 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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash 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/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • G06F11/106Correcting systematically all correctable errors, i.e. scrubbing
    • 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/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • G06F13/1657Access to multiple memories
    • 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)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Dram (AREA)
  • Memory System (AREA)
  • Power Sources (AREA)

Description

本発明は、メモリの制御に関する。
演算ユニットに接続されているメモリに記憶されるデータを保証するために、メモリに対するパトロール機能を備えた演算ユニットが知られている。パトロール機能は、メモリに格納されたデータを定期的に読み出し、エラーの検出とデータの訂正を行う。例えば、データに付加されたパリティビットの整合性を確認することによって、1bitのエラーを検出する。更に、1bitのエラーを検出した場合には、データを訂正し、メモリに対して再書き込みを行って間歇障害を排除する。
また、メモリの動作に伴う消費電力を低減させるために、パワーダウン機能を備えたメモリも知られている。パワーダウン機能では、メモリ内の一部の回路を停止させることにより、電力の消費を抑制する。
図1に、パワーダウン機能を実行させない通常電力状態における消費電力101と、パワーダウン機能を実行させるパワーダウン状態における消費電力103の様子を示す。通常電力状態においては、パトロール機能によるメモリアクセスの有無によって、消費電力は変動しない。
一方、パワーダウン状態においては、パトロール機能によるメモリアクセスが行われると、メモリからの読み出しの動作に伴い一時的に消費する電力は増加する。しかし、パトロール機能によるアクセスがない間は、電力の消費が抑えられるので、メモリのパワーダウン機能を用いることにより、全体として省電力化が図られている。
尚、通常電力状態とパワーダウン状態のいずれにおいても、演算ユニットが定期的にメモリをリフレッシュさせる動作を行っている。
特開平07−056817号公報
一側面では、本発明は、メモリの動作に係る電力消費を抑制することを目的とする。
一態様の情報処理装置は、セルフリフレッシュ機能を備える一又は複数のメモリと、一又は複数のメモリのセルフリフレッシュを開始させた場合に、一又は複数のメモリに対する読み出しおよびエラー訂正を行うパトロールを停止し、一又は複数のメモリのセルフリフレッシュを停止させた場合に、一又は複数のメモリに対するパトロールを再開するメモリ制御ユニットとを含む。
一態様によれば、メモリの動作に係る電力消費を抑制することができる。
図1は、通常電力状態とパワーダウン状態における消費電力を示す図である。 図2は、サーバ装置の構成例を示す図である。 図3は、システムボードの構成例を示す図である。 図4は、物理パーティションの構成例を示す図である。 図5は、CPUユニットとメモリの構成例を示す図である。 図6は、実施の形態1における電力モードの概要を示す図である。 図7は、実施の形態1における通常モードにおける状態遷移を示す図である。 図8は、実施の形態1における省電力モードにおける状態遷移を示す図である。 図9は、実施の形態1における省電力モードにおける消費電力を示す図である。 図10は、セルフリフレッシュ状態でパトロールを行う場合の消費電力を示す図である。 図11は、実施の形態1におけるメモリアクセス制御回路の構成例を示す図である。 図12は、パワーダウン制御ルーチンの処理フロー例を示す図である。 図13は、セルフリフレッシュ制御ルーチン(A)の処理フロー例を示す図である。 図14は、ハイパーバイザーの構成例を示す図である。 図15は、実施の形態1におけるハイパーバイザーのメイン処理フロー例を示す図である。 図16は、通常モード初期化処理(A)のフロー例を示す図である。 図17は、通常モード処理(A1)のフロー例を示す図である。 図18は、省電力モード初期化処理(A)のフロー例を示す図である。 図19は、省電力モード処理(A)のフロー例を示す図である。 図20は、実施の形態2におけるメモリアクセス制御回路の構成例を示す図である。 図21は、セルフリフレッシュ制御ルーチン(B)の処理フロー例を示す図である。 図22は、パトロール制御ルーチンの処理フロー例を示す図である。 図23は、通常モード初期化処理(B)のフロー例を示す図である。 図24は、省電力モード初期化処理(B)のフロー例を示す図である。 図25Aは、省電力モード処理(B1)のフロー例を示す図である。 図25Bは、省電力モード処理(B1)のフロー例を示す図である。 図26は、実施の形態3における電力モードの概要を示す図である。 図27Aは、省電力モード処理(B2)のフロー例を示す図である。 図27Bは、省電力モード処理(B2)のフロー例を示す図である。 図28は、実施の形態4における電力モードの概要を示す図である。 図29は、実施の形態4における通常モードにおける状態遷移を示す図である。 図30は、実施の形態4における通常モードにおける消費電力を示す図である。 図31は、セルフリフレッシュ状態でパトロールを行う場合の消費電力を示す図である。 図32は、実施の形態4におけるハイパーバイザーのメイン処理フロー例を示す図である。 図33は、通常モード処理(A2)のフロー例を示す図である。 図34は、通常モード処理(B)のフロー例を示す図である。 図35は、コンピュータの機能ブロック図である。
[実施の形態1]
実施の形態では、セルフリフレッシュ機能を備えたメモリを用いて電力の消費を抑制する。セルフリフレッシュ機能を備えたメモリを用いる情報処理装置の例として、サーバ装置について説明する。但し、他のコンピュータ装置でセルフリフレッシュ機能を備えたメモリを用いるようにしてもよい。セルフリフレッシュは、ダイナミックRAM(Random Access Memory)のリフレッシュ動作の一つであり、RAM内部で自動的に実行されるリフレッシュ動作をいう。セルフリフレッシュ時は、RAM内部で発生するクロック信号を用いてRAM内部のメモリセル群をリフレッシュすることにより、RAMの消費電力を削減することができる。
図2に、サーバ装置の構成例を示す。サーバ装置201は、複数のシステムボード203を有している。複数のシステムボード203は、スイッチ205を介して接続している。図2の例では、システムボード203a〜システムボード203gがスイッチ205を介して接続している。
システムボード203について説明する。図3に、システムボード203の構成例を示す。システムボード203は、複数のCPU(Central Processing Unit)ユニット301を有している。また、システムボード203は、複数のメモリ303を有している。更に、システムボード203は、データ入出力を行うためのIOポート305を有している。メモリ303は、CPUユニット301の主記憶装置として用いられる。システムボード203は、複数のメモリ303の他に、ファーム用メモリ307を有している。ファーム用メモリ307には、ファームウエアが格納されている。後述するハイパーバイザーも、ファーム用メモリ307に格納されている。ファーム用メモリ307には、例えば、フラッシュメモリあるいはROM(Read Only Memory )を用いる。尚、CPUユニット301は、メモリ303を制御するメモリ制御ユニットの例である。
図2の説明に戻って、サーバ装置201は、複数の物理パーティション207に分割されている。図2の例では、サーバ装置201は、物理パーティション207aと物理パーティション207bを有している。物理パーティション207は、一又は複数のシステムボード203を含んでいる。図2の例では、物理パーティション207aは、システムボード203bとシステムボード203cを含んでいる。物理パーティション207bは、システムボード203d〜システムボード203fを含んでいる。システムボード203aとシステムボード203gは、いずれの物理パーティション207にも含まれていない。
物理パーティション207内の構成について説明する。図4は、物理パーティション207の構成例を示す図である。物理パーティション207は、ファーム層401にハイパーバイザー403を有している。図4の例では、物理パーティション207aは、ファーム層401aにハイパーバイザー403aを有し、物理パーティション207bは、ファーム層401bにハイパーバイザー403bを有している。ハイパーバイザー403は、仮想マシンを実現するための制御プログラムである。ハイパーバイザー403の上で、一又は複数のオペレーティングシステム407が動作する。
図4の例では、物理パーティション207aでは、オペレーティングシステム407a〜オペレーティングシステム407cが動作し、物理パーティション207bでは、オペレーティングシステム407d〜オペレーティングシステム407gが動作している。
オペレーティングシステム407が管理する範囲で、論理ドメイン405が構成される。論理ドメイン405内では、一又は複数のアプリケーション409が動作する。図4では、例えば、論理ドメイン405aのオペレーティングシステム407a上で、アプリケーション409aが動作する。論理ドメイン405bのオペレーティングシステム407b上で、アプリケーション409bが動作する。論理ドメイン405cのオペレーティングシステム407c上で、アプリケーション409cが動作する。また、論理ドメイン405dのオペレーティングシステム407d上で、アプリケーション409dが動作する。論理ドメイン405eのオペレーティングシステム407e上で、アプリケーション409eが動作する。論理ドメイン405fのオペレーティングシステム407f上で、アプリケーション409fが動作する。論理ドメイン405gのオペレーティングシステム407g上で、アプリケーション409gが動作する。
続いて、CPUユニット301とメモリ303の構成について説明する。図5に、CPUユニット301とメモリ303の構成例を示す。CPUユニット301は、複数のコア501を有している。コア501は、メモリ303に記憶されているプログラム又はデータを読み出して演算処理する演算部の例である。各コア501は、キャッシュユニット503を介して、複数のメモリアクセス制御回路505と接続している。キャッシュユニット503は、内部にキャッシュメモリを備えている。キャッシュユニット503は、コア501から要求されたデータをキャッシュメモリに保持している場合には、キャッシュメモリからデータを読み出してコア501に提供する。コア501から要求されたデータをキャッシュメモリに保持していない場合には、メモリアクセス制御回路505を介してメモリ303からデータを取得し、コア501に提供する。
メモリアクセス制御回路505は、制御対象のメモリ303と接続し、リクエストに応じて制御対象のメモリ303へのアクセスを行う。メモリアクセス制御回路505は、メモリ303へ対するメモリ状態変更の指示や、安定的にデータを保持させるための動作も行う。この例では、メモリアクセス制御回路505は、1つのメモリと接続しているが、複数のメモリと接続するようにしてもよい。
図5の例では、CPUユニット301は、コア501を複数有するが、演算部は1つであってもよい。また、図5の例では、CPUユニット301は、複数のメモリと接続しているが、1つのメモリと接続するようにしてもよい。
メモリ303は、揮発性のメモリである。メモリ303は、例えば、DRAM(Dynamic Random Access Memory)である。メモリ303は、メモリ状態として、通常電力状態とパワーダウン状態とセルフリフレッシュ状態とを使い分けることができる。パワーダウン状態は、メモリの回路の一部を停止させた状態であるが、読み書きの動作を行うことができる。セルフリフレッシュ状態は、メモリに入力されるクロックを不活性化させ、自らリフレッシュを行う状態である。セルフリフレッシュ状態では、メモリに対する読み書きの動作は行われない。
図6は、実施の形態1における電力モードの概要を示す図である。この例では、物理パーティション207単位の電力モードとして、通常モード又は省電力モードが選択される。また、メモリ303が論理ドメインへアサインされているか否かで、メモリ303の状態を切り替える。メモリアクセス頻度によっても、メモリ303の状態を切り替える。メモリアクセス頻度が低いとは、メモリへのアクセス頻度が所定の閾値以下の状態、すなわち、例えば一定期間にメモリ303へアクセスがない状態を指す。同様に、メモリアクセス頻度が高いとは、メモリのアクセス頻度が所定の閾値よりも大きい状態、すなわち、例えば一定期間にメモリ303へアクセスがある状態を指す。また、各メモリ303の状態に対してパトロールの有無を設定している。
レコード601とレコード603は、通常モードにおける2つの状態を示している。レコード601に示すように、論理ドメインへのアサインが有る場合には、メモリ状態を通常電力状態(N)として、パトロールを行うように制御する。レコード603に示すように、論理ドメインへのアサインが無い場合には、メモリ状態をパワーダウン状態(P1)として、パトロールを行うように制御する。以降、各状態を区別して説明するために、(P1)等の符号を付ける。
レコード605とレコード607とレコード609は、省電力モードにおける3つの状態を示している。レコード605に示すように、論理ドメインへのアサインが有り、メモリアクセス頻度が高い場合には、メモリ状態をパワーダウン状態(P2)として、パトロールを行うように制御する。レコード607に示すように、論理ドメインへのアサインが有り、メモリアクセス頻度が低い場合には、メモリ状態をセルフリフレッシュ状態(S1)として、パトロールを行わないように制御する。レコード609に示すように、論理ドメインへのアサインが無い場合には、メモリ状態をセルフリフレッシュ状態(S2)として、パトロールを行わないように制御する。
図中、「(影響なし)」と記載している項目は、メモリ状態の特定に関与しないことを示している。
図7に、実施の形態1における通常モードにおける状態遷移を示す。メモリ状態が通常電力状態(N)701で、メモリ303へのアクセスがあっても状態は移らない。メモリ状態が通常電力状態(N)701で、メモリ303のパワーダウン機能を開始させると、メモリ状態がパワーダウン状態(P1)703に移る。メモリ状態がパワーダウン状態(P1)703で、メモリ303へのアクセスがあっても状態は移らない。メモリ状態がパワーダウン状態(P1)703で、メモリ303のパワーダウン機能を停止させると、メモリ状態が通常電力状態(N)701に移る。
通常モードにおける消費電力は、図1に示した通りである。
図8に、実施の形態1における省電力モードにおける状態遷移を示す。メモリ状態がパワーダウン状態(P2)801で、メモリ303へのアクセスがあっても状態は移らない。メモリ状態がパワーダウン状態(P2)801で、メモリ303のセルフリフレッシュ機能を開始させると、メモリ状態がセルフリフレッシュ状態(S1,S2)803に移る。メモリ状態がセルフリフレッシュ状態(S1,S2)803で、メモリ303のセルフリフレッシュ機能を停止させると、メモリ状態がパワーダウン状態(P2)801に移る。メモリ状態がセルフリフレッシュ状態(S1,S2)803で、メモリ303へのアクセスがあった場合にも、メモリ状態がパワーダウン状態(P2)801に移る。
図9に、実施の形態1における省電力モードにおける消費電力を示す。メモリ状態がパワーダウン状態(P2)で、パトロール動作によるメモリ303へのアクセスがあると、一時的に消費電力901は高まるが、メモリ303へのアクセスの無い間は、消費電力901は比較的に低い。メモリ303のセルフリフレッシュ機能を開始させ、更にパトロール動作を停止すると、消費電力903は定常的に低く抑えられるようになる。再び、セルフリフレッシュ機能を停止させ、パトロール動作を開始すると、消費電力901の状態に戻る。
ここで、比較のためにパトロール動作を停止しない場合も説明する。図10に、セルフリフレッシュ状態でパトロール動作を行う場合の消費電力を示す。セルフリフレッシュ機能を開始させても、パトロール動作を継続すると、パトロール動作によるメモリ303へのアクセスがある度に、消費電力1003が高くなる。そのため、図9の場合に比べて全体しての省電力の効果は小さい。
ここで、メモリアクセス制御回路505の構成について説明する。図11に、実施の形態1におけるメモリアクセス制御回路505の構成例を示す。メモリアクセス制御回路505は、コマンド制御部1101、IO部1107、データ制御部1109及びパトロールデータチェック部1115を有している。コマンド制御部1101は、キャッシュユニット503を介してコア501からコマンドを受け付け、コマンドを実行する。コマンドを受け付けるために、コマンド制御部1101は、制御レジスタ1103を備えている。この実施の形態では、制御レジスタ1103としてパワーマネジメントレジスタ1105を有している。
パワーマネジメントレジスタ1105は、コマンドとして、パワーダウン開始要求、パワーダウン停止要求、セルフリフレッシュ開始要求及びセルフリフレッシュ停止要求を受け付ける。コマンド制御部1101は、これらのコマンドを受け付けると、IO部1107を介してメモリ303に対してパワーダウン機能を開始させ、パワーダウン機能を停止させ、セルフリフレッシュを開始させ、セルフリフレッシュを停止させる。また、パワーマネジメントレジスタ1105は、パワーダウン動作状態とセルフリフレッシュ動作状態を提示することにも用いられる。
データ制御部1109は、キャッシュユニット503を介してコア501からデータ操作の要求(リクエストデータ)を受け付け、データ操作を行う。具体的には、データの読み書きを行う。データ操作の要求を受け付けるために、データ制御部1109は、リクエストキュー1111を備えている。
データ制御部1109は、リクエストキュー1111にリクエストデータが格納されると、リクエストデータの内容に応じて、IO部1107を介してメモリ303からデータを読み取り、あるいはデータを書き込む。
また、データ制御部1109は、パトロール動作を実行するパトロール部1113を有している。コマンド制御部1101からパトロール動作の開始を指示されると、パトロール部1113はメモリ303から順次データを読み込み、パトロールデータチェック部1115に読み出したデータを渡す。パトロールデータチェック部1115は、読み出したデータに対してパリティチェックを行う。パトロールデータチェック部1115は、チェック結果をパトロール部1113に返す。エラーを検出した場合には、パトロールデータチェック部1115は、更に訂正データをパトロール部1113に返す。パトロール部1113は、IO部1107を介して訂正データを元のアドレスに書き戻す。データ制御部1109は、コマンド制御部1101からパトロール動作の停止を指示されると、パリティチェックとデータ訂正の動作を終える。
続いて、コマンド制御部1101における動作について説明する。まず、パワーダウン制御について説明する。図12に、パワーダウン制御ルーチンの処理フロー例を示す。コマンド制御部1101は、パワーマネジメントレジスタ1105にパワーダウン開始要求が設定されたか否かを判定する(S1201)。パワーマネジメントレジスタ1105にパワーダウン開始要求が設定されていないと判定した場合には、コマンド制御部1101は、1251のループ処理を繰り返す。つまり、1251のループ処理を繰り返している間は、パワーダウン機能が停止中である。
パワーマネジメントレジスタ1105にパワーダウン開始要求が設定されたと判定された場合には、コマンド制御部1101は、メモリ303のパワーダウン機能を起動させる(S1203)。そして、コマンド制御部1101は、パワーマネジメントレジスタ1105にパワーダウン停止要求が設定されたか否かを判定する(S1205)。パワーマネジメントレジスタ1105にパワーダウン停止要求が設定されていないと判定した場合には、コマンド制御部1101は、1253のループ処理を繰り返す。つまり、1253のループ処理を繰り返している間は、パワーダウン機能が実行中である。パワーマネジメントレジスタ1105にパワーダウン停止要求が設定されたと判定された場合には、コマンド制御部1101は、メモリ303のパワーダウン機能を解除させる(S1207)。機能を解除させることは、動作を停止させることである。そして、コマンド制御部1101は、1251のループ処理へ移行する。
次に、セルフリフレッシュ制御について説明する。図13に、セルフリフレッシュ制御ルーチン(A)の処理フロー例を示す。コマンド制御部1101は、パワーマネジメントレジスタ1105にセルフリフレッシュ開始要求を設定されたか否かを判定する(S1301)。パワーマネジメントレジスタ1105にセルフリフレッシュ開始要求を設定されていないと判定した場合には、コマンド制御部1101は、1351のループ処理を繰り返す。つまり、1351のループ処理を繰り返している間は、セルフリフレッシュ機能が停止中である。
パワーマネジメントレジスタ1105にセルフリフレッシュ開始要求を設定されたと判定した場合には、コマンド制御部1101は、リクエストキュー1111にリクエストデータがあるか否かを判定する(S1303)。リクエストキュー1111にリクエストデータがあると判定した場合には、データ操作が行われているので、リクエストキュー1111にリクエストデータが無くなるまで待つ。リクエストキュー1111にリクエストデータがないと判定した場合には、コマンド制御部1101は、メモリ303のセルフリフレッシュ機能を起動させる(S1305)。つまり、コマンド制御部1101は、メモリ303にセルフリフレッシュを開始させる。更に、コマンド制御部1101は、データ制御部1109によるパトロール動作を停止させる(S1307)。そして、コマンド制御部1101は、パワーマネジメントレジスタ1105にセルフリフレッシュ停止要求を設定されたか否かを判定する(S1309)。パワーマネジメントレジスタ1105にセルフリフレッシュ停止要求設定されていないと判定した場合には、コマンド制御部1101は、更にリクエストキュー1111にリクエストデータがあるか否かを判定する(S1311)。リクエストキュー1111にリクエストデータがないと判定した場合には、コマンド制御部1101は1353のループ処理を繰り返す。つまり、1353のループ処理を繰り返している間は、セルフリフレッシュが実行中である。
1353のループ処理を繰り返す間に、S1309でパワーマネジメントレジスタ1105にセルフリフレッシュ停止要求を設定されたと判定した場合、あるいはS1311でリクエストキューにリクエストデータがあると判定した場合には、コマンド制御部1101は、メモリ303のセルフリフレッシュ機能を解除させる(S1313)。つまり、コマンド制御部1101は、メモリ303にセルフリフレッシュを停止させる。更に、コマンド制御部1101は、データ制御部1109によるパトロール動作を開始させる(S1315)。つまり、コマンド制御部1101は、停止していたパトロール動作を再開させる。そして、コマンド制御部1101は、1351のループ処理へ移行する。
セルフリフレッシュ制御ルーチンでは、セルフリフレッシュに連動させて、パトロール動作を制御する。このようにすれば、メモリ303が待機状態から復帰する場合に、自動的にパトロール動作を再開させることができる。
次に、ハイパーバイザー403について説明する。図14に、ハイパーバイザー403の構成例を示す。ハイパーバイザー403は、受付部1401、第1モード制御部1403及び第2モード制御部1405を有している。受付部1401は、電力モードの切り替えを受け付ける。第1モード制御部1403は、通常モードにおける制御処理を行う。第2モード制御部1405は、省電力モードにおける制御処理を行う。第1モード制御部1403は、第1初期化部1431、第1判定部1433及び第1要求部1435を有している。第1初期化部1431は、通常モードに移行するための初期化を行う。第1判定部1433は、通常モードにおける判定処理を行う。第1要求部1435は、通常モードにおける要求処理を行う。第2モード制御部1405は、第2初期化部1451、第2判定部1453及び第2要求部1455を有している。第2初期化部1451は、省電力モードに移行するための初期化を行う。第2判定部1453は、省電力モードにおける判定処理を行う。第2要求部1455は、省電力モードにおける要求処理を行う。
コア501は、例えばファーム用メモリ307からハイパーバイザー403をいずれかのメモリ303にロードする。あるいは、コア501は、CPUユニット301に接続しているファーム用メモリ307から直接ハイパーバイザー403を読み出すようにしてもよい。コア501は、ハイパーバイザー403の命令コードを順次読み出し、演算処理することによりハイパーバイザー403のプログラム処理を実行する。
次に、ハイパーバイザー403のメイン処理について説明する。図15に、実施の形態1におけるハイパーバイザー403のメイン処理フロー例を示す。第1初期化部1431は、通常モード初期化処理を行う(S1501)。本実施の形態では、第1初期化部1431は、通常モード初期化処理(A)を行う。この処理により、通常モードの初期状態に移行する。通常モード初期化処理(A)については、図16を用いて後述する。
続いて、第1初期化部1431は、通常モード処理を起動する(S1503)。通常モード処理では、通常モードにおける遷移処理を行う。本実施の形態では、第1初期化部1431は、通常モード処理(A1)を起動する。通常モード処理(A1)については、図17を用いて後述する。尚、通常モード処理は、メイン処理とは別のプロセスとして、並列に動作する。通常モード処理を起動した後は、通常モード処理の終了を待たずに次の処理に移る。
受付部1401は、省電力モードへの切り替えがあったか否かを判定する(S1505)。省電力モードへの切り替えがないと判定した場合には、受付部1401は、1551のループ処理を繰り返す。つまり、1551のループ処理を繰り返している間は、通常モードである。
省電力モードへの切り替えがあったと判定した場合には、第2初期化部1451は、通常モード処理のプロセスを終了させる(S1507)。そして、第2初期化部1451は、省電力モード初期化処理を行う(S1509)。本実施の形態では、第2初期化部1451は、省電力モード初期化処理(A)を行う。この処理により、省電力モードの初期状態に移行する。省電力モード初期化処理(A)については、図18を用いて後述する。
第2初期化部1451は、省電力モード処理を起動する(S1511)。省電力モード処理では、省電力モードにおける遷移処理を行う。本実施の形態では、第2初期化部1451は、省電力モード処理(A)を起動する。省電力モード処理(A)については、図19を用いて後述する。尚、省電力モード処理は、メイン処理とは別のプロセスとして、並列に動作する。省電力モード処理を起動した後は、省電力モード処理の終了を待たずに次の処理に移る。
受付部1401は、通常モードへの切り替えがあったか否かを判定する(S1513)。通常モードへの切り替えがないと判定した場合には、受付部1401は、1553のループ処理を繰り返す。つまり、1553のループ処理を繰り返している間は、省電力モードである。
通常モードへの切り替えがあったと判定した場合には、第1初期化部1431は、省電力モード処理のプロセスを終了させる(S1515)。そして、S1501の通常モード初期化処理へ戻る。
ここで、S1501で行う通常モード初期化処理(A)について説明する。図16に、通常モード初期化処理(A)のフロー例を示す。通常モード初期化処理(A)において、第1初期化部1431は、通常モードの初期状態を設定する。具体的には、第1初期化部1431は、図6のレコード601に示した状態、つまりパトロールを実行している通常電力状態(N)に設定する。
第1初期化部1431は、パワーマネジメントレジスタ1105からパワーダウン動作状態を読み取り、パワーダウン動作状態が実行中であるかあるいは停止中であるかを判定する(S1601)。パワーダウン動作状態が実行中であると判定した場合には、第1初期化部1431は、パワーマネジメントレジスタ1105にパワーダウン停止要求を設定する(S1603)。これにより、パワーダウン機能は停止される。パワーダウン動作状態が停止中であると判定した場合には、パワーマネジメントレジスタ1105に対する操作は行なわず、S1605に移行する。
第1初期化部1431は、パワーマネジメントレジスタ1105からセルフリフレッシュ動作状態を読み取り、セルフリフレッシュ動作状態が実行中であるかあるいは停止中であるかを判定する(S1605)。セルフリフレッシュ動作状態が実行中であると判定した場合には、第1初期化部1431は、パワーマネジメントレジスタ1105にセルフリフレッシュ停止要求を設定する(S1607)。これにより、セルフリフレッシュ機能は停止される。セルフリフレッシュ動作状態が停止中であると判定した場合には、パワーマネジメントレジスタ1105に対する操作は行なわず、処理を終了する。処理を終了すると、図15のS1503へ戻る。
次に、S1503で行う通常モード処理(A1)について説明する。図17に、通常モード処理(A1)のフロー例を示す。通常モード処理(A1)において、第1判定部1433と第1要求部1435は、図6のレコード601に示した通常電力状態(N)を初期状態として、通常電力状態(N)とレコード603に示したパワーダウン状態(P1)の間の遷移を制御する。
第1判定部1433は、メモリアクセス制御回路505による制御対象であるメモリ303が論理ドメインへアサインされているか否かを判定する(S1701)。メモリアクセス制御回路505による制御対象であるメモリ303が論理ドメインへアサインされていると判定した場合には、第1判定部1433は、1751のループ処理を繰り返す。図6のレコード601に示した状態、つまり論理ドメインへのアサインが有る通常電力状態(N)が継続している間は、1751のループが繰り返される。
メモリアクセス制御回路505による制御対象であるメモリ303が論理ドメインへアサインされていないと判定した場合には、第1要求部1435は、パワーマネジメントレジスタ1105にパワーダウン開始要求を設定する(S1703)。これにより、パワーダウン機能が開始される。第1判定部1433は、制御対象であるメモリ303が論理ドメインへアサインされているか否かを判定する(S1705)。メモリアクセス制御回路505による制御対象であるメモリ303が論理ドメインへアサインされていないと判定した場合には、第1判定部1433は、1753のループ処理を繰り返す。図6のレコード603に示した状態、つまり論理ドメインへのアサインがないパワーダウン状態(P1)が継続している間は、1753のループ処理が繰り返される。
メモリアクセス制御回路505による制御対象であるメモリ303が論理ドメインへアサインされていると判定した場合には、第1要求部1435は、パワーマネジメントレジスタ1105にパワーダウン停止要求を設定する(S1707)。これにより、パワーダウン機能が停止される。そして、1751のループ処理へ戻る。図15のS1507で終了するまで、これらの処理を繰り返す。
続いて、S1509で行う省電力モード初期化処理(A)について説明する。図18に、省電力モード初期化処理(A)のフロー例を示す。省電力モード初期化処理(A)においては、第2初期化部1451は、省電力モードの初期状態を設定する。具体的には、第2初期化部1451は、図6のレコード605に示した状態、つまりパトロールを実行しているパワーダウン状態(P2)に設定する。
第2初期化部1451は、パワーマネジメントレジスタ1105からパワーダウン動作状態を読み取り、パワーダウン動作状態が実行中であるかあるいは停止中であるかを判定する(S1801)。パワーダウン動作状態が停止中であると判定した場合には、第初期化部141は、パワーマネジメントレジスタ1105にパワーダウン開始要求を設定する(S1803)。これにより、パワーダウン機能は開始される。パワーダウン動作状態が実行中であると判定した場合には、パワーマネジメントレジスタ1105に対する操作は行わない。
初期化部141は、パワーマネジメントレジスタ1105からセルフリフレッシュ動作状態を読み取り、セルフリフレッシュ動作状態が実行中であるかあるいは停止中であるかを判定する(S1805)セルフリフレッシュ動作状態が実行中であると判定した場合には、第初期化部141は、パワーマネジメントレジスタ1105にセルフリフレッシュ停止要求を設定する(S1807)。これにより、セルフリフレッシュ機能は停止される。セルフリフレッシュ動作状態が停止中であると判定した場合には、パワーマネジメントレジスタ1105に対する操作は行なわず、処理を終了する。処理を終了すると、図15のS1511へ戻る。
次に、S1511で行う省電力モード処理(A)について説明する。図19に、省電力モード処理(A)のフロー例を示す。省電力モード処理(A)において、第2判定部1453と第2要求部1455は、図6のレコード605に示したパワーダウン状態(P2)を初期状態として、パワーダウン状態(P2)とレコード607に示したセルフリフレッシュ状態(S1)とレコード609に示したセルフリフレッシュ状態(S2)の間の遷移を制御する。
第2判定部1453は、メモリアクセス制御回路505による制御対象であるメモリ303の全体が所定の期間において不使用であるか否かを判定する(S1901)。メモリアクセス制御回路505による制御対象であるメモリ303の一部又は全体が所定の期間において使用されているときは、メモリアクセス頻度が高い状態に相当する。一方、メモリアクセス制御回路505による制御対象であるメモリ303の全体が所定の期間において不使用であるときは、メモリアクセス頻度が低い状態に相当する。
メモリアクセス制御回路505による制御対象であるメモリ303の一部又は全体が所定の期間において使用されていると判定した場合には、第2判定部1453は、制御対象であるメモリ303が論理ドメインへアサインされているか否かを判定する(S1903)。メモリアクセス制御回路505による制御対象であるメモリ303が論理ドメインへアサインされていると判定した場合には、S1901へ戻る。このようにして、図6のレコード605に示した状態、つまり論理ドメインへのアサインが有り、且つメモリアクセスの頻度が高いパワーダウン状態(P2)が継続している間は、1951のループが繰り返される。
次に、パワーダウン状態(P2)からセルフリフレッシュ状態(S1)への遷移について説明する。S1901で、メモリアクセス制御回路505による制御対象であるメモリ303の全体が所定の期間において不使用であると判定した場合には、第2要求部1455は、パワーマネジメントレジスタ1105にセルフリフレッシュ開始要求を設定する(S1905)。これにより、セルフリフレッシュ機能が開始される。第2判定部1453は、メモリアクセス制御回路505による制御対象であるメモリ303の全体が所定の期間において不使用であるか否かを判定する(S1907)。メモリアクセス制御回路505による制御対象であるメモリ303の全体が所定の期間において不使用であると判定した場合には、第2判定部1453は、制御対象であるメモリ303が論理ドメインへアサインされているか否かを判定する(S1909)。制御対象であるメモリ303が論理ドメインへアサインされていると判定した場合には、第2判定部1453は、1953のループ処理を繰り返す。このようにして、図6のレコード607に示した状態、つまり論理ドメインへのアサインが有り、且つメモリアクセス頻度が低いセルフリフレッシュ状態(S1)が継続している間は、1953のループ処理が繰り返される。
次に、セルフリフレッシュ状態(S1)からパワーダウン状態(P2)へ戻る遷移について説明する。S1907で、メモリアクセス制御回路505による制御対象であるメモリ303の一部又は全体が所定の期間において使用されていると判定した場合には、S1901へ移行する。このとき、メモリアクセス制御回路505によってセルフリフレッシュは停止されるので、ハイパーバイザー403はセルフリフレッシュを停止するための処理を行わない。具体的には、図13に示したセルフリフレッシュ制御ルーチンにおいて、セルフリフレッシュ機能を実行中におけるループ1353中のS1311でリクエストキュー1111にリクエストデータがあると判定した場合に、メモリ303のセルフリフレッシュ機能を解除させ(S1313)、パトロール動作を開始する(S1315)。このようにして、パワーダウン状態(P2)におけるループ処理1951に戻る。
次に、パワーダウン状態(P2)からセルフリフレッシュ状態(S2)への遷移について説明する。パワーダウン状態(P2)におけるループ処理1951中のS1903で、メモリアクセス制御回路505による制御対象であるメモリ303が論理ドメインへアサインされていないと判定した場合には、第2要求部1455は、パワーマネジメントレジスタ1105にセルフリフレッシュ開始要求を設定する(S1911)。これにより、セルフリフレッシュ機能が開始される。第2判定部1453は、制御対象であるメモリ303が論理ドメインへアサインされているか否かを判定する(S1913)。制御対象であるメモリ303が論理ドメインへアサインされていないと判定した場合には、S1913の判定処理を繰り返す。このようにして、図6のレコード609に示した状態、つまり論理ドメインへのアサインが無いセルフリフレッシュ状態(S2)が継続している間は、1955のループ処理が繰り返される。
次に、セルフリフレッシュ状態(S1)からセルフリフレッシュ状態(S2)への遷移について説明する。セルフリフレッシュ状態(S1)におけるループ処理1953中のS1909で、制御対象であるメモリ303が論理ドメインへアサインされていないと判定した場合には、第2判定部1453は、制御対象であるメモリ303が論理ドメインへアサインされているか否かを判定する(S1913)。制御対象であるメモリ303が論理ドメインへアサインされていないと判定した場合には、S1913の判定処理を繰り返す。前述と同様に、図6のレコード609に示した状態、つまり論理ドメインへのアサインが無いセルフリフレッシュ状態(S2)が継続している間は、1955のループ処理が繰り返される。
次に、セルフリフレッシュ状態(S2)からパワーダウン状態(P2)又はセルフリフレッシュ状態(S1)への遷移について説明する。セルフリフレッシュ状態(S2)におけるループ処理1955中のS1913で、制御対象であるメモリ303が論理ドメインへアサインされていると判定した場合には、第2要求部1455は、パワーマネジメントレジスタ1105にセルフリフレッシュ停止要求を設定する(S1915)。これにより、セルフリフレッシュ機能は停止される。そして、S1901で、第2判定部1453は、メモリアクセス制御回路505による制御対象であるメモリ303の全体が所定の期間において不使用であるか否かを判定する。
メモリアクセス制御回路505による制御対象であるメモリ303の一部又は全体が所定の期間において使用されていると判定した場合には、パワーダウン状態(P2)におけるループ処理1951に移行する。
メモリアクセス制御回路505による制御対象であるメモリ303の全体が所定の期間において不使用であると判定した場合には、セルフリフレッシュ状態(S1)におけるループ処理1953に移行する。
本実施の形態によれば、メモリ303のセルフリフレッシュを開始させた場合にメモリ303へのパトロールを停止し、セルフリフレッシュを停止させた場合にパトロールを再開するので、メモリ303がセルフリフレッシュを実行し、待機している状態における消費電力を低減することができる。更に、サーバ装置のようなコンピュータ装置全体としての電力消費を抑制することができる。
また、メモリ303が論理ドメインにアサインされていないときに、メモリ303のセルフリフレッシュを開始させ、メモリ303が論理ドメインにアサインされているときに、メモリのセルフリフレッシュを停止させるので、メモリ303が使用されない状況における消費電力を抑制することができる。
更に、メモリ303が論理ドメインにアサインされていても、メモリ303へのアクセス頻度が低いときには、メモリ303のセルフリフレッシュを開始させるので、メモリ303が実際に使用されていない状況における消費電力を抑制することができる。
[実施の形態2]
実施の形態1では、図13に示したように、メモリアクセス制御回路505のセルフリフレッシュ制御ルーチンにおいて、セルフリフレッシュ機能の起動とパトロール動作の停止を連動させ、セルフリフレッシュ機能の解除とパトロール動作の開始を連動させる例について説明した。実施の形態2では、ハイパーバイザー403において、セルフリフレッシュ機能の起動とパトロール動作の停止を連動させ、更にセルフリフレッシュ機能の解除とパトロール動作の開始を連動させる例について説明する。
実施の形態2でも、実施の形態1と同様に図6に示した状態遷移を実現する例について説明する。
図20に、実施の形態2におけるメモリアクセス制御回路505の構成例を示す。実施の形態2では、制御レジスタ1103は、パトロールコントロールレジスタ2001を有している。パトロールコントロールレジスタ2001は、パトロールの制御のためのレジスタである。パトロールコントロールレジスタ2001は、コマンドとして、パトロール開始要求とパトロール停止要求を受け付ける。コマンド制御部1101は、これらのコマンドを受け付けると、データ制御部1109によるパトロール動作を開始させ、あるいは停止させる。また、パトロールコントロールレジスタ2001は、パトロール動作状態を提示することにも用いられる。
次に、メモリアクセス制御回路505の動作について説明する。パワーダウン制御ルーチン(図12)については、実施の形態1と同様である。
実施の形態2では、図13に示したセルフリフレッシュ制御ルーチン(A)に代えて、セルフリフレッシュ制御ルーチン(B)の処理を行う。図21に、セルフリフレッシュ制御ルーチン(B)の処理フロー例を示す。
S1301〜S1305については、図13と同様である。また、セルフリフレッシュ機能の停止中は、図13の1351のループ処理と同様に2151のループ処理を繰り返す。
S2101では、図13のS1307の処理に代えて、コマンド制御部1101が、パワーマネジメントレジスタ1105のセルフリフレッシュ動作状態に実行中を設定する。
S1309〜S1313については、図13と同様である。また、セルフリフレッシュ機能の実行中は、図13の1353のループ処理と同様に2153のループ処理を繰り返す。
S2103では、図13のS1315の処理に代えて、コマンド制御部1101が、パワーマネジメントレジスタ1105のセルフリフレッシュ動作状態に停止中を設定する(S2103)。
次に、実施の形態2で新たに設けるパトロール制御ルーチンについて説明する。図22に、パトロール制御ルーチンの処理フロー例を示す。
コマンド制御部1101は、パトロールコントロールレジスタ2001にパトロール停止要求が設定されたか否かを判定する(S2201)。パトロールコントロールレジスタ2001にパトロール停止要求が設定されていないと判定した場合には、コマンド制御部1101は、2251のループ処理を繰り返す。つまり、2251のループ処理を繰り返している間は、パトロール動作が実行中である。
パトロールコントロールレジスタ2001にパトロール停止要求が設定されたと判定した場合には、コマンド制御部1101は、パトロール部1113によるパトロール動作を停止する(S2203)。
そして、コマンド制御部1101は、パトロールコントロールレジスタ2001にパトロール開始要求が設定されたか否かを判定する(S2205)。パトロールコントロールレジスタ2001にパトロール開始要求が設定されていないと判定した場合には、コマンド制御部1101は、2253のループ処理を繰り返す。つまり、2253のループ処理を繰り返している間は、パトロール動作が停止中である。
パトロールコントロールレジスタ2001にパトロール開始要求が設定されたと判定した場合には、コマンド制御部1101は、パトロール部1113によるパトロール動作を開始する(S2207)。そして、コマンド制御部1101は、2251のループ処理へ移行する。
以上で、実施の形態2におけるメモリアクセス制御回路505の説明を終える。続いて、実施の形態2におけるハイパーバイザー403の処理について説明する。実施の形態2におけるハイパーバイザー403のメイン処理フローは、図15に示した通りである。
実施の形態2では、実施の形態1で示した図16の通常モード初期化処理(A)に代えて、通常モード初期化処理(B)を行う。図23に、通常モード初期化処理(B)のフロー例を示す。
S1601〜S1607は、図16に示した通常モード初期化処理(A)の場合と同様である。通常モード初期化処理(B)では、更に、第1初期化部1431は、パトロールコントロールレジスタ2001からパトロール動作状態を読み取り、パトロール動作状態が実行中であるかあるいは停止中であるかを判定する(S2301)。パトロール動作状態が停止中であると判定した場合には、第1初期化部1431は、パトロールコントロールレジスタ2001にパトロール開始要求を設定する(S2303)。パトロール動作状態が実行中であると判定した場合には、パトロールコントロールレジスタ2001に対する操作は行なわず、処理を終了する。終了すると、図15のS1503へ戻る。
実施の形態2では、実施の形態1で示した図18の省電力モード初期化処理(A)に代えて、省電力モード初期化処理(B)を行う。図24に、省電力モード初期化処理(B)のフロー例を示す。
S1801〜S1807は、図18に示した省電力モード初期化処理(A)の場合と同様である。省電力モード初期化処理(B)では、更に、第2初期化部1451は、パトロールコントロールレジスタ2001からパトロール動作状態を読み取り、パトロール動作状態が実行中であるかあるいは停止中であるかを判定する(S2401)。パトロール動作状態が停止中であると判定した場合には、第2初期化部1451は、パトロールコントロールレジスタ2001にパトロール開始要求を設定する(S2403)。パトロール動作状態が実行中であると判定した場合には、パトロールコントロールレジスタ2001に対する操作は行なわず、処理を終了する。処理を終了すると、図15のS1511へ戻る。
通常モード処理は、実施の形態1で示した図17の処理と同様である。
実施の形態2では、実施の形態1で示した図19の省電力モード処理(A)に代えて、省電力モード処理(B1)を行う。図25Aと図25Bに、省電力モード処理(B1)のフロー例を示す。S1901とS1903の判定による2551のループ処理は、図19の1951のループ処理と同様に、パワーダウン状態(P2)に対応する。S1907とS1909の判定による2553のループ処理は、図19の1953のループ処理と同様に、セルフリフレッシュ状態(S1)に対応する。S1913の判定による2555のループ処理は、図19の1955のループ処理と同様に、セルフリフレッシュ状態(S2)に対応する。
また、パワーダウン状態(P2)からセルフリフレッシュ状態(S1)に移行する際に、パワーマネジメントレジスタ1105にセルフリフレッシュ開始要求を設定するS1905の処理と、パワーダウン状態(P2)からセルフリフレッシュ状態(S2)に移行する際に、パワーマネジメントレジスタ1105にセルフリフレッシュ開始要求を設定するS1911の処理と、セルフリフレッシュ状態(S2)からパワーダウン状態(P2)又はセルフリフレッシュ状態(S1)に移行する際に、パワーマネジメントレジスタ1105にセルフリフレッシュ停止要求を設定するS1915の処理は、図19に示した省電力モード処理(A)の場合と同様である。
実施の形態2では、S1905で、パワーマネジメントレジスタ1105にセルフリフレッシュ開始要求を設定した後に、第2判定部1453は、パワーマネジメントレジスタ1105のセルフリフレッシュ動作状態が実行中になったか否かを判定する(S2501)。パワーマネジメントレジスタ1105のセルフリフレッシュ動作状態が停止中である場合には、S2501の処理を繰り返し、パワーマネジメントレジスタ1105のセルフリフレッシュ動作状態が実行中になった場合に、第2要求部1455は、パトロールコントロールレジスタ2001にパトロール停止要求を設定する(S2503)。
同様に、S1911で、パワーマネジメントレジスタ1105にセルフリフレッシュ開始要求を設定した後に、第2判定部1453は、パワーマネジメントレジスタ1105のセルフリフレッシュ動作状態が実行中になったか否かを判定する(S2507)。パワーマネジメントレジスタ1105のセルフリフレッシュ動作状態が停止中である場合には、S2507の処理を繰り返し、パワーマネジメントレジスタ1105のセルフリフレッシュ動作状態が実行中になった場合に、第2要求部1455は、パトロールコントロールレジスタ2001にパトロール停止要求を設定する(S2509)。
更に、S1915で、パワーマネジメントレジスタ1105にセルフリフレッシュ停止要求を設定した後に、第2判定部1453は、パワーマネジメントレジスタ1105のセルフリフレッシュ動作状態が停止中になったか否かを判定し(S2511)、パワーマネジメントレジスタ1105のセルフリフレッシュ動作状態が実行中である場合には、S2511の処理を繰り返し、パワーマネジメントレジスタ1105のセルフリフレッシュ動作状態が停止中になった場合に、第2要求部1455は、パトロールコントロールレジスタ2001にパトロール開始要求を設定する(S2513)。
また、S1907で、メモリアクセス制御回路505による制御対象であるメモリ303の一部又は全体が所定の期間において使用されていると判定した場合には、実施の形態1で説明した通り、メモリアクセス制御回路505によるセルフリフレッシュの停止が行われているので、それに対応して、第2要求部1455は、パトロールコントロールレジスタ2001にパトロール開始要求を設定する(S2505)。
尚、図25Aに示したS1913の処理の後は、端子Aを介して図25BのS1915へ移る。また、図25Bに示したS2513の処理の後は、端子Bを介して図25AのS1901へ移る。
このように、実施の形態2におけるハイパーバイザー403は、セルフリフレッシュ機能に対する操作を行った場合に、セルフリフレッシュ動作状態の遷移を確認した上で、パトロール動作に対する制御も行う。従って、プログラムによりセルフリフレッシュに連動させて、パトロール動作を制御することができる。
[実施の形態3]
実施の形態2におけるメモリアクセス制御回路505とハイパーバイザー403の役割を継承し、実施の形態1及び2と異なる状態遷移を実現する例について説明する。実施の形態2と相違する点のみを説明する。その他については、実施の形態2と同様である。
図26に、実施の形態3における電力モードの概要を示す。実施の形態1に示した図6の電力モードの概要と比較し、実施の形態3において実現する状態遷移について説明する。
レコード2601に示す通常電力状態(N)、レコード2603に示すパワーダウン状態(P1)、レコード2605に示すパワーダウン状態(P2)及びレコード2609に示すセルフリフレッシュ状態(S2)については、図6に示したレコード601〜605及び609と同様である。レコード2607は、パトロールの有無の点に関して図6の607に示したセルフリフレッシュ状態(S1)と異なる。レコード2607では省電力モードにおいて、論理ドメインへのアサインあり且つメモリアクセス頻度が低い場合に、セルフリフレッシュ状態でパトロール動作を実行する。
実施の形態3では、実施の形態2の図25Aと図25Bに示した省電力モード処理(B1)に代えて、省電力モード処理(B2)を行う。
図27Aと図27Bに、省電力モード処理(B2)のフロー例を示す。実施の形態3におけるセルフリフレッシュ状態(S3)では、パトロール動作を停止しない。従って、S1905でセルフリフレッシュ機能を開始させた後で、図25に示したセルフリフレッシュ動作状態の判定(S2501)とパトロール停止要求(S2503)の処理を行わない。また、パトロール開始要求(S2505)の処理も行わない。
但し、セルフリフレッシュ状態(S3)からセルフリフレッシュ状態(S2)に移行する際には、パトロールを停止させる。そのため、S1909で制御対象であるメモリ303が論理ドメインへアサインされていないと判定した場合には、第2要求部1455は、パトロールコントロールレジスタ2001にパトロール停止要求を設定する(S2701)。
尚、図27Aに示したS1913の処理の後は、端子Cを介して図27BのS1915へ移る。また、図27Bに示したS2513の処理の後は、端子Dを介して図27AのS1901へ移る。
メモリ303が論理ドメインにアサインされているときに、メモリアクセス頻度が低いためにセルフリフレッシュによる待機中になったとしても、メモリ303で記憶しているデータを保証することができる。
[実施の形態4]
実施の形態1乃至3では、パワーダウン状態を初期状態としてセルフリフレッシュ状態との間で遷移する例を主に説明したが、実施の形態4及び5では、通常電力状態を初期状態としてセルフリフレッシュ状態との間で遷移する例について説明する。
また、実施の形態1乃至3では、通常モードと省電力モードの2つのモードに対応する例を示したが、電力モードは1つであってもよい。または、電力モードは3つ以上であってもよい。実施の形態4及び5では、電力モードを1つとする例について説明する。
実施の形態1と同様に、メモリアクセス制御回路505によるセルフリフレッシュ制御ルーチンでセルフリフレッシュ機能の起動とパトロール動作の停止を連動させ、更にセルフリフレッシュ機能の解除とパトロール動作の開始を連動させる構成を前提として説明する。
図28は、実施の形態4における電力モードの概要を示す図である。この例では、電力モードは、通常モードのみである。レコード2801とレコード2803は、通常モードにおける2つの状態を示している。レコード2801に示すように、論理ドメインへのアサインが有る場合には、メモリ状態を通常電力状態(N)でパトロールを行うように制御する。レコード2803に示すように、論理ドメインへのアサインが無い場合には、メモリ状態をセルフリフレッシュ状態(S4)でパトロールを行わないように制御する。
図29に、実施の形態4における通常モードにおける状態遷移を示す。メモリ状態が通常電力状態(N)2901で、メモリ303へのアクセスがあっても状態は移らない。メモリ状態が通常電力状態(N)2901で、メモリ303のセルフリフレッシュ機能を開始させると、メモリ状態がセルフリフレッシュ状態(S4)2903に移る。メモリ状態がセルフリフレッシュ状態(S4)2903で、メモリ303のセルフリフレッシュ機能を停止させると、メモリ状態が通常電力状態(N)2901に移る。メモリ状態がセルフリフレッシュ状態(S4)2903で、メモリ303へのアクセスがあった場合にも、メモリ状態が通常電力状態(N)2901に移る。
図30は、実施の形態4における通常モードにおける消費電力を示す。メモリ状態が通常電力状態(N)で、パトロール動作によるメモリ303へのアクセスがあっても消費電力3001は変化しない。メモリ303のセルフリフレッシュ機能を開始させ、パトロール動作を停止すると、消費電力3003は定常的に低く抑えられるようになる。再び、セルフリフレッシュ機能を停止させ、パトロール動作を開始すると、消費電力3001の状態に戻る。
ここで、比較のためにパトロールを停止しない場合も説明する。図31に、セルフリフレッシュ状態でパトロールを行う場合の消費電力を示す。セルフリフレッシュ機能を開始させても、パトロール動作を継続すると、パトロール動作によるメモリ303へのアクセスがある度に、消費電力3103が高くなる。そのため、図30の場合に比べて全体しての省電力の効果は小さい。
実施の形態4は、実施の形態1で示した図11のメモリアクセス制御回路505の構成を用いる。また、実施の形態4は、実施の形態1で示した図13のセルフリフレッシュ制御ルーチン(A)の処理を用いる。図14に示したハイパーバイザー403の構成のうち、第2モード制御部1405は省略してもよい。
図32に、実施の形態4におけるハイパーバイザー403のメイン処理フロー例を示す。第1初期化部1431は、通常モード初期化処理を行う(S3201)。具体的には、第1初期化部1431は、実施の形態1で示した図16の通常モード初期化処理(A)を行う。
続いて、通常モード処理を起動する(S3203)。 具体的には、第1初期化部1431は、実施の形態1で示した図17の通常モード処理(A1)に代えて、通常モード処理(A2)を行う。
図33に、通常モード処理(A2)のフロー例を示す。通常モード処理において、第1判定部1433と第1要求部1435は、図28のレコード2801に示した通常電力状態(N)を初期状態として、通常電力状態(N)とレコード2803に示したセルフリフレッシュ状態(S4)の間の遷移を制御する。
第1判定部1433は、メモリアクセス制御回路505による制御対象であるメモリ303が論理ドメインへアサインされているか否かを判定する(S3301)。メモリアクセス制御回路505による制御対象であるメモリ303が論理ドメインへアサインされていると判定した場合には、第1判定部1433は、3351のループ処理を繰り返す。このようにして、図28のレコード2801に示した状態、つまり論理ドメインへのアサインが有る通常電力状態(N)が継続されている間は、3351のループが繰り返される。
メモリアクセス制御回路505による制御対象であるメモリ303が論理ドメインへアサインされていないと判定した場合には、第1要求部1435は、パワーマネジメントレジスタ1105にセルフリフレッシュ開始要求を設定する(S3303)。これにより、セルフリフレッシュ機能が開始される。第1判定部1433は、制御対象であるメモリ303が論理ドメインへアサインされているか否かを判定する(S3305)。メモリアクセス制御回路505による制御対象であるメモリ303が論理ドメインへアサインされていないと判定した場合には、第1判定部1433は、3353のループ処理を繰り返す。このようにして、図28のレコード2803に示した状態、つまり論理ドメインへのアサインがないセルフリフレッシュ状態(S4)が継続されている間は、3353のループ処理が繰り返される。
メモリアクセス制御回路505による制御対象であるメモリ303が論理ドメインへアサインされていると判定した場合には、第1要求部1435は、パワーマネジメントレジスタ1105にセルフリフレッシュ停止要求を設定する(S3307)これにより、セルフリフレッシュ機能が停止される。そして、3351のループ処理へ戻る。
実施の形態4によれば、通常電力状態とセルフリフレッシュ状態との間で遷移する場合にも、メモリアクセス制御回路505によってセルフリフレッシュ状態におけるパトロール動作を省き、消費電力を削減することができる。
[実施の形態5]
実施の形態2及び3と同様に、ハイパーバイザー403の処理で、セルフリフレッシュ機能の起動とパトロール動作の停止を連動させ、更にセルフリフレッシュ機能の解除とパトロール動作の開始を連動させることによって、実施の形態4で示した状態の遷移を実現する例について説明する。
実施の形態5は、実施の形態2で示した図20のメモリアクセス制御回路505の構成を用いる。また、実施の形態5は、実施の形態2で示した図21のセルフリフレッシュ制御ルーチン(B)と図22のパトロール制御ルーチンの処理を用いる。メイン処理は、実施の形態4で示した図32の処理フローに従う。更に、実施の形態5は、実施の形態2で示した図23の通常モード初期化処理(B)を用いる。
実施の形態5では、実施の形態4で示した図33の通常モード処理(A2)に代えて、通常モード処理(B)を行う。
図34に、通常モード処理(B)のフロー例を示す。図33の通常モード処理(A1)と同様に、第1判定部1433と第1要求部1435は、図28のレコード2801に示した通常電力状態(N)を初期状態として、通常電力状態(N)とレコード2803に示したセルフリフレッシュ状態(S4)の間の遷移を制御する。
S3301とS3303は、図33と同様である。また、通常電力状態(N)におけるループ処理3451も、図33のループ処理3351と同様である。S3303でパワーマネジメントレジスタ1105にセルフリフレッシュ開始要求を設定すると、第1判定部1433は、セルフリフレッシュ動作状態が実行中になったか否かを判定する(S3401)。パワーマネジメントレジスタ1105のセルフリフレッシュ動作状態が実行中になっていない場合には、S3401の処理を繰り返す。パワーマネジメントレジスタ1105のセルフリフレッシュ動作状態が実行中になった場合に、第2要求部1455は、パトロールコントロールレジスタ2001にパトロール停止要求を設定する(S3403)。
更に、S3307で、パワーマネジメントレジスタ1105にセルフリフレッシュ停止要求を設定した後に、第2判定部1453は、パワーマネジメントレジスタ1105のセルフリフレッシュ動作状態が停止中になったか否かを判定し(S3405)、パワーマネジメントレジスタ1105のセルフリフレッシュ動作状態が停止中になっていない場合には、S3405の処理を繰り返す。パワーマネジメントレジスタ1105のセルフリフレッシュ動作状態が停止中になった場合に、第2要求部1455は、パトロールコントロールレジスタ2001にパトロール開始要求を設定する(S3407)。
このように、通常電力状態とセルフリフレッシュ状態との間で遷移する場合にも、コア501が実行するハイパーバイザー403の制御によってセルフリフレッシュ状態におけるパトロール動作を省き、消費電力を削減することができる。
以上本発明の一実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上述の機能ブロック構成は必ずしも実際のプログラムモジュール構成に対応するものではない。
また、上で説明した各記憶領域の構成は一例であって、上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしても良い。
上述の実施の形態では、サーバ装置201を例として説明したが、パーソナルコンピュータ装置や携帯端末装置などのコンピュータ装置において実施することもできる。以下にコンピュータ装置の機能構成図を示す。図35に示すように、メモリ3501とCPU(Central Processing Unit)3503とハードディスク・ドライブ(HDD:Hard Disk Drive)3505と表示装置3509に接続される表示制御部3507とリムーバブル・ディスク3511用のドライブ装置3513と入力装置3515とネットワークに接続するための通信制御部3517とがバス3519で接続されている。オペレーティング・システム(OS:Operating System)及び本実施例における処理を実施するためのアプリケーション・プログラムは、HDD3505に格納されており、CPU3503により実行される際にはHDD3505からメモリ3501に読み出される。CPU3503は、アプリケーション・プログラムの処理内容に応じて表示制御部3507、通信制御部3517、ドライブ装置3513を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ3501に格納されるが、HDD3505に格納されるようにしてもよい。プログラムはコンピュータ読み取り可能なリムーバブル・ディスク3511に格納されて頒布され、ドライブ装置3513からHDD3505にインストールされるようにしてもよい。インターネットなどのネットワーク及び通信制御部3517を経由して、HDD3505にインストールされるようにしてもよい。このようなコンピュータ装置は、上で述べたCPU3503、メモリ3501などのハードウエアとOS、ファームウエア及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、各種機能を実現する。この例で、CPU3503がメモリ制御ユニットに相当し、制御されるメインメモリはメモリ3501の一部に含まれる。また、ファームウエアを記憶するファーム用メモリもメモリ3501の一部に含まれる。
以上述べた実施の形態をまとめると、以下のようになる。
本実施の形態に係る情報処理装置は、セルフリフレッシュ機能を備える一又は複数のメモリと、一又は複数のメモリのセルフリフレッシュを開始させた場合に、一又は複数のメモリに対する読み出しおよびエラー訂正を行うパトロールを停止し、一又は複数のメモリのセルフリフレッシュを停止させた場合に、一又は複数のメモリに対するパトロールを再開するメモリ制御ユニットとを含む。
このようにすれば、メモリがセルフリフレッシュを実行し、待機している状態における消費電力を削減し、情報処理装置全体としての電力消費を抑制することができる。
また、一又は複数のメモリへのアクセス要求がある場合に、メモリ制御ユニットは、一又は複数のメモリのセルフリフレッシュを停止させ、一又は複数のメモリに対するパトロールを再開するようにしてもよい。
このようにすれば、メモリが待機状態から復帰する場合に、自動的にパトロールを再開させることができる。
また、一又は複数のメモリが論理ドメインに割り当てられていない場合に、メモリ制御ユニットは、一又は複数のメモリのセルフリフレッシュを開始させ、一又は複数のメモリが論理ドメインに割り当てられている場合に、メモリ制御ユニットは、一又は複数のメモリのセルフリフレッシュを停止させるようにしてもよい。
このようにすれば、メモリが使用されない状況における消費電力を抑制することができる。
一又は複数のメモリが論理ドメインに割り当てられている場合であっても、一又は複数のメモリへのアクセスの頻度が所定の閾値以下のときには、メモリ制御ユニットは、一又は複数のメモリのセルフリフレッシュを開始させるようにしてもよい。
このようにすれば、メモリが実際に使用されていない状況における消費電力を抑制することができる。
また、一又は複数のメモリが論理ドメインに割り当てられている場合であっても、一又は複数のメモリへのアクセスの頻度が所定の閾値以下のときには、メモリ制御ユニットは、一又は複数のメモリのセルフリフレッシュを開始させ、一又は複数のメモリに対するパトロールを継続して動作させるようにしてもよい。
このようにすれば、メモリが実際に使用されていない状況における消費電力を抑制しつつ、待機状態から復帰したときにメモリに記憶されているデータを保証することができる。
本実施の形態に係るメモリ制御ユニットは、メモリ制御ユニットに接続されているセルフリフレッシュ機能を備える一又は複数のメモリに対する読み出しおよびエラー訂正を行うパトロールを行うパトロール部と、メモリ制御ユニットに接続されている一又は複数のメモリのセルフリフレッシュを開始させた場合に、一又は複数のメモリに対するパトロールを停止し、一又は複数のメモリのセルフリフレッシュを停止させた場合に、一又は複数のメモリに対するパトロールを再開する制御部とを有する。
このようにすれば、メモリがセルフリフレッシュを実行し、待機している状態におけるパトロールに伴う消費電力を削減することができる。
また、上記制御部は、一又は複数のメモリへのアクセス要求がある場合に、一又は複数のメモリのセルフリフレッシュを停止させ、一又は複数のメモリに対するパトロールを再開するようにしてもよい。
このようにすれば、メモリが待機状態から復帰する場合に、自動的にパトロールを再開させることができる。
また、上記制御部は、一又は複数のメモリに接続されている一又は複数のメモリアクセス制御回路であってもよい。
このようにすれば、回路によりセルフリフレッシュに連動させて、パトロールを制御することができる。
また、上記制御部は、演算処理を行う演算部を有し、演算部は、一又は複数のメモリのセルフリフレッシュを開始させた場合に、一又は複数のメモリに対するパトロールを停止する処理と、一又は複数のメモリのセルフリフレッシュを停止させた場合に、一又は複数のメモリに対するパトロールを再開する処理とを実行させるための制御プログラムに従って処理を実行するようにしてもよい。
このようにすれば、プログラムによりセルフリフレッシュに連動させて、パトロールを制御することができる。
なお、上で述べたような処理をコンピュータ又はプロセッサに実施させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブル・ディスク、CD−ROMなどの光ディスク、光磁気ディスク、半導体メモリ(例えばフラッシュメモリ、ROM)、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。なお、処理途中のデータについては、RAM等の記憶装置に一時保管される。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
セルフリフレッシュ機能を備える一又は複数のメモリと、
前記一又は複数のメモリのセルフリフレッシュを開始させた場合に、前記一又は複数のメモリに対する読み出しおよびエラー訂正を行うパトロールを停止し、前記一又は複数のメモリのセルフリフレッシュを停止させた場合に、前記一又は複数のメモリに対するパトロールを再開するメモリ制御ユニットと
を含む情報処理装置。
(付記2)
前記一又は複数のメモリへのアクセス要求がある場合に、前記メモリ制御ユニットは、前記一又は複数のメモリのセルフリフレッシュを停止させ、前記一又は複数のメモリに対するパトロールを再開する
付記1記載の情報処理装置。
(付記3)
前記一又は複数のメモリが論理ドメインに割り当てられていない場合に、前記メモリ制御ユニットは、前記一又は複数のメモリのセルフリフレッシュを開始させ、
前記一又は複数のメモリが論理ドメインに割り当てられている場合に、前記メモリ制御ユニットは、前記一又は複数のメモリのセルフリフレッシュを停止させる
付記1又は2記載の情報処理装置。
(付記4)
前記一又は複数のメモリが論理ドメインに割り当てられている場合であっても、前記一又は複数のメモリへのアクセスの頻度が所定の閾値以下のときには、前記メモリ制御ユニットは、前記一又は複数のメモリのセルフリフレッシュを開始させる
付記3記載の情報処理装置。
(付記5)
前記一又は複数のメモリが論理ドメインに割り当てられている場合であっても、前記一又は複数のメモリへのアクセスの頻度が所定の閾値以下のときには、前記メモリ制御ユニットは、前記一又は複数のメモリのセルフリフレッシュを開始させ、前記一又は複数のメモリに対するパトロールを継続して動作させる
付記3記載の情報処理装置。
(付記6)
メモリ制御ユニットに接続されているセルフリフレッシュ機能を備える一又は複数のメモリに対する読み出しおよびエラー訂正を行うパトロールを行うパトロール部と、
メモリ制御ユニットに接続されている一又は複数のメモリのセルフリフレッシュを開始させた場合に、前記一又は複数のメモリに対するパトロールを停止し、前記一又は複数のメモリのセルフリフレッシュを停止させた場合に、前記一又は複数のメモリに対するパトロールを再開する制御部と
を有するメモリ制御ユニット。
(付記7)
前記制御部は、前記一又は複数のメモリへのアクセス要求がある場合に、前記一又は複数のメモリのセルフリフレッシュを停止させ、前記一又は複数のメモリに対するパトロールを再開する
付記6記載のメモリ制御ユニット。
(付記8)
前記制御部は、前記一又は複数のメモリに接続されている一又は複数のメモリアクセス制御回路である
付記6記載のメモリ制御ユニット。
(付記9)
前記制御部は、
演算処理を行う演算部を有し、
前記演算部は、前記一又は複数のメモリのセルフリフレッシュを開始させた場合に、前記一又は複数のメモリに対するパトロールを停止する処理と、前記一又は複数のメモリのセルフリフレッシュを停止させた場合に、前記一又は複数のメモリに対するパトロールを再開する処理とを実行させるための制御プログラムに従って処理を実行する
付記6記載のメモリ制御ユニット。
(付記10)
セルフリフレッシュ機能を備える一又は複数のメモリのセルフリフレッシュを開始させた場合に、前記一又は複数のメモリに対する読み出しおよびエラー訂正を行うパトロールを停止する処理と
前記一又は複数のメモリのセルフリフレッシュを停止させた場合に、前記一又は複数のメモリに対するパトロールを再開する処理と
を含む処理をメモリ制御ユニットの演算部により実行するメモリ制御方法。
(付記11)
セルフリフレッシュ機能を備える一又は複数のメモリのセルフリフレッシュを開始させた場合に、前記一又は複数のメモリに対する読み出しおよびエラー訂正を行うパトロールを停止する処理と、
前記一又は複数のメモリのセルフリフレッシュを停止させた場合に、前記一又は複数のメモリに対するパトロールを再開する処理と
をメモリ制御ユニットの演算部に実行させる制御プログラム。
201 サーバ装置 203 システムボード
205 スイッチ 207 物理パーティション
301 CPUユニット 303 メモリ
305 IOポート 307 ファーム用メモリ
401 ファーム層 403 ハイパーバイザー
405 論理ドメイン 407 オペレーティングシステム
409 アプリケーション 501 コア
503 キャッシュユニット 505 メモリアクセス制御回路
1101 コマンド制御部 1103 制御レジスタ
1105 パワーマネジメントレジスタ
1107 IO部 1109 データ制御部
1111 リクエストキュー 1113 パトロール部
1115 パトロールデータチェック部 1401 受付部
1403 第1モード制御部 1405 第2モード制御部
1431 第1初期化部 1433 第1判定部
1435 第1要求部 1451 第2初期化部
1453 第2判定部 1455 第2要求部
2001 パトロールコントロールレジスタ

Claims (8)

  1. セルフリフレッシュ機能を備えるモリと、
    前記メモリを含む物理パーティションの電力モードが省電力を実現するための第1のモードに設定されており、且つ、前記セルフリフレッシュ機能の実行によって前記モリセルフリフレッシュ状態にある場合に、前記モリに対する読み出しおよびエラー訂正を行うパトロールを停止し、
    前記メモリを含む物理パーティションの電力モードが前記第1のモードに設定されており、且つ、前記セルフリフレッシュ機能の実行の停止によって前記メモリが回路の一部が停止した状態であるパワーダウン状態にある場合に、前記モリに対する前記パトロールを実行するメモリ制御ユニットと
    を含む情報処理装置。
  2. 前記モリへのアクセスの頻度が前記閾値以下であるか又は前記メモリが論理ドメインに割り当てられていない場合に、前記メモリ制御ユニットは、前記セルフリフレッシュ機能を実行させ、
    前記メモリへのアクセスの頻度が閾値より大きく且つ前記メモリが論理ドメインに割り当てられている場合に、前記メモリ制御ユニットは、前記セルフリフレッシュ機能の実行を停止させる、
    請求項1記載の情報処理装置。
  3. 前記メモリを含む物理パーティションの電力モードが前記第1のモードより省電力の程度が小さい第2のモードに設定されている場合に、前記メモリ制御ユニットは、前記メモリに対する前記パトロールを実行する、
    請求項1又は2記載の情報処理装置。
  4. 前記メモリがパワーダウン機能をさらに備え、
    前記メモリを含む物理パーティションの電力モードが前記第2のモードに設定されており、且つ、前記モリが論理ドメインに割り当てられていない場合に、前記メモリ制御ユニットは、前記パワーダウン機能の実行によって前記メモリを前記パワーダウン状態にし
    前記メモリを含む物理パーティションの電力モードが前記第2のモードに設定されており、且つ、前記モリが論理ドメインに割り当てられている場合に、前記メモリ制御ユニットは、前記パワーダウン機能の実行の停止によって前記メモリを回路全体が動作する状態にする、
    請求項記載の情報処理装置。
  5. メモリ制御ユニットに接続され且つセルフリフレッシュ機能を備えるモリに対する読み出しおよびエラー訂正を行うパトロールを行うパトロール部と、
    前記メモリを含む物理パーティションの電力モードが省電力を実現するための第1のモードに設定されており、且つ、前記セルフリフレッシュ機能の実行によって前記メモリセルフリフレッシュ状態にある場合に、前記モリに対する前記パトロールを前記パトロール部に停止させ
    前記メモリを含む物理パーティションの電力モードが前記第1のモードに設定されており、且つ、前記セルフリフレッシュ機能の実行の停止によって前記メモリが回路の一部が停止した状態であるパワーダウン状態にある場合に、前記モリに対する前記パトロールを前記パトロール部に実行させる制御部と
    を有するメモリ制御ユニット。
  6. 前記制御部は、前記モリへのアクセスの頻度が前記閾値以下であるか又は前記メモリが論理ドメインに割り当てられていない場合に、前記セルフリフレッシュ機能を実行させ、前記メモリへのアクセスの頻度が閾値より大きく且つ前記メモリが論理ドメインに割り当てられている場合に、前記セルフリフレッシュ機能の実行を停止させる
    請求項記載のメモリ制御ユニット。
  7. セルフリフレッシュ機能を備えるモリの前記セルフリフレッシュ機能の実行によって前記メモリがセルフリフレッシュ状態にあり、且つ、前記メモリを含む物理パーティションの電力モードが省電力を実現するための第1のモードに設定されている場合に、前記モリに対する読み出しおよびエラー訂正を行うパトロールを停止する処理と
    前記セルフリフレッシュ機能の実行の停止によって前記モリが回路の一部が停止した状態であるパワーダウン状態にあり、且つ、前記メモリを含む物理パーティションの電力モードが前記第1のモードに設定されている場合に、前記モリに対する前記パトロールを実行する処理と
    モリ制御ユニット実行するメモリ制御方法。
  8. セルフリフレッシュ機能を備えるモリの前記セルフリフレッシュ機能の実行によって前記メモリがセルフリフレッシュ状態にあり、且つ、前記メモリを含む物理パーティションの電力モードが省電力を実現するための第1のモードに設定されている場合に、前記モリに対する読み出しおよびエラー訂正を行うパトロールを停止する処理と、
    前記セルフリフレッシュ機能の実行の停止によって前記モリが回路の一部が停止した状態であるパワーダウン状態にあり、且つ、前記メモリを含む物理パーティションの電力モードが前記第1のモードに設定されている場合に、前記モリに対する前記パトロールを実行する処理と
    をメモリ制御ユニット実行させる制御プログラム。
JP2012191113A 2012-08-31 2012-08-31 情報処理装置、メモリ制御ユニット、メモリ制御方法および制御プログラム Active JP5978860B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2012191113A JP5978860B2 (ja) 2012-08-31 2012-08-31 情報処理装置、メモリ制御ユニット、メモリ制御方法および制御プログラム
EP13180054.2A EP2704016A3 (en) 2012-08-31 2013-08-12 Memory control technique
US13/970,640 US20140068166A1 (en) 2012-08-31 2013-08-20 Memory control technique

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012191113A JP5978860B2 (ja) 2012-08-31 2012-08-31 情報処理装置、メモリ制御ユニット、メモリ制御方法および制御プログラム

Publications (2)

Publication Number Publication Date
JP2014048881A JP2014048881A (ja) 2014-03-17
JP5978860B2 true JP5978860B2 (ja) 2016-08-24

Family

ID=48985990

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012191113A Active JP5978860B2 (ja) 2012-08-31 2012-08-31 情報処理装置、メモリ制御ユニット、メモリ制御方法および制御プログラム

Country Status (3)

Country Link
US (1) US20140068166A1 (ja)
EP (1) EP2704016A3 (ja)
JP (1) JP5978860B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140337650A1 (en) * 2013-05-09 2014-11-13 Lsi Corporation System and Method for Power Management in a Multiple-Initiator Storage System
JP6180450B2 (ja) * 2015-02-02 2017-08-16 キヤノン株式会社 制御装置、制御装置の制御方法及びプログラム
US9952802B2 (en) * 2015-02-20 2018-04-24 Khalifa University of Science and Technology Volatile memory erasure by controlling refreshment of stored data
US10665305B2 (en) 2015-09-09 2020-05-26 Toshiba Memory Corporation Host device connectable to memory device performing patrol read and memory device performing patrol read
KR20210026201A (ko) 2019-08-29 2021-03-10 삼성전자주식회사 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 이의 리페어 제어 방법
US11567557B2 (en) * 2019-12-30 2023-01-31 Advanced Micro Devices, Inc. Electrical power operating states for core logic in a memory physical layer
JP7428689B2 (ja) * 2021-12-17 2024-02-06 華邦電子股▲ふん▼有限公司 メモリシステム

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH087995B2 (ja) * 1985-08-16 1996-01-29 富士通株式会社 ダイナミツク半導体記憶装置のリフレツシユ方法および装置
JPH04372790A (ja) * 1991-06-21 1992-12-25 Sharp Corp 半導体記憶装置
JP2546163B2 (ja) * 1993-08-11 1996-10-23 日本電気株式会社 半導体記憶装置
JPH1196760A (ja) * 1997-09-24 1999-04-09 Fujitsu Ltd 半導体記憶装置
JPH11345486A (ja) * 1998-06-01 1999-12-14 Mitsubishi Electric Corp セルフ・リフレッシュ制御回路を備えたdramおよびシステムlsi
US6292869B1 (en) * 1998-08-31 2001-09-18 International Business Machines Corporation System and method for memory scrub during self timed refresh
JP2002056671A (ja) * 2000-08-14 2002-02-22 Hitachi Ltd ダイナミック型ramのデータ保持方法と半導体集積回路装置
JP3726660B2 (ja) * 2000-09-01 2005-12-14 セイコーエプソン株式会社 半導体メモリ装置のリフレッシュ制御
US6947345B2 (en) * 2001-04-02 2005-09-20 Nec Electronics Corporation Semiconductor memory device
JP2003068076A (ja) * 2001-08-27 2003-03-07 Elpida Memory Inc 半導体記憶装置の電力制御方法及び半導体記憶装置
US6625077B2 (en) * 2001-10-11 2003-09-23 Cascade Semiconductor Corporation Asynchronous hidden refresh of semiconductor memory
JP4205396B2 (ja) * 2002-10-30 2009-01-07 エルピーダメモリ株式会社 半導体集積回路装置
JP2005310245A (ja) * 2004-04-20 2005-11-04 Seiko Epson Corp メモリコントローラ、半導体集積回路装置、マイクロコンピュータ及び電子機器
US7221613B2 (en) * 2004-05-26 2007-05-22 Freescale Semiconductor, Inc. Memory with serial input/output terminals for address and data and method therefor
JP4237109B2 (ja) * 2004-06-18 2009-03-11 エルピーダメモリ株式会社 半導体記憶装置及びリフレッシュ周期制御方法
JP4191100B2 (ja) * 2004-06-18 2008-12-03 エルピーダメモリ株式会社 半導体記憶装置
US7321521B2 (en) * 2004-07-02 2008-01-22 Seagate Technology Llc Assessing energy requirements for a refreshed device
US20070022244A1 (en) * 2005-07-25 2007-01-25 Honeywell International Inc. Methods and systems for refresh and error scrubbing of dynamic memory devices
US7433261B2 (en) * 2005-10-17 2008-10-07 Infineon Technologies Ag Directed auto-refresh for a dynamic random access memory
US20070086261A1 (en) * 2005-10-17 2007-04-19 Freebern Margaret C Directed auto-refresh for a dynamic random access memory
JP4967452B2 (ja) * 2006-05-18 2012-07-04 富士通セミコンダクター株式会社 半導体メモリ
US7739461B2 (en) * 2007-07-10 2010-06-15 International Business Machines Corporation DRAM power management in a memory controller
KR20090124506A (ko) * 2008-05-30 2009-12-03 삼성전자주식회사 피크 전류를 감소시키기 위한 리프레쉬 회로를 가지는반도체 메모리 장치 및 그에 따른 워드라인 액티베이팅방법
JP5742508B2 (ja) * 2011-06-27 2015-07-01 富士通セミコンダクター株式会社 半導体メモリ、システムおよび半導体メモリの動作方法

Also Published As

Publication number Publication date
JP2014048881A (ja) 2014-03-17
EP2704016A3 (en) 2014-10-29
EP2704016A2 (en) 2014-03-05
US20140068166A1 (en) 2014-03-06

Similar Documents

Publication Publication Date Title
JP5978860B2 (ja) 情報処理装置、メモリ制御ユニット、メモリ制御方法および制御プログラム
JP5229326B2 (ja) マルチコアcpuにおける消費電力制御方法,消費電力制御プログラム及び情報処理システム
US9110669B2 (en) Power management of a storage device including multiple processing cores
US20150121134A1 (en) Storage device failover
JP5754037B2 (ja) ランク別巡回冗長検査
US10482943B2 (en) Systems and methods for improved error correction in a refreshable memory
US8402259B2 (en) Accelerating wake-up time of a system
US20100106904A1 (en) Shadow raid cache memory
US20160110127A1 (en) Enabling non-volatile random access to data
US20180150233A1 (en) Storage system
US20110225465A1 (en) Managing Memory Refreshes
US9972376B2 (en) Memory device for interruptible memory refresh
JP4806084B1 (ja) 情報処理装置
US20180074907A1 (en) Partial backup during runtime for memory modules with volatile memory and non-volatile memory
JP6612867B2 (ja) ハードドライブ電力消費を制御し、ハードドライブ電力消費の管理サービスを制御するための方法及び装置
US20170308313A1 (en) Memory system power management
JP2010211318A (ja) デバイス管理装置、デバイス初期化方法、デバイス初期化プログラムおよびデバイスシステム
US10096353B2 (en) System and memory controller for interruptible memory refresh
US20170351616A1 (en) System and Method for Sleeping States Using Non-Volatile Memory Components
US9201748B2 (en) Virtual device sparing
US20120215966A1 (en) Disk array unit and control method thereof
US20130073792A1 (en) Electronic apparatus using nand flash and memory management method thereof
KR20230095692A (ko) 메모리 프로세서 제어 방법 및 장치
US9361968B2 (en) Non-volatile random access memory power management using self-refresh commands
US20180033469A1 (en) Memory device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150512

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160309

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160315

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160516

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: 20160628

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160711

R150 Certificate of patent or registration of utility model

Ref document number: 5978860

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150