JP2011118900A - システムの立ち上げ時間を早めるための方法、装置およびコンピュータ・プログラム - Google Patents

システムの立ち上げ時間を早めるための方法、装置およびコンピュータ・プログラム Download PDF

Info

Publication number
JP2011118900A
JP2011118900A JP2010261822A JP2010261822A JP2011118900A JP 2011118900 A JP2011118900 A JP 2011118900A JP 2010261822 A JP2010261822 A JP 2010261822A JP 2010261822 A JP2010261822 A JP 2010261822A JP 2011118900 A JP2011118900 A JP 2011118900A
Authority
JP
Japan
Prior art keywords
memory
partition
node
minimum
allocation
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
JP2010261822A
Other languages
English (en)
Other versions
JP2011118900A5 (ja
JP5669531B2 (ja
Inventor
Venkatesh Sainath
サイナス・ヴェンカテッシュ
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2011118900A publication Critical patent/JP2011118900A/ja
Publication of JP2011118900A5 publication Critical patent/JP2011118900A5/ja
Application granted granted Critical
Publication of JP5669531B2 publication Critical patent/JP5669531B2/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
    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1417Boot up procedures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】システムの立ち上げ時間を早めるための方法を提供する。
【解決手段】システム上にストアされたオペレーティング・システムの起動動作と並行しかつその後に、追加量のメモリを割り当てのためにスクラビングして利用することができるようにするステップとを含む。システムは、各々が最少ノード資源構成に関連付けられた1個もしくは複数個のノードを含むことができ、前記最少ノード資源構成は、前記ノードを活性化するために、活性化される必要のあるノードに含まれる最少数のプロセッサに対応する。システムは、各パーティションが少なくとも1個のノードを包含する1個もしくは複数個のパーティションを更に含むことができる。各パーティションには他のパーティションに対する優先度が割り当てられることができ、そのパーティションはその割り当てられた優先度に基づき活性化される。
【選択図】図2

Description

本発明は概略、メモリ・スクラビングに関し、特にシステムの立ち上げ(wake-up)時間を早めるように適用された方法、装置およびコンピュータ・プログラムに関する。
今日のコンピュータ・メモリ・チップの集積密度が高くなるとともに、個々のメモリ・セル構造のサイズが小さくなる結果として、個々のメモリ・セルは宇宙線やアルファ粒子放出により引き起こされるビット・エラーに対し益々脆弱になっている。そのようなビット・エラーはソフト・エラーとして知られている。個々のメモリ・ビットでソフト・エラーが生じる可能性は小さいが、コンピュータ、特にサーバーに大量のメモリが存在するとすれば、総体としてインストールされたメモリにおけるソフト・エラーの可能性は非常に大きい。
従来のシステムでは1個もしくは複数個のテスト・パターンを用いるメモリ・スクラビングはシステム上にインストールされた1個もしくは複数個のオペレーティング・システムの起動動作を開始し、そしてそのシステムをランタイム状態に移行する前にそのシステムのメモリ全体で行われる。ホスト・オペレーティング・システムのローディングの後に、そのシステム上に定義される1個もしくは複数個のパーティションが活性化されてもよいが、そのようなシステムは効率的でない。何故ならば全てのメモリがそのメモリによりたまたま使用されることになるかどうかに関係なく、そのシステムをランタイム(実行時)状態に移行させる前にそのシステムのメモリ全体をスクラビングする必要があるからである。
本発明の目的は上記のような効率的でない従来のシステムを改良することにある。
本発明の一側面は、システムの立ち上げ時間を早める方法を含む。この方法は、スクラビングして、最少量のメモリを割り当てのために利用可能にするステップと、前記システム上にストアされたオペレーティング・システムの起動動作を実行するステップと、前記オペレーティング・システムの前記起動動作と並行しかつその後に、スクラビングして、追加量のメモリを割り当てのために利用可能にするステップとを含む。
本発明の他の側面は、複数個のメモリ・ユニットと、1個のメモリ・ユニットにおいてメモリをスクラブするように構成され、割り当てのために利用することができるようにされたスクラビング・ユニットと、オペレーティング・システムとを含む。前記スクラビング・ユニットはスクラブして、最少量のメモリを割り当てのために利用することができるようにし、前記オペレーティング・システムの起動動作は前記最少量のメモリがスクラブされかつ割り当てのために利用可能にされた後に実行される。更に、前記オペレーティング・システムの起動動作の実行と並行しかつその後に、前記スクラビング・ユニットがスクラブし、追加量のメモリを割り当てのために利用可能にする。
本発明の他の側面からみたシステムは、各々が最少ノード資源構成に関連付けられた複数個のノードと、前記複数個のノードのうちの少なくとも1個を包含する少なくとも1個のパーティションと、前記複数個のノードの各々に含まれる複数個のプロセッサと、前記複数個のプロセッサの各々に含まれる複数個のコアと、複数個のメモリ・コントローラとを含む。前記複数個のコアの各々が前記複数個のメモリ・コントローラのうちの少なくとも1個のメモリ・コントローラにインターフェースで結合し、前記複数個のメモリ・コントローラの各々が少なくとも1個のメモリ・ユニットを制御し、かつ前記最少ノード資源構成が、前記ノードを活性化するために、活性化される必要のあるノードに含まれる最少数のプロセッサに対応する。
本発明の他の側面は、システムの立ち上げ時間を早めるためのプロセスを含むコンピュータ・プログラムである。そのプロセスは、コンピュータにより実行されることで、当該コンピュータに、スクラビングして、最少量のメモリを割り当てのために利用することができるようにするステップと、前記システム上にストアされたオペレーティング・システムの起動動作を実行するステップと、前記オペレーティング・システムの前記起動動作と並行しかつその後に、スクラビングして、追加量のメモリを割り当てのために利用することができるようにするステップとを実行させることができる。
前述した側面による一つまたは複数の実施形態のシステムは、各々が少なくとも1個のノードを包含する複数個のパーティションを更に含んでもよい。またその少なくとも1個のノードは、最少ノード資源構成に関連付けられたノードであって、前記最少ノード資源構成が確立される条件で前記ノードが活性化されるようにすることができる。更に、前記複数個のパーティションの各々に他のパーティションとの関係で優先度が割り当てられ、該割り当てられた優先度に基づいて前記複数個のパーティションが成功裡に活性化されてもよい。
本発明の1個もしくは複数個の実施形態に従ったシステムを説明するブロック図である。 本発明の1個もしくは複数個の実施形態に従った方法を説明するフローチャートである。 本発明の1個もしくは複数個の実施形態に従った方法を説明するフローチャートである。 本発明の1個もしくは複数個の実施形態に従った方法を説明するフローチャートである。
本発明の前記およびその他の実施形態は、添付図面に関連させて詳細に説明する。
当業者に知られているように、本発明は、システム、方法、コンピュータ・プログラムとして具体化され得る。
従って、本発明は、完全にハードウエアの実施形態、完全にソフトウエアの実施形態(ファームウエア、常駐ソフトウエア、マイクロコード等を含む)、またはソフトウエアおよびハードウエアの両側面を組み合わせた実施形態であって、両側面を含めて「回路」、「モジュール」または「システム」としてここでは言及され得る形態のいずれかの形式を取ることができる。更に、本発明の他の捉え方は、コンピュータ・プログラム・コードを内蔵させた1個もしくは複数個のコンピュータ可読媒体において具体化されるコンピュータ・プログラムの形式を取ることもできる。
1つもしくは複数のコンピュータ可読媒体の任意の組み合わせが使用されることができる。コンピュータ可読媒体はコンピュータ可読信号媒体またはコンピュータ可読ストレージ媒体であってよい。コンピュータ可読ストレージ媒体は、例えば、以下に限定されるものではないが、電子的、磁気的、光学的、電磁気的、赤外線の、または半導体のシステム、装置、デバイス、または前述のものの任意の適当な組み合わせであってよい。コンピュータ可読ストレージ媒体のもっと具体的な例(全ては網羅していないリスト)は、1本もしくは複数本のワイヤ、ポータブル・コンピュータ・ディスケット、ハードディスク、ランダム・アクセス・メモリ(RAM)、読出し専用メモリ(ROM)、消去可能なプログラマブル読出し専用メモリ(EPROMまたはフラッシュ・メモリ)、光ファイバ、ポータブル・コンパクト・ディスク読出し専用メモリ(CDROM)、光ストレージ・デバイス、磁気ストレージ・デバイス、または前述のものの任意の適当な組み合わせを含む。本実施形態のコンテキストでは、コンピュータ可読ストレージ媒体は、命令実行システム、装置もしくはデバイスによりまたはそれと関連して使用されるプログラムをストアしあるいは含むことができる具体的な媒体であってよい。
本発明の実施形態の動作を実行するためのコンピュータ・プログラム・コードは、Java(登録商標)、Smalltalk(登録商標)、C++など、オブジェクト指向のプログラミング言語、およびCプログラミング言語もしくは類似のプログラミング言語など、従来からある手続きプログラミング言語を含む1つもしくは複数のプログラミング言語の任意の組み合わせで記述されてもよい。そのプログラム・コードは、スタンドアローンのソフトウエア・パッケージとして、ユーザーのコンピュータ上で完全にもしくは部分的に実行されてもよいし、または部分的にユーザーのコンピュータ上、かつ部分的に遠隔のコンピュータ上で実行されてもよいし、あるいは遠隔のコンピュータまたはサーバー上で完全に実行されてもよい。後者のシナリオでは、遠隔のコンピュータがユーザーのコンピュータに任意の型のネットワーク、例えばローカル・エリア・ネットワーク(LAN)、ワイド・エリア・ネットワーク(WAN)を介して接続されていてもよい。あるいは外部コンピュータ(例えば、インターネット・サービス・プロバイダを用いるインターネットを介して)その接続がなされていてもよい。
本発明の実施例による方法、装置(システム)およびコンピュータ・プログラムのフローチャートおよび/もしくはブロック図を参照して本発明を説明する。フローチャートおよび/もしくはブロック図の各ブロックおよびそれらのブロックの組合せがコンピュータ・プログラム命令によって実施され得ることが理解されよう。これらのコンピュータ・プログラム命令は、コンピュータもしくは他のプログラマブル・データ処理装置のプロセッサを介して実行する命令がフローチャートおよび/もしくはブロック図の1個もしくは複数個のブロックで特定される機能/アクションを実行するための手段を生じるようなマシーンを提供するために、汎用目的のコンピュータ、特定目的のコンピュータまたは他のプログラマブル・データ処理装置のプロセッサに提供されてもよい。
これらのコンピュータ・プログラム命令はまたコンピュータ可読媒体にストアされてもよい。これはコンピュータもしくは他のプログラマブル・データ処理装置に特定の態様で機能するように指示することができ、その結果、コンピュータ可読媒体にストアされた命令が、フローチャートおよび/もしくはブロック図の1個もしくは複数個のブロックで特定される機能/アクションを実行する命令手段を含む製品(an article of manufacture)をもたらすようにするものである。このコンピュータ・プログラム命令はまた、一連の動作ステップがコンピュータもしくは他のプログラマブル・データ処理装置上で実行させられるようにコンピュータまたは他のプログラムマブル・データ処理装置上にロードされてもよい。これはコンピュータもしくは他のプログラマブル装置上で実行する命令が、フローチャートおよび/もしくはブロック図の1個もしくは複数個のブロックで特定される機能/アクションを実行するためのプロセスを提供するようなコンピュータ実装プロセスを生じるためである。
図1を参照すると、本発明の1個もしくは複数個の実施形態に従うシステムが1個もしくは複数個のノード110を内部に有するサーバー100を含む。このノード110はまたノード・ブック、プロセッサ・ブックまたはドロワーとも呼ばれる。各ノード110は1個もしくは複数個のプロセッサ120を含み、各プロセッサ120は1個もしくは複数個のコア130を含む。各コア130は1個もしくは複数個のメモリ・コントローラ140にインターフェースで結合する。各メモリ・コントローラ140は1個もしくは複数個のメモリ・ユニット150を制御する。サーバー100は、一例として、8個までのノードを含み、各ノードが4個のプロセッサを含む高性能POWERサーバーであってもよい。
更に、本発明の1個もしくは複数個の実施形態によるサーバー100はそこに画成される1個もしくは複数個の論理パーティション即ちパーティション160を含んでもよい。パーティション160は1個もしくは複数個のノード110に跨っても包含してもよい。ノード110がサーバー100に含まれる物理的なエンティティであるが、パーティション160はサーバー100上に画成される論理的なエンティティである。各パーティション160はそこに同じかまたは異なるオペレーティング・システム(図示せず)を備えていてもよい。サーバー100はハイパーバイザとも呼ばれるホスト・オペレーティング・システム(図示せず)を含んでいてもよい。そのハイパーバイザはハードウエア制御を提供するとともに他のいろいろなパーティションのロードされ得る他のオペレーティング・システムをモニタする。更に、各パーティション160はそのインストールされたオペレーティング・システムのほかに、そこにインストールされたいろいろなアプリケーション(図示せず)をも含んでもよい。更に、単一のユーザーまたは複数の異なるユーザーが複数の異なるパーティションを制御してもよい。
各メモリ・ユニット150はDIMM(デュアル・インライン・メモリ・モジュール)であってもよい。DIMMは一連のDRAM(ダイナミック・ランダム・アクセス・メモリ)集積回路を含む。DIMMはこの産業で使用される任意の適当な型のであってよい。例えば、DIMMは、ビット・エラーを検出および/もしくは訂正するようメモリ・コントローラにより使用される特別のデータ・ビットを含むECC(エラー訂正コード)DIMMであってもよい。ここで採用される特定のECCスキームは、これに限るものではないが、ビット・エラーを検出および/もしくは訂正することのできる任意のスキームであってよい。例えば、ここで採用されるECCスキームは、64ビット・ワードごとに特別のバイト(8ビットの組み合わせ)を使用するSECDED(一つのエラー訂正、二つのエラー検出)スキームであってよい。そのようなエラー訂正スキームの一例はハミング・コードである。
図1を再度参照すると、本発明の1個もしくは複数個の実施形態によるサーバー100がメモリ・スクラビング・ユニット170を含む。このメモリ・スクラビング・ユニット170はフレキシブル・サービス・プロセッサ(FSP)のようなサービス・プロセッサであってもよい。メモリ・スクラビングはサーバー100の信頼性を確保するのに使用される技法である。従って、メモリ・スクラビングはサーバーおよび他のコンピューティング装置のための長い使用可能時間に亘るRAS(信頼性、可用性、保守性)パラダイムの範囲内に入る。メモリ・スクラビングは予め定義されたテスト・パターンをあるメモリ・アドレスに書き込むこと、そのメモリ・アドレスからパターンを読み出すこと、そして潜在的なビット・エラーを同定するためにそのオリジナルのテスト・パターンにその読み出されたパターンを比較することを一般的に含む。
従来のシステムでは1個もしくは複数個のテスト・パターンを用いるメモリ・スクラビングはシステム上にインストールされた1個もしくは複数個のオペレーティング・システムの起動動作を開始し、そしてそのシステムをランタイム状態に移行する前にそのシステムのメモリ全体で行われる。ホスト・オペレーティング・システムのローディングの後に、そのシステム上に定義される1個もしくは複数個のパーティションが活性化されてもよい。そのようなシステムは効率的でない。何故ならば全てのメモリがそのメモリによりたまたま使用されることになるかどうかに関係なく、そのシステムをランタイム(実行時)状態に移行させる前にそのシステムのメモリ全体をスクラビングする必要があるからである。
図2は本発明の1個もしくは複数個の実施形態に従う方法を例示するフローチャートである。図2を参照すると、この方法のステップ200では1個もしくは複数個のメモリ・ユニット150中の最少量のメモリがスクラブされ、割り当てのために利用可能にされる。メモリ・ユニット150はシングル・チャネルDIMMを指していてもよい。スクラビングする動作が実行されるメモリ量はそのサーバーにある全てのメモリ・ユニットまたはシングル・メモリ・ユニットにある全てのメモリ・ユニット150を含まないかもしれない。もっと具体的にいうと、スクラブされた最少量のメモリは、ノード110ごとに特定された最少ノード資源構成を確立するのに必要とされるメモリ量に対応するのであってよい。
特に、図1を再度参照すると、各メモリ・コントローラ140は1個もしくは複数個のメモリ・ユニット150を制御する。サーバー100上にロードされるオペレーティング・システムの起動動作の初期化の前に、各メモリ・コントローラ140が最初は無効状態にされる。特定のメモリ・コントローラ140が制御する少なくとも1個のメモリ・ユニット150において最少量のメモリにメモリ・スクラビング動作が実行された後、このメモリ・コントローラ140は無効状態から有効状態に遷移して、そのメモリ・コントローラ140と関連付けられたスクラブされたメモリが1個もしくは複数個のノードに割り当てのために利用することができるようになる。
図1を再度参照すると、各ノード110が1個もしくは複数個のプロセッサ120を含み、各プロセッサ120が1個もしくは複数個のコア130を含むことができる。各コア130は1個もしくは複数個のメモリ・コントローラ140にインターフェースで結合する。特定のメモリ・コントローラ140が制御する少なくとも1個のメモリ・ユニット150において少なくとも最少量のメモリがメモリ・スクラビング動作を受けた後、そのメモリ・コントローラ140は有効とされる。そこでそのスクラブされたメモリはノード110中に含まれるプロセッサ120のコア130に割り当てのために利用可能となる。
前述のとおり、最少ノード資源構成がノード110ごとに特定される。その最少ノード資源構成は、スクラブされる必要のある最少量のメモリに対応し、かつそのノード110を活性化する(すなわち、そのノードを動作可能にしそのシステムにより使用される準備が整う)ためにそのノード110を割り当てのために利用可能にされる。その最少ノード資源構成は、そのノード110を活性化させるために、活性化されるべきノード110に含まれる最少数のプロセッサ120に更に対応する。加えて、その最少ノード資源構成は、ノード110を活性化させるために、活性化されるべきプロセッサ120に含まれる最少数のコア130に更に対応する。
一例として、最少ノード資源構成は少なくとも16GBのスクラブされたメモリの割り当てと、ノードを活性化させるため少なくとも2個の活性化されたコアの割り当てを必要とするかもしれない。従って、もし特定のノードが4個のプロセッサを含み、各プロセッサが2個のコアを含むなら、そのノードを活性化させるためにその4個のプロセッサのうちの2個のプロセッサの各々における1個のコアの中から16GBのスクラブされたメモリの割り当てを、そのノードのための最少ノード資源構成が必要とするかも知れない。1個のノードのための最少ノード資源構成はノードを活性化させるのに必要とされる最少のコア/プロセッサの組み合わせに対し割り当てのために利用可能でなければばらない最少量のスクラブされたメモリに対応する。
図2を参照すると、ノードごとの最少ノード資源構成を確立するために必要とされる最少量のメモリがスクラブされて割り当てのために利用可能とされた後、そのサーバー上でロードされるホスト・オペレーティング・システムの起動動作が実行される(ステップ202)。ステップ203では、そのオペレーティング・システムの起動動作と並列にかつその後追加量のメモリがスクラブされ、利用可能とされる。
図1を再度参照すると、本発明の1個もしくは複数個の実施形態に従うサーバー100は、1個もしくは複数個のノード110を包含する1個もしくは複数個のパーティション160をそのサーバー上に定義して含んでもよい。そのパーティション160はそのサーバー上に定義される論理的なエンティティであり、1個もしくは複数個のノードに跨り、あるいは包含する。各パーティション160は、オペレーティング・システム(群)、および/もしくはそれと関連付けられるかもしれずかつそのパーティションとともにランするアプリケーションに基づいて或る程度のメモリわりあてを必要とする。更には、1個もしくは複数個のパーティション160の各々が他の全てのパーティションに対し優先度が割り当てられてもよい。特定のパーティションに割り当てられる優先度は、そのパーティションが他のパーティションに対しどの時点で活性化されるかを決定する際の一つの要素となり得る。
もっと具体的にいうと、一つのパーティションは全てのパーティションの中で最高の優先度を割り当てられることができる。残りの各パーティションはそこで独特の優先度を割り当てられてもよく、これによって最高から最低の優先度までそれらのパーティションを順序付けることができる。特定のパーティションに割り当てられる優先度は静的であってもよい。代わりに、あるパーティションの優先度は、例えばそのパーティションのメモリ資源のための需要次第で変えてもよい。
図3は本発明の1個もしくは複数個の実施形態に従う方法の略図を提供するフローチャートを示す。その方法の初期のステップとして、全ての必要なパーティションが活性化されてしまったか判定される(ステップ300)。もし全ての必要なパーティションが活性化されてしまったと判定されるなら、残りの割り当てられていないメモリがスクラブされて、パーティションの優先度、および/もしくは追加のメモリ資源を求めるパーティションの需要に基づき1個もしくは複数個のパーティションに割り当てられる(ステップ307)。ブロック307のステップを後で更に詳細に説明する。代わりに、もし活性化を必要とするが未だ活性化されないパーティションがあると判定されるなら、そのパーティションは、サーバーの動作状態を活性化を必要とする他の全てのパーティションとの関係で最高の優先度を有するパーティションが識別される(ステップ301)。その後、その方法のステップ302では、ステップ301で識別されたそのパーティションのメモリ資源需要が判定される。
パーティションのメモリ資源需要とは、スクラブされなければならず、かつそのパーティションを活性化させるように割り当てのため利用することができるようにされるメモリ量を云う。パーティションのメモリ資源需要次第では、そのパーティションにより包含された1個もしくは複数個のノードが活性化されてもよい。例えば、パーティションの単一のノードは、そのパーティションのメモリ資源需要が低い場合のシナリオにおけるそのノードの最少ノード資源構成とともに活性化されてもよい。代わりに、パーティションにより包含される1個よりも多いノードは、そのパーティションのメモリ資源需要が高いときに活性化されてもよい。例えば、パーティションが1個よりも多いノードを含み、かつそれにメモリを割り当てさせる単一のノードがそのパーティションのメモリ資源需要に合致することができない場合、1個もしくは複数個の追加ノードがそのパーティションのメモリ資源需要に合致するように活性化されてもよい。
図3を再度参照すると、そのパーティションのメモリ資源需要が判定された(ステップ302)後、そのメモリ資源需要は、スクラブされかつ割り当てのために利用可能にされたメモリ量に比較される(ステップ303)。もしそのメモリ資源需要が利用可能なスクラブされたメモリ量よりも少ないか等しいなら(すなわち、割り当てのために利用可能な、スクラブされたメモリ量がそのパーティションのメモリ資源需要に十分合致するなら)、そのパーティションのメモリ資源需要に合致し得る、スクラブされたメモリ量がそのパーティションに割り当てられ、そのパーティションが活性化される(ステップ304)。
ステップ304においてそのパーティションが活性化された後、全ての必要なパーティションが活性化されてしまったか判定が再び行われる(ステップ300)。もしこの段階で全ての必要なパーティションが活性化されてしまっていると判定されるなら、メモリ・スクラビング動作がその残りの割り当てのないメモリで行われる(ステップ307)。その結果として得られるスクラブされたメモリは、パーティション優先度および/もしくはパーティションのメモリ資源需要を含むいろいろな基準に基づき1個もしくは複数個のパーティションに割り当てられる(ステップ307)。代わりに、もし活性化を必要とする追加のパーティションがあると判定されるなら、そのパーティションは、活性化を必要とするが未だ活性化されていないパーティションの中から最高の割り当て優先度をいまや有するパーティションが識別される(ステップ301)。
もしステップ303において割り当てのために利用可能なスクラブされたメモリの量がそのパーティションのメモリ資源需要に合致させるには不十分であると判定されるなら、メモリ・スクラビング・ユニット170にリクエストが送られて、スクラブし、追加量のメモリを割り当てのために利用することができるようにする。その割り当てのために利用することができるメモリの合計量はそのパーティションのメモリ資源需要に合致するようにされる。その後、そのパーティションメモリ資源需要に合致するのに十分なスクラブされたメモリ量がそのパーティションに割り当てられ、そのパーティションが活性化される(ステップ306)。そのパーティションが活性化された後、全ての必要とされるパーティションが活性化されてしまったかもう一度判定され、この実施形態の方法が前述のとおり続行する。
前述のとおり、ステップ307では、メモリ・スクラビング動作が、残りの割り当てられていないメモリ上で実行され、そこでそれらの割り当てられていないメモリが、それらのパーティションの間での優先度の変動および/もしくはそれらのパーティションのメモリ資源需要の変動に基づき1個もしくは複数個のパーティションに割り当てられる。メモリ割り当てがDLPAR(動的論理パーティショニング)メカニズムを介して実行されてもよい。DLPARメカニズムは、そのパーティションで実行中のオペレーティング・システムをシャットダウンして再起動しなければならないということなしに、メモリが所与のパーティションに割り当てられたり、あるいはそこから取り除かれたりするのを許容するメカニズムである。メモリの割り当てはまた所与のパーティションから他のパーティションにパーティションの優先度および/もしくはパーティションのメモリ資源需要に基づき動的に転送されてもよい。
加えて、全ての必要とされるパーティションが活性化され、かつ十分なメモリ資源が各パーティションに割り当てられてしまった後、使用されていないメモリをスクラビングするよりもパーティションがメモリの割り当てを必要としない期間中に使用済みのメモリ上で更なるメモリ・スクラビングが行われてもよい。このようにして、使用されていないメモリはスクラブされる必要がなくてもよい。
本発明の1つもしくは複数の実施形態では、メモリ・スクラビング・ユニット170(図1)が例えば、ファームウエアを関連させたサービス・プロセッサであってもよい。これまでにも説明したように、メモリ・ユニット150(図1)はDIMMであってもよい。しかし、メモリ・ユニット150がDIMMに限定されることなく、この産業界で使用される任意の型のメモリであってもよいことに留意されたい。各DIMMは、そのDIMMのフル・データ・ビット幅(例えば64ビット)のためにアクセスされ得るDRAMの独立したセットの数に対応するかもしれない或る数のランクを一緒に関連付けさせていてもよい。
本発明の一つもしくは複数の実施形態では、サービス・プロセッサ・ファームウエアはDIMMおよびRANKidのインデックス付きのテーブルを維持していてもよい。そのインデックス付きのテーブルにおける特定の位置の値は、その位置により表される特定のDIMMにおける特定のRANKがスクラブされてしまったかを示していてもよい。
図4が本発明の一つもしくは複数の実施形態に従う方法のフローチャートを示す。追加的なメモリの割り当てのリクエストに応答して、本発明の方法のステップ400では、サービス・プロセッサ・ファームウエアは、スクラブされ、割り当てのない必要とされる量のメモリが利用可能かどうか判定するためにそのインデックス付きテーブル上でルックアップ動作を行う。もし追加メモリを求めたリクエストに十分合致する、スクラブされた割り当てのないメモリの量が利用可能なら、そのメモリ・リクエストを満足させるに十分なスクラブされたメモリの量が1個もしくは複数個のパーティションの間で割り当てられる(ステップ401)。
もしスクラブされた、割り当てのない利用可能なメモリの量が追加のメモリ需要に合致させるのに十分でないなら、サービス・プロセッサ・ファームウエアは、リクエストされたメモリのサイズに対応する、スクラブされていないメモリの連続したセクションを検索する(ステップ402)。もしスクラブされていないメモリの連続したセクションが割り当てのために利用可能であると、そのサービス・プロセッサ・ファームウエアが判定するなら、メモリのその連続したセクションがスクラブ(洗い出)され、そして1個もしくは複数個のパーティションの間で割り当てられる。
他方、もしステップ402において、割り当てのためにリクエストされた量のメモリのサイズに対応する、スクラブされていないメモリの連続したセクションが利用可能でないと、サービス・プロセッサ・ファームウエアが判定するなら、そのファームウエアは、割り当てのためにリクエストされたメモリのサイズに対応する組み合わせサイズを持つ最適の塊の数のメモリ(その幾つかは不連続であってもよい)を識別する(ステップ404)。その最適な数は、例えばリクエストされたメモリのサイズに対応する、再少数の不連続な塊のメモリであってもよい。その後、その識別されたメモリの塊はスクラブされ、1個もしくは複数個のパーティションの間で割り当てられる(ステップ405)。割り当てのためにリクエストされたメモリのサイズがそのRANKのサイズの倍数でないかもしれないから、サービス・プロセッサ・ファームウエアが、スクラブしてもよいRANKの次にもっとも近い倍数のサイズであるサイズを持つ或る量のメモリを、代わりに検索し、そしてスクラブしてもよいということに留意されたい。
図のフローチャートおよびブロック図は、本発明のいろいろな実施形態に従うシステム、方法およびコンピュータ・プログラムの可能な導入例のアーキテクチャ、機能および動作を説明している。この点で、フローチャートまたはブロック図の各ブロックが、モジュール、セグメント、または特定の論理機能を実装するための1個もしくは複数個の実行可能命令を含むコードの部分を表してもよい。代替実施形態ではそのブロックに示された機能が、図に示された順序から外れて生じてもよいことに留意されたい。例えば、連続して示されている2個のブロックが、そこに含まれる機能によっては、実際はほぼ同時に実行されたり、それらのブロックがときには逆の順序で実行されたりする。ブロック図および/もしくはフローチャートの説明の各ブロック、およびブロック図および/もしくはフローチャートの説明のブロックの組み合わせが、特定目的のハードウエアおよびコンピュータ命令の機能もしくは動作またはその組み合わせを実行する特定目的のハードウエアをベースにするシステムによって実装され得ることにも留意されたい。
本発明を1個もしくは複数個の実施形態およびその変形した形態について具体的にかつ詳細に図示し説明してきたが、特許請求の範囲に示したような発明の真の趣旨および範囲から逸れずにその形態の等価な変化および詳細をなし得ることは当業者が容易に理解できよう。特許請求の範囲内に属するそのような変形物および等価物まで本発明がカバーしていると思料する。
100 サーバー
110 ノード
120 プロセッサ
130 コア
140 メモリ・コントローラ
150 メモリ・ユニット
160 パーティション
170 メモリ・スクラビング・ユニット

Claims (25)

  1. システムの立ち上げ時間を早める方法であって、
    スクラビングして、最少量のメモリを割り当てのために利用可能にするステップと、
    前記システム上にストアされたオペレーティング・システムの起動動作を実行するステップと、
    前記オペレーティング・システムの前記起動動作と並行しかつその後に、スクラビングして、追加量のメモリを割り当てのために利用可能にするステップと
    を含む方法。
  2. 複数個のメモリ・ユニットと、
    最少ノード資源構成に関連付けさせられる少なくとも1個のノードと、
    前記少なくとも1個のノードに含まれる少なくとも1個のプロセッサと、
    前記少なくとも1個のプロセッサに含まれる少なくとも1個のコアと、
    前記少なくとも1個のコアにインターフェースで結合する少なくとも1個のメモリ・コントローラと
    を前記システムが含み、
    前記少なくとも1個のメモリ・コントローラが前記複数個のメモリ・ユニットのうちの少なくとも1個のメモリ・ユニットを制御し、かつ
    前記最少ノード資源構成が、前記少なくとも1個のノードを活性化させるために、メモリがスクラブされて前記少なくとも1個のノードに割り当てられるべき前記複数個のメモリ・ユニットのうちの1個もしくは複数個のメモリ・ユニットに最少量のメモリに対応するようにした、
    請求項1に記載の方法。
  3. 複数個のメモリ・ユニットと、
    各々が最少ノード資源構成に関連付けられた複数個のノードと、
    前記複数個のノードのうちの少なくとも1個を包含する少なくとも1個の論理パーティションと、
    前記複数個のノードの各々に含まれる複数個のプロセッサと、
    前記複数個のプロセッサの各々に含まれる複数個のコアと、
    複数個のメモリ・コントローラと
    を前記システムが含み、
    複数個のコアの各々が前記複数個のメモリ・コントローラのうちの1個のメモリ・コントローラにインターフェースで結合し、前記複数個のメモリ・コントローラの各々が少なくとも1個のメモリ・ユニットを制御し、かつ
    前記最少ノード資源構成が、前記ノードを活性化させるために、活性化される必要のあるノードに含まれる最少数のプロセッサに対応する、請求項1に記載の方法。
  4. 前記ノードと関連する前記最少ノード資源構成が更に前記最少数のプロセッサを活性化するために活性化される必要のある最少数のコアに対応する、請求項3に記載の方法。
  5. 前記ノードと関連する前記最少ノード資源構成は更に、最少数のコアを活性化させるために、有効とされるのに必要とされる最少数のメモリ・コントローラに対応する、請求項4に記載の方法。
  6. 前記複数個のメモリ・コントローラの各々は初期に無効状態とされ、かつ前記メモリ・コントローラは前記メモリ・コントローラが制御する少なくとも1個のメモリ・ユニットにおいて最少量のメモリがスクラブされるような条件で有効とされる、請求項5に記載の方法。
  7. 各々が少なくとも1個のノードを包含する複数個のパーティションを前記システムが更に含み、
    前記複数個のパーティションの各々に他のパーティションとの関係で優先度が割り当てられ、該割り当てられた優先度に基づいて前記複数個のパーティションが成功裡に活性化される、請求項3に記載の方法。
  8. 十分な量のスクラブされたメモリが割り当てのために利用することが可能であるという条件で、前記パーティションのメモリ資源需要に合致しなければならないパーティションを活性化させるステップを更に含む、請求項7に記載の方法。
  9. 前記パーティションを活性化させるステップの前に、前記パーティションの前記メモリ資源需要を、スクラブされたメモリ量に比較して、割り当てのために利用することができるようにするステップを更に含み、
    スクラブされて割り当てのために利用することができるようにされた前記メモリ量が前記パーティションの前記メモリ資源需要に合致するのに十分であるという条件の下で、前記スクラブされたメモリが、前記パーティションにより包含される1個もしくは複数個のノード間で割り当てられて前記パーティションが活性化されるようにし、かつ
    スクラブされて割り当てのために利用することができるようにされた前記メモリ量が前記パーティションのメモリ資源需要に合致するのに十分でないという条件の下で、前記パーティションの前記メモリ資源需要に合致するのに十分なスクラブされた合計メモリ量が前記パーティションにより包含される1個もしくは複数個のノード間で割り当てられて前記パーティションが活性化されるように、追加量のメモリがスクラブされる、請求項8に記載の方法。
  10. 前記オペレーティング・システムの起動動作の実行と並行し、かつその後で、追加のメモリがスクラブされて、所定の基準に基づきパーティションにより包含される1個もしくは複数個のノードに割り当てられる、請求項7に記載の方法。
  11. 前記所定の基準が前記パーティションに割り当てられた優先度、およびメモリの追加の割り当てのための前記パーティションの需要のうちの少なくとも一つを含む、請求項10に記載の方法。
  12. スクラブされた前記追加のメモリが使用済みのメモリを含む、請求項1に記載の方法。
  13. 複数個のメモリ・ユニットと、
    1個のメモリ・ユニットにおいてメモリをスクラブするように構成され割り当てのために利用することができるようにされたスクラビング・ユニットと、
    オペレーティング・システムと
    を含み、
    前記スクラビング・ユニットがスクラブして、最少量のメモリを割り当てのために利用可能にし、
    前記オペレーティング・システムの起動動作は、前記最少量のメモリがスクラブされかつ割り当てのために利用可能にされた後に実行され、かつ
    前記オペレーティング・システムの起動動作の実行と並行しかつその後に、前記スクラビング・ユニットがスクラブし、追加量のメモリを割り当てのために利用可能にするシステム。
  14. 複数個のメモリ・ユニットと、
    最少ノード資源構成に関連付けさせられる少なくとも1個のノードと、
    前記少なくとも1個のノードに含まれる少なくとも1個のプロセッサと、
    前記少なくとも1個のプロセッサに含まれる少なくとも1個のコアと、
    前記少なくとも1個のコアにインターフェースで結合する少なくとも1個のメモリ・コントローラと
    を前記システムが含み、
    前記少なくとも1個のメモリ・コントローラが前記複数個のメモリ・ユニットのうちの少なくとも1個のメモリ・ユニットを制御し、かつ
    前記最少ノード資源構成が、前記ノードを活性化させるために、前記スクラビング・ユニットにより、メモリがスクラブされて前記少なくとも1個のノードに、割り当てのために利用できるようにされなければならない最少量のメモリに対応する、
    請求項13に記載のシステム。
  15. 各々が最少ノード資源構成に関連付けられた複数個のノードと、
    前記複数個のノードのうちの少なくとも1個を包含する少なくとも1個のパーティションと、
    前記複数個のノードの各々に含まれる複数個のプロセッサと、
    前記複数個のプロセッサの各々に含まれる複数個のコアと、
    複数個のメモリ・コントローラと
    を更に含み、
    複数個のコアの各々が前記複数個のメモリ・コントローラのうちの少なくとも1個のメモリ・コントローラにインターフェースで結合し、
    前記複数個のメモリ・コントローラの各々が少なくとも1個のメモリ・ユニットを制御し、かつ
    前記最少ノード資源構成が、前記ノードを活性化するために、活性化される必要のあるノードに含まれる最少数のプロセッサに対応する、請求項13に記載のシステム。
  16. 前記ノードと関連する前記最少ノード資源構成が更に前記最少数のプロセッサを活性化させるために活性化される必要のある最少数のコアに対応する、請求項15に記載のシステム。
  17. 前記ノードと関連する前記最少ノード資源構成は更に、最少数のコアを活性化させるために、有効とされるのに必要とされる最少数のメモリ・コントローラに対応する、請求項16に記載のシステム。
  18. 前記複数個のメモリ・コントローラの各々は初期に無効状態とされ、かつ前記メモリ・コントローラは前記メモリ・コントローラが制御する複数個のメモリ・ユニットのうちの少なくとも1個のメモリ・ユニットにおいて前記スクラビング・ユニットが最少量のメモリをスクラブするような条件で有効とされる、請求項17に記載のシステム。
  19. 各々が少なくとも1個のノードを包含する複数個のパーティションを更に含み、
    前記複数個のパーティションの各々に他のパーティションとの関係で優先度が割り当てられ、該割り当てられた優先度に基づいて前記複数個のパーティションが成功裡に活性化される、請求項15に記載のシステム。
  20. 十分な量のメモリが前記スクラビング・ユニットによりスクラブされて、前記パーティションのメモリ資源需要に合致するように割り当てのために利用可能にされるという条件で、パーティションが活性化される、請求項19に記載のシステム。
  21. 前記パーティションを活性化させる前に、前記パーティションの前記メモリ資源需要が、スクラブされたメモリ量に比較され、割り当てのために利用することができるようにされ、
    スクラブされて割り当てのために利用することができるようにされた前記メモリ量が前記パーティションの前記メモリ資源需要に合致するのに十分であるという条件の下で、前記スクラブされたメモリが、前記パーティションにより包含される1個もしくは複数個のノード間で割り当てられて前記パーティションが活性化され、かつ
    スクラブされて割り当てのために利用することができるようにされた前記メモリ量が前記パーティションのメモリ資源需要に合致するのに十分でないという条件の下で、前記スクラビング・ユニットは、前記パーティションの前記メモリ資源需要に合致するのに十分なスクラブされた合計メモリ量が前記パーティションにより包含される1個もしくは複数個のノード間で割り当てられて前記パーティションが活性化されるように、追加量のメモリをスクラブする、請求項20に記載のシステム。
  22. 前記オペレーティング・システムの起動動作の実行と並行し、かつその後で、前記スクラビング・ユニットがスクラブして、所定の基準に基づきパーティションにより包含される1個もしくは複数個のノードに追加量のメモリを割り当てる、請求項19に記載のシステム。
  23. 前記所定の基準が前記パーティションに割り当てられた優先度、およびメモリの追加の割り当てのための前記パーティションの需要のうちの少なくとも一つを含む、請求項22に記載のシステム。
  24. コンピュータにより実行されることで、当該コンピュータに
    スクラビングして、最少量のメモリを割り当てのために利用することができるようにするステップと、
    前記システム上にストアされたオペレーティング・システムの起動動作を実行するステップと、
    前記オペレーティング・システムの前記起動動作と並行しかつその後に、スクラビングして、追加量のメモリを割り当てのために利用することができるようにするステップと
    を実行させることのできる、システムの立ち上げ時間を早めるためのコンピュータ・プログラム。
  25. 各々が最少ノード資源構成に関連付けられた複数個のノードであって、前記最少ノード資源構成が確立される条件で前記ノードが活性化されるようにする前記複数個のノードと、
    各々が少なくとも1個のノードを包含する複数個のパーティションと
    を前記システムが更に含み、
    前記複数個のパーティションの各々に他のパーティションとの関係で優先度が割り当てられ、該割り当てられた優先度に基づいて前記複数個のパーティションが成功裡に活性化される、請求項24に記載のコンピュータ・プログラム。
JP2010261822A 2009-11-30 2010-11-24 システムの立ち上げ時間を早めるための方法、装置およびコンピュータ・プログラム Expired - Fee Related JP5669531B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/627,237 US8402259B2 (en) 2009-11-30 2009-11-30 Accelerating wake-up time of a system
US12/627,237 2009-11-30

Publications (3)

Publication Number Publication Date
JP2011118900A true JP2011118900A (ja) 2011-06-16
JP2011118900A5 JP2011118900A5 (ja) 2014-08-14
JP5669531B2 JP5669531B2 (ja) 2015-02-12

Family

ID=44069723

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010261822A Expired - Fee Related JP5669531B2 (ja) 2009-11-30 2010-11-24 システムの立ち上げ時間を早めるための方法、装置およびコンピュータ・プログラム

Country Status (5)

Country Link
US (1) US8402259B2 (ja)
JP (1) JP5669531B2 (ja)
KR (1) KR20110060835A (ja)
CN (1) CN102081574B (ja)
TW (1) TW201140442A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014178889A (ja) * 2013-03-14 2014-09-25 Fujitsu Ltd 情報処理装置、プログラムおよび記憶領域獲得方法

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8412479B2 (en) * 2010-06-29 2013-04-02 Intel Corporation Memory power estimation by means of calibrated weights and activity counters
KR101859188B1 (ko) 2011-09-26 2018-06-29 삼성전자주식회사 매니코어 시스템에서의 파티션 스케줄링 장치 및 방법
GB2523568B (en) * 2014-02-27 2018-04-18 Canon Kk Method for processing requests and server device processing requests
WO2016074127A1 (zh) * 2014-11-10 2016-05-19 华为技术有限公司 计算机设备及计算机设备内存启动的方法
US9886083B2 (en) * 2014-12-19 2018-02-06 International Business Machines Corporation Event-driven reoptimization of logically-partitioned environment for power management
US9811345B2 (en) * 2015-04-16 2017-11-07 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Utilizing computing resources under a disabled processor node without fully enabling the disabled processor node
KR20160146055A (ko) * 2015-06-11 2016-12-21 현대자동차주식회사 차량 네트워크에서 통신 노드의 동작방법
US10055236B2 (en) * 2015-07-02 2018-08-21 Sandisk Technologies Llc Runtime data storage and/or retrieval
US9864537B2 (en) * 2016-04-21 2018-01-09 International Business Machines Corporation Memory system power management
US10346177B2 (en) * 2016-12-14 2019-07-09 Intel Corporation Boot process with parallel memory initialization
US10678635B2 (en) * 2018-01-08 2020-06-09 Intel Corporation Memory management
CN111132282B (zh) * 2018-11-01 2021-06-01 华为终端有限公司 一种应用于移动终端的应用处理器唤醒方法及装置
US20200341776A1 (en) * 2020-07-07 2020-10-29 Krishnaprasad H Apparatus for initializing memory using a hardware engine for minimizing boot time
US20230305725A1 (en) * 2022-03-24 2023-09-28 Nxp Usa, Inc. Memory configuration within a data processing system

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4015A (en) * 1845-04-26 Hand-loom for weaving figured fabrics
JPS62226216A (ja) * 1986-03-27 1987-10-05 Nec Corp システム立上げ方式
US7065688B1 (en) * 2003-02-19 2006-06-20 Advanced Micro Devices, Inc. Simultaneous multiprocessor memory testing and initialization
JP2006216068A (ja) * 1998-12-18 2006-08-17 Unisys Corp コンピュータ・システムの異なるパーティション中で複数のオペレーティング・システムを動作させ、異なるパーティションが共用メモリを介して相互に通信できるようにするコンピュータ・システムおよび方法
JP2007140920A (ja) * 2005-11-18 2007-06-07 Kyocera Mita Corp 画像形成装置
JP2007272275A (ja) * 2006-03-30 2007-10-18 Nec Corp コンピュータシステム、並列初期化方法、及びブートプログラム
JP2008512786A (ja) * 2004-09-10 2008-04-24 カビウム・ネットワークス データ構造の選択的複製方法および装置
JP2009277223A (ja) * 2008-05-14 2009-11-26 Internatl Business Mach Corp <Ibm> コンピュータ・システム、コンピュータ・システムを初期化するための方法及びコンピュータ・プログラム

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6158000A (en) * 1998-09-18 2000-12-05 Compaq Computer Corporation Shared memory initialization method for system having multiple processor capability
US6381715B1 (en) * 1998-12-31 2002-04-30 Unisys Corporation System and method for performing parallel initialization and testing of multiple memory banks and interfaces in a shared memory module
US7143321B1 (en) * 2000-04-29 2006-11-28 Hewlett-Packard Development Company, L.P. System and method for multi processor memory testing
US6633965B2 (en) * 2001-04-07 2003-10-14 Eric M. Rentschler Memory controller with 1×/M× read capability
US7107493B2 (en) * 2003-01-21 2006-09-12 Hewlett-Packard Development Company, L.P. System and method for testing for memory errors in a computer system
US20040158701A1 (en) * 2003-02-12 2004-08-12 Dell Products L.P. Method of decreasing boot up time in a computer system
US20050283566A1 (en) * 2003-09-29 2005-12-22 Rockwell Automation Technologies, Inc. Self testing and securing ram system and method
US7334159B1 (en) * 2003-09-29 2008-02-19 Rockwell Automation Technologies, Inc. Self-testing RAM system and method
US7539909B2 (en) * 2003-09-30 2009-05-26 Intel Corporation Distributed memory initialization and test methods and apparatus
US7313681B2 (en) * 2003-11-20 2007-12-25 International Business Machines Corporation Apparatus, system, and method for adapter fastload
US7251744B1 (en) * 2004-01-21 2007-07-31 Advanced Micro Devices Inc. Memory check architecture and method for a multiprocessor computer system
US7246269B1 (en) * 2004-05-05 2007-07-17 Advanced Micro Devices, Inc. Efficient memory check architecture and method
US20080195836A1 (en) * 2005-02-23 2008-08-14 Hewlett-Packard Development Company, L.P. Method or Apparatus for Storing Data in a Computer System
US7487222B2 (en) * 2005-03-29 2009-02-03 International Business Machines Corporation System management architecture for multi-node computer system
US7555677B1 (en) * 2005-04-22 2009-06-30 Sun Microsystems, Inc. System and method for diagnostic test innovation
US20070283104A1 (en) * 2006-05-31 2007-12-06 International Business Machines Corporation Concurrent Hardware Selftest for Central Storage
US7711941B2 (en) * 2006-12-19 2010-05-04 Lsi Corporation Method and apparatus for booting independent operating systems in a multi-processor core integrated circuit
US8621137B2 (en) * 2007-12-27 2013-12-31 Sandisk Enterprise Ip Llc Metadata rebuild in a flash memory controller following a loss of power

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4015A (en) * 1845-04-26 Hand-loom for weaving figured fabrics
JPS62226216A (ja) * 1986-03-27 1987-10-05 Nec Corp システム立上げ方式
JP2006216068A (ja) * 1998-12-18 2006-08-17 Unisys Corp コンピュータ・システムの異なるパーティション中で複数のオペレーティング・システムを動作させ、異なるパーティションが共用メモリを介して相互に通信できるようにするコンピュータ・システムおよび方法
US7065688B1 (en) * 2003-02-19 2006-06-20 Advanced Micro Devices, Inc. Simultaneous multiprocessor memory testing and initialization
JP2008512786A (ja) * 2004-09-10 2008-04-24 カビウム・ネットワークス データ構造の選択的複製方法および装置
JP2007140920A (ja) * 2005-11-18 2007-06-07 Kyocera Mita Corp 画像形成装置
JP2007272275A (ja) * 2006-03-30 2007-10-18 Nec Corp コンピュータシステム、並列初期化方法、及びブートプログラム
JP2009277223A (ja) * 2008-05-14 2009-11-26 Internatl Business Mach Corp <Ibm> コンピュータ・システム、コンピュータ・システムを初期化するための方法及びコンピュータ・プログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014178889A (ja) * 2013-03-14 2014-09-25 Fujitsu Ltd 情報処理装置、プログラムおよび記憶領域獲得方法

Also Published As

Publication number Publication date
TW201140442A (en) 2011-11-16
KR20110060835A (ko) 2011-06-08
CN102081574A (zh) 2011-06-01
US20110131399A1 (en) 2011-06-02
CN102081574B (zh) 2014-11-05
JP5669531B2 (ja) 2015-02-12
US8402259B2 (en) 2013-03-19

Similar Documents

Publication Publication Date Title
JP5669531B2 (ja) システムの立ち上げ時間を早めるための方法、装置およびコンピュータ・プログラム
AU2011348835B2 (en) Method and device for implementing memory migration
US7945815B2 (en) System and method for managing memory errors in an information handling system
US10157008B2 (en) Systems and methods for optimizing memory power consumption in a heterogeneous system memory
JP5786955B2 (ja) メモリ縮退方法及び情報処理装置
EP3033680B1 (en) Memory migration in presence of live memory traffic
CN112053730A (zh) 用于存储器子系统的冗余云存储器存储装置
US10168936B2 (en) Memory system power management
US10558468B2 (en) Memory channel storage device initialization
US10203893B2 (en) Memory channel storage device detection
JP2005135409A (ja) セルをテストするシステムおよび方法
US11144380B2 (en) Memory controller and storage device including the same
CN110119245B (zh) 用于操作nand闪存物理空间以扩展存储器容量的方法和系统
EP4089545A1 (en) Virtual mapping based off-chip non-volatile memory dynamic loading method and electronic apparatus
US11221931B2 (en) Memory system and data processing system
WO2013147886A1 (en) Virtual device sparing
US8799616B2 (en) Method and system for preferred CPU binding on virtual partitions
US11734176B2 (en) Sub-NUMA clustering fault resilient memory system
KR102565873B1 (ko) Numa 시스템에서 메모리 버스에 연결하여 사용하는 저장장치의 할당 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130902

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140630

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20140630

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20140717

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140723

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140805

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141031

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141216

R150 Certificate of patent or registration of utility model

Ref document number: 5669531

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees