JP2017182165A - 情報処理装置の制御プログラム、情報処理装置および情報処理装置の制御方法 - Google Patents

情報処理装置の制御プログラム、情報処理装置および情報処理装置の制御方法 Download PDF

Info

Publication number
JP2017182165A
JP2017182165A JP2016063850A JP2016063850A JP2017182165A JP 2017182165 A JP2017182165 A JP 2017182165A JP 2016063850 A JP2016063850 A JP 2016063850A JP 2016063850 A JP2016063850 A JP 2016063850A JP 2017182165 A JP2017182165 A JP 2017182165A
Authority
JP
Japan
Prior art keywords
memory
information processing
processing apparatus
server
memory area
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
JP2016063850A
Other languages
English (en)
Other versions
JP6686614B2 (ja
Inventor
努 中山
Tsutomu Nakayama
努 中山
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 JP2016063850A priority Critical patent/JP6686614B2/ja
Priority to US15/455,933 priority patent/US10459645B2/en
Publication of JP2017182165A publication Critical patent/JP2017182165A/ja
Application granted granted Critical
Publication of JP6686614B2 publication Critical patent/JP6686614B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4405Initialisation of multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices

Abstract

【課題】情報処理装置の再起動を含む処理の処理時間を短縮することができる情報処理装置の制御プログラムを提供する。【解決手段】情報処理装置の制御プログラムを、複数のメモリ領域を有し、第1の処理と情報処理装置の再起動処理と第2の処理とを含む処理を実行する情報処理装置の制御プログラムであって、情報処理装置に、複数のメモリ領域のうち、第1の処理の実行に使用されるメモリ領域を初期化する処理と、複数のメモリ領域の各メモリ領域が初期化済みであるか否かを示す第1の情報を記憶部に記憶する処理と、初期化したメモリ領域を使用して第1の処理を実行する処理と、情報処理装置の再起動処理において、第1の情報に基づいて、初期化済みでないメモリ領域を第2の処理の実行に使用されるメモリ領域として初期化する処理とを実行させる制御プログラムとする。【選択図】図3

Description

本件開示の技術は、情報処理装置の制御プログラム、情報処理装置および情報処理装置の制御方法に関する。
多数のCentral Processing Unit(CPU)およびメモリが搭載された情報処理装置で
あるサーバなどにおいては、サーバの起動時に、メモリインタフェースに対する伝送パラメータの設定および調整、メモリの初期化などが行われる。これらの処理は、サーバに実装されるCPUとメモリとの間の信号伝送の高速化を実現し、CPUとメモリとの間で伝送される信号の品質を確保するために実行される。
また、これらの処理は、サーバのBasic Input/Output System Firmware(BIOS FW)により行われている。ここで、BIOSとは、サーバのファームウェアの1つであり、サーバで実行されるプログラムのうち、ハードウェアとの最も低レベルの入出力を行うためのプログラムである。サーバに多数のCPUおよびメモリが実装されていると、BIOSによる各メモリの初期化に時間がかかるため、サーバの起動時間が長くなることが懸念される。
そこで、サーバの起動時間を短縮するための技術が提案されている。例えば、Operating System(OS)がインストールされているサーバにおいて、OSの起動処理と並行して、起動処理に使用されていないメモリの初期化を行う技術が提案されている(例えば特許文献1参照)。また、例えば、サーバに搭載された複数のメモリの初期化を異なるCPUあるいはCPUコアにより実行することで、メモリ初期化の時間短縮を図ることも提案されている(例えば特許文献2)。
特開2009−277223号公報 国際公開第2010/058440号
情報処理装置の一例であるサーバにおいて、OSをインストールする場合、インストール中にサーバが再起動される場合がある。また、サーバのInput/Output(I/O)などのハードウェア構成の変更、レジストリや設定ファイルの変更など、サーバのシステムパラメータの変更およびOSの起動をシーケンシャルに実行する処理においても、サーバが再起動されることが想定される。このため、再起動時に、再起動前に使用されたメモリを含むメモリの初期化などの処理が実行される。したがって、再起動前に使用されたメモリが再度初期化される結果、上記の処理中におけるサーバの再起動に伴う起動時間がインストールの処理時間の長期化につながる可能性がある。これに対して、上記の従来の技術を用いてサーバの再起動に伴う起動時間の短縮を図っても、サーバの再起動時に発生するメモリの初期化などの処理に伴う時間を短縮することは難しい。
本件開示の技術は、上記の事情に鑑み、情報処理装置の再起動を含む処理の処理時間を短縮することができる情報処理装置の制御プログラムを提供することを目的とする。
本件開示の情報処理装置の制御プログラムは、1つの側面では、複数のメモリ領域を有し、第1の処理と情報処理装置の再起動処理と第2の処理とを含む処理を実行する情報処理装置の制御プログラムであって、情報処理装置に、複数のメモリ領域のうち、第1の処理の実行に使用されるメモリ領域を初期化する処理と、複数のメモリ領域の各メモリ領域が初期化済みであるか否かを示す第1の情報を記憶部に記憶する処理と、初期化したメモリ領域を使用して第1の処理を実行する処理と、情報処理装置の再起動処理において、第1の情報に基づいて、初期化済みでないメモリ領域を第2の処理の実行に使用されるメモリ領域として初期化する処理とを実行させる。
本件開示の技術によれば、情報処理装置の再起動を含む処理の処理時間を短縮することができる情報処理装置の制御プログラムを提供することができる。
図1は、一実施形態に係るサーバの構成を例示する概略構成図である。 図2は、一実施形態に係るサーバにおいて実行される処理のフローチャートである。 図3は、一実施形態に係るサーバにおいて実行される処理のフローチャートである。 図4は、一実施形態において、OSインストールにおける時間短縮モードを有効にするフラグを例示する表である。 図5は、一実施形態において、サーバ1内の各メモリの初期化状態を管理するためのフラグを例示する表である。 図6は、一実施形態に係るサーバにおいて実行される処理のフローチャートである。 図7は、一実施形態に係るサーバにおけるメモリ初期化に伴う処理時間を例示するグラフである。 図8は、一実施形態において、OSインストールが完了したか否かを示すフラグを例示する表である。 図9は、一変形例に係るサーバにおいて実行される処理のフローチャートである。 図10は、一変形例に係るサーバにおいて実行される処理のフローチャートである。 図11は、一実施形態に係るサーバにおいて実行される処理の一例を示す図である。
以下、本件開示の技術に係る実施形態について図面を参照しながら説明する。なお、以下の詳細な説明は例示的なものであり、実施形態の構成を限定するものではない。
(第1の実施形態)
図1に、第1の実施形態における情報処理装置の一例であるサーバ1の概略構成図を示す。図1に示すように、サーバ1は一例として4つのCPU101〜104を有する。各CPU101〜104は、QuickPath Interconnect(QPI)インターフェイスによって互いに接続されている。CPU101には、一例として8つのメモリ101a〜101hが接続されている。メモリ101a〜101hは、Double-Data-Rate4(DDR4)イン
ターフェイス(図示せず)によってCPU101と接続されている。なお、CPU102〜104についても、CPU101と同様にメモリが接続されている。本実施形態においては、サーバ1におけるOSなどのプログラムのインストールの実行において、CPU1
01が他のCPU102〜104の動作を制御する主導的な役割を果たす。また、サーバ1において、例えばNon-Uniform Memory Access(NUMA)のように、各CPU101
〜104に接続されるメモリは単一の物理アドレス空間で管理されている。このため、CPU101は、他のCPU102〜104に接続されている各メモリにアクセスして、メモリの初期化、データの書き込みおよび読み取りなどを実行することができる。
また、サーバ1において、CPU101はQPIインターフェイスによってチップセット105と接続されている。また、チップセット105は、Serial AT Attachment(SATA)インターフェイスによってDigital Versatile Disc(DVD)ドライブ106と接続
されている。さらに、チップセット105は、Serial Peripheral Interface(SPI)
インターフェイスによって不揮発性メモリ107と接続されている。チップセット105は、DVDドライブ106および不揮発性メモリ107とCPU101との間のデータのやり取りを管理する。
本実施形態では、サーバ1のユーザが、OSインストールを実行するためのセットアップ支援ツールが格納されたメディアをDVDドライブ106にセットする。そして、CPU101がメディアに格納されたセットアップ支援ツールを使用してOSインストールを実行する。また、不揮発性メモリ107には、DVDドライブ106にセットされたメディアから取り込んだセットアップ支援ツールが格納される。さらに、不揮発性メモリ107には、CPU101により実行されるBIOSコードが格納されている。後述するように、不揮発性メモリ107には、CPU101〜104に接続されている各メモリが初期化済みであるか否かを示すフラグも格納されている。
CPU101は、PCI ExpressバスインターフェイスによってRAID PCIカード108と接続されている。また、RAID PCIカード108は、Serial Attached SCSI(SAS)/SATAインターフェイスによってHard Disk Drive(HDD
)109、110と接続されている。RAID PCIカード108は、HDD109、110により構成されたRAIDに基づいて、HDD109、110とCPU101との間のデータのやり取りを制御する。
図3に、本実施形態においてCPU101が実行する処理のフローチャートを示す。CPU101は、サーバ1の電源が投入されると、図3のフローチャートの処理を開始する。OP101において、CPU101は、不揮発性メモリ107に格納されているBIOSコードをCPU101に展開して実行する。次いで、処理はOP102に進められる。
OP102において、CPU101は、OP101で起動したBIOSの処理に従って、CPU101〜104に接続されているメモリのDDR4インターフェイスの初期化を実行する。これにより、各メモリのDDR4インターフェイスの動作スピード、レイテンシ、アクセスタイミングなどが設定される。次いで、処理はOP103に進められる。
OP103において、サーバ1のユーザが、セットアップ支援ツールが格納されているメディアをDVDドライブ106にセットする。そして、CPU101は、DVDドライブ106にセットされたメディアからセットアップ支援ツールを取り込み、不揮発性メモリ107に格納する。CPU101は、不揮発性メモリ107に格納したセットアップ支援ツールをCPU101に展開して実行する。本実施形態において、セットアップ支援ツールとは、サーバ1にインストールするOSの種類の選択などOSインストールを実行するための各種処理、OSインストールにおける時間短縮モードを有効にするフラグの定義、サーバ1内の各メモリの初期化状態を管理するためのフラグの定義などの処理を行うためのツールである。なお、時間短縮モードとは、以下に説明するように、サーバ1におけるOSインストール中の再起動時に、各メモリに対して初期化が重複して実行されないよ
うにして、再起動時のメモリ初期化に伴う処理時間を短縮するモードを意味する。次いで、処理はOP104に進められる。
OP104において、CPU101は、OP103において実行したセットアップ支援ツールの処理に従って、インストールするOSの選択などを実行する。これにより、OSインストールを実行するための各種設定が完了する。そして、OP105において、CPU101は、OSインストールの時間短縮モードを有効にするためのフラグを不揮発性メモリ107に定義し、当該フラグの設定を行う。図4に、不揮発性メモリ107に作成されるOSインストールの時間短縮モードを有効にするためのフラグの一例を示す。なお、不揮発性メモリ107が、記憶部の一例に相当する。図4に示すように、時間短縮モードを有効にするためのフラグMODE_FLAGは1ビットで表現され、フラグの値が「0」のとき
は時間短縮モードが無効であり、「1」のときは時間短縮モードが有効であることを示す。CPU101は、フラグMODE_FLAGの値を「1」に設定し、処理をOP106に進める
OP106において、サーバ1のユーザが、DVDドライブ106にセットされているメディアをOSインストール用のインストーラが格納されているメディアに差し替える。そして、CPU101は、DVDドライブ106にセットされているメディアに格納されているOSインストール用のインストーラを例えばHDD109に展開して起動し、OSインストールの処理を開始する。そして、OP107において、CPU101は、サーバ1を再起動する。次いで、処理はOP108に進められる。
OP108において、CPU101は、不揮発性メモリ107に格納されているBIOSコードをCPU101に展開して実行し、BIOSを起動する。本実施形態において、BIOSコードには、不揮発性メモリ107に定義されている時間短縮モードを有効にするためのフラグを参照する処理が記述されている。したがって、BIOSの起動後、BIOSは、不揮発性メモリ107の時間短縮モードを有効にするためのフラグMODE_FLAGを
参照し、フラグの値が「1」に設定されているか否かを判定する(OP109)。フラグMODE_FLAGの値が「1」である場合は(OP109:Yes)、CPU101は、処理を
OP110に進める。一方、フラグMODE_FLAGの値が「0」である場合は(OP109:
No)、CPU101は本フローチャートの処理を終了する。
OP110において、CPU101がBIOSとセットアップ支援ツールとの通信を行い、BIOSがセットアップ支援ツールから時間短縮モードの設定を取り込む。次いで、処理は、OP111に進められる。
OP111において、CPU101は、不揮発性メモリ107に定義されている、サーバ1内の各メモリの初期化状態を管理するためのフラグを参照する。そして、CPU101は、選択部として機能し、当該フラグの値に基づいてOSインストールの処理に使用するメモリを選択し、初期化部として機能し、選択したメモリの初期化を実行する。なお、サーバ1内の各メモリの初期化状態を管理するためのフラグが、第1の情報の一例に相当する。
以下の説明において、サーバ1内で処理されるデータの記憶領域がメモリモジュール単位で管理される。1つのメモリモジュールは、例えば複数のメモリチップを搭載する1枚の基板に対応する。メモリモジュールは、Dual In-line Memory Module(DIMM)とも呼ばれる。以下、メモリモジュールを単にメモリと称する。
図5に、本実施形態における、サーバ1内のメモリの初期化状態を管理するためのフラグの一例を示す。一例として、サーバ1に搭載されているメモリは196枚であるとする
。この場合、不揮発性メモリ107には、メモリの枚数分に対応するビット数、すなわち196個のビットが並べられたビット列が作成される。作成されたビット列の各ビットがサーバ1に搭載されている各メモリに対応する。また、ビットの値が「0」のときは、当該ビットに対応するメモリの初期化済みでないことを示し、ビットの値が「1」のときは、当該ビットに対応するメモリの初期化済みであることを示す。
CPU101は、当該ビット列の各ビットの値を参照し、値が「0」であるビットに対応するメモリを初期化対象として選択する。また、CPU101は、OSインストールの処理に使用する枚数分のメモリを初期化対象として選択する。図5に示すビット列の例では、ビット1、2の値が「1」であり、ビット3〜5(中略)194〜196の値が「0」である。また、本実施形態において、一例としてOSインストールの処理を実行するために使用されるメモリは2枚であるとする。この場合、OP111において、CPU101は、ビット3、4に対応する2枚のメモリを初期化対象として選択する。
次いで、OP112において、CPU101は、OP111において選択したメモリの初期化を実行する。そして、CPU101は、選択したメモリの初期化が完了すると、上記のビット列のメモリに対応するビット、上記の例ではビット3、4の値を「1」に設定する。このように、本実施形態では、サーバ1内の各メモリが初期化済みであるか否かを示すフラグが定義されることで、OSインストール中にサーバ1が再起動された場合に、一度初期化したメモリが重複して初期化されないようにすることができる。CPU101は、OP112の処理を完了すると、処理をOP113に進める。
OP113において、CPU101は、実行部として機能し、OP112において初期化したメモリを使用してOSインストールの処理を実行する。本実施形態では、CPU101は、OSインストールの処理中にサーバ1の再起動を実行する。そこで、CPU101は、OP114において、OSインストールを継続するか否かを判定する。そして、CPU101は、OSインストールを継続する場合に(OP114:Yes)、処理をOP107に処理を戻す。一方、CPU101は、OSインストールを完了した場合は(OP114:No)、本フローチャートの処理を終了する。なお、OSインストールが完了した後、ユーザがDVDドライブ106にセットされているメディアを取り出す。
以上より、CPU101は、図2、3に示すフローチャートの処理を実行することで、OSインストール中にサーバ1を再起動する場合に、初期化済みのメモリに対しては再度初期化を実行しない。これにより、サーバ1を再起動したときにサーバ1内の各メモリを再度初期化する場合に比べてメモリの初期化に伴う処理時間が短縮される。
次に、図6に、CPU101が図3、4に示すフローチャートの処理を実行した後に実行する、OS起動処理のフローチャートを示す。CPU101は、例えば、図3、4に示すフローチャートの処理を実行した後に、サーバ1の電源が投入されたときに、図6に示すフローチャートの処理を開始する。
OP201において、CPU101は、不揮発性メモリ107に格納されているBIOSコードをCPU101に展開して実行する。次いで、処理はOP202に進められる。OP202において、CPU101は、OP201において起動したBIOSの処理に従って、DVDドライブ106にOSインストール用のメディアがセットされていないことを検知する。次いで、処理はOP203に進められる。
OP203において、BIOSの処理によって、不揮発性メモリ107に格納されている、時間短縮モードを有効にするためのフラグMODE_FLAGの値が「0」に設定される。こ
の結果、CPU101は、上記のOP110、OP111の処理を実行する代わりに以下
に説明するOP204の処理を実行する。
OP204において、CPU101は、不揮発性メモリ107に格納されている、サーバ1内の各メモリの初期化状態を管理するためのフラグを参照し、初期化が実行されていないメモリを特定する。具体的には、CPU101は、当該フラグのビット列において値が「0」であるビットに対応するメモリを特定する。そして、CPU101は、特定したメモリの初期化を実行する。したがって、本実施形態によれば、サーバ1においてOSインストールの完了後にOSを起動する場合に、OSインストール中に初期化されたメモリに対しては再度初期化が実行されず、初期化済みでない残りのメモリを対象に初期化が実行される。これにより、OSインストール後のOS起動時にサーバ1内の各メモリを再度初期化する場合に比べて、メモリの初期化に伴う処理時間が短縮される。次いで、処理はOP205に進められる。
OP205において、CPU101は、サーバ1内の各メモリの初期化状態を管理するためのフラグをクリアし、各ビットの値を「0」に設定する。これにより、次回サーバ1において別のOSインストールを実行する場合に、当該フラグを使用して、サーバ1の再起動の際に、初期化済みのメモリが重複して初期化されないようにすることができる。次いで、処理はOP206に進められる。OP206において、CPU101は、OSがインストールされているHDD、例えばHDD109からOSを起動する処理を実行する。OP206におけるCPU101によるOSの起動処理は、周知の技術を用いて実行されるため、ここでは詳細な説明は省略する。CPU101は、OSの起動処理が完了すると、本フローチャートの処理を終了する。
図7に、上記のように構成されたサーバ1のOSインストールにおいて、一例として初回起動後に3回の再起動が実行され、OSインストール後にOSが起動(通常起動)される場合の、メモリ初期化に伴う処理時間(図中「本実施形態」)をグラフで示す。なお、図7に示すグラフの横軸は所定単位の時間を示す。なお、横軸の時間単位は一例にすぎない。また、図7には、比較のため、サーバ1の構成を従来のサーバ構成にした場合に、初回起動後に3回の再起動が実行され、OSインストール後にOSが起動(通常起動)される場合の、メモリ初期化に伴う処理時間(図中「従来」)を示す。
図7に示すように、サーバ1の構成を従来のサーバ構成にした場合、起動のたびに、サーバ1内の各メモリが初期化される。このため、各起動時のメモリ初期化に伴う処理時間は略同じ時間となる。一方、サーバ1の構成を本実施形態の上記の構成にした場合、初回起動時のメモリ初期化に伴う処理時間は従来のサーバ構成と同じであるが、OSインストール開始後の各再起動時のメモリ初期化に伴う処理時間が短縮される。これは、各再起動時にOSインストールに使用されるメモリが初期化される一方、OSインストールに使用されないメモリおよび初期化済みのメモリに対しては初期化が省略されるためである。
さらに、本実施形態のサーバ1の構成では、OSインストールの完了後の通常起動時のメモリ初期化に伴う処理時間も従来のサーバ構成よりも短縮される。これは、OSインストール完了後の通常起動時が、初回起動時およびOSインストールに伴う再起動時に初期化されたメモリの初期化が省略されるためである。
以上が本実施形態に関する説明であるが、上記のサーバなどの構成や処理は、上記の実施形態に限定されるものではなく、本発明の技術的思想と同一性を失わない範囲内において種々の変更が可能である。以下に、上記の実施形態の変形例について説明する。上記の実施形態では、OSインストールのためのセットアップ支援ツールやOSインストールのインストーラなどのプログラムが格納されたメディアを、ユーザがDVDドライブ106にセットし、CPU101がメディアに格納された各種プログラムを実行することで、O
Sインストールが進められる。しかし、本変形例において、OSインストール用のプログラムを、ネットワークを経由してダウンロードする構成としてもよい。
この場合は、不揮発性メモリ107に、OSインストールが完了したか否かを示すフラグが定義される。なお、OSインストールが完了したか否かを示すフラグが、第2の情報の一例に相当する。図8に、OSインストールが完了したか否かを示すフラグの一例を示す。図8に示すように、OSインストールが完了したか否かを示すフラグOS_INSTALLEDは1ビットで表現され、フラグの値が「0」のときはOSインストールが完了していないことを示し、「1」のときはOSインストールが完了していることを示す。
図9、10に、サーバ1のOSインストールを実行するためのプログラムを、ネットワークからダウンロードする場合に、CPU101が実行する処理のフローチャートを示す。なお、上記の実施形態と同様の処理については、同一の符号を付し、詳細な説明は省略する。本変形例では、OP113において、CPU101は、OSインストールが完了したと判定すると(OP113:Yes)、処理をOP301に進め、上記のフラグOS_INSTALLEDの値を「1」に設定する。
その後、CPU101が図10に示すフローチャートの処理を実行して、サーバ1にインストールされたOSを起動する処理を開始する。この場合、CPU101は、OP201においてBIOSを起動した後、OP302においてOP301において設定したフラグOS_INSTALLEDの値が「1」であることを確認する。これにより、CPU101は、サーバ1にOSがインストール済みであることを認識し、処理をOP203に進める。そして、CPU101はOP204においてサーバ1内の初期化されていないメモリを初期化する。CPU101は、初期化されていないメモリの初期化が完了すると、OP205において、フラグMODE_FLAG、OS_INSTALLEDおよびサーバ1内の各メモリの初期化状態を管理
するためのフラグをクリアし、値を「0」に設定する。次いで、OP206において、CPU101は、CPU101は、OSがインストールされているHDD、例えばHDD109からOSを起動する処理を実行し、本フローチャートの処理を終了する。
以上より、本変形例においても、ネットワーク経由でダウンロードしたOSインストール用のプログラムを実行する際に、初期化済みのメモリに対しては再度初期化が実行されず、初期化済みでないメモリを対象に初期化が実行される。これにより、OSインストールの完了後のOS起動時にサーバ1内の各メモリを再度初期化する場合に比べて、メモリの初期化に伴う処理時間が短縮される。
また、上記では、OSインストールを実行する際にサーバ1が繰り返し再起動される場合を想定しているが、OSインストールに限らずその他の処理を実行する際にサーバ1が繰り返し再起動される場合にも上記のサーバ1の構成を適用できる。例えば、サーバ1のInput/Output(I/O)などのハードウェア構成の変更、レジストリや設定ファイルの変更など、サーバ1のシステムパラメータの変更およびOSの起動処理をシーケンシャルに実行する処理において、サーバ1の再起動が実行されることが想定される。このような場合も、本実施形態によれば、処理に使用されるメモリが初期化された後のサーバ1の再起動時に初期化済みのメモリは初期化されず、残りのメモリが初期化される。
図11に、サーバ1のシステムパラメータの変更およびOSの起動処理をシーケンシャルに実行する処理の一例として、OSの起動中にBIOSのモード設定またはパラメータ設定を変更してからOSを起動する処理を示す。図中、横軸を時間軸とし、電源オフ(「Power−Off」)、BIOSの処理(「BIOS」)、OSの起動処理(「OS」)の3つの処理が実行されることを想定する。
図に示すように、まずサーバ1の電源が投入されてBIOSが起動される(図中、「Power−Off」から「BIOS」に遷移)。このとき、BIOSの処理においてサーバ1の初回起動時におけるサーバ1内のメモリの初期化が実行される。BIOSの処理が完了すると、OSの起動処理が実行される(図中、「BIOS」から「OS」に遷移)。そして、OSの起動処理中に、BIOSのモード設定またはパラメータ設定が変更される。この結果、サーバ1において設定変更を行うため、サーバ1が再起動される(図中「OS」から「Power−Off」に遷移)。
サーバ1が再起動(2回目の起動)されてBIOSが起動されるときに(図中、「Power−Off」から「BIOS」に遷移)、サーバ1のメモリのうち、BIOSの実行に使用されるメモリが選択および初期化される。そして、初期化されたメモリが使用されてBIOSが起動され、BIOSの処理においてEFIシェルが実行される。そして、EFIシェル上で、初回起動時におけるBIOSのモード設定またはパラメータ設定の変更に従って、BIOS設定が変更される。次いで、BIOS設定の変更を有効にするため、サーバ1が再起動される(図中「BIOS」から「Power−Off」に遷移)。
サーバ1が再起動(3回目の起動)されたBIOSが起動され(図中、「Power−Off」から「BIOS」に遷移)、EFIシェルの実行に使用された初期化済みのメモリ以外のメモリが初期化される。この結果、サーバ1においてOSを起動する際に(図中、「OS」から「OS」に遷移)、EFIシェルの実行に使用されたメモリの初期化を省略できるため、メモリの初期化時間が短縮される。
以上より、サーバ1において上記の構成が適用されることで、サーバ1の再起動時に初期化済みのメモリが再度初期化される現象を回避することができる。したがって、上記の説明において、サーバ1のOSインストール処理やサーバ1のシステムパラメータの変更をシーケンシャルに実行する処理が、第1の処理と情報処理装置の再起動処理と第2の処理と含む処理の一例に相当する。
また、上記の実施形態において、CPUは、単一のソケットで接続される単一のCPUがマルチコア構成を有していてもよい。上記の少なくとも一部の処理は、CPU以外のプロセッサ、例えば、Digital Signal Processor(DSP)、Graphics Processing Unit(GPU)、数値演算プロセッサ、ベクトルプロセッサ、画像処理プロセッサ等の専用プロセッサで行われてもよい。また、上記の少なくとも一部の処理は、集積回路(IC)、その他のディジタル回路であってもよい。また、上記各部の少なくとも一部にアナログ回路が含まれてもよい。集積回路は、LSI、Application Specific Integrated Circuit(ASIC
)、プログラマブルロジックデバイス(PLD)を含む。PLDは、例えば、Field-Programmable Gate Array(FPGA)を含む。上記各部は、プロセッサと集積回路との組み合
わせであってもよい。組み合わせは、例えば、マイクロコントローラ(MCU)、System-on-a-Chip(SoC)、システムLSI、チップセットなどと呼ばれる。
<コンピュータが読み取り可能な記録媒体>
コンピュータその他の機械、装置(以下、コンピュータ等)に上記情報処理装置の設定を行うための管理ツール、OSその他を実現させるプログラムをコンピュータ等が読み取り可能な記録媒体に記録することができる。そして、コンピュータ等に、この記録媒体のプログラムを読み込ませて実行させることにより、その機能を提供させることができる。
ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。このような記録媒体のうちコンピュータ等から取り外し可能なものとしては、例えばフレキシブルディスク、光磁気ディスク、CD−
ROM、CD−R/W、DVD、ブルーレイディスク、DAT、8mmテープ、フラッシュメモリ等のメモリカード等がある。また、コンピュータ等に固定された記録媒体としてハードディスクやROM等がある。
以上の実施形態に関し、さらに以下の付記を開示する。
(付記1)
複数のメモリ領域を有し、第1の処理と情報処理装置の再起動処理と第2の処理とを含む処理を実行する情報処理装置の制御プログラムであって、
前記情報処理装置に、
前記複数のメモリ領域のうち、前記第1の処理の実行に使用されるメモリ領域を初期化する処理と、
前記複数のメモリ領域の各メモリ領域が初期化済みであるか否かを示す第1の情報を記憶部に記憶する処理と、
前記初期化したメモリ領域を使用して前記第1の処理を実行する処理と、
前記情報処理装置の前記再起動処理において、前記第1の情報に基づいて、初期化済みでないメモリ領域を前記第2の処理の実行に使用されるメモリ領域として初期化する処理と
を実行させる情報処理装置の制御プログラム。
(付記2)
前記情報処理装置に、
前記第2の処理の実行に使用されるメモリ領域を選択する処理と、
前記選択されたメモリ領域を初期化する処理と、
前記選択されたメモリ領域を使用して前記第2の処理を実行する処理と
をさらに実行させる付記1に記載の情報処理装置の制御プログラム。
(付記3)
前記情報処理装置に、
前記第2の処理が完了したか否かを示す第2の情報を前記記憶部に記憶する処理と、
前記情報処理装置の起動時に、前記第2の情報が前記第2の処理が完了したことを示す場合に、前記第1の情報が示す初期化済みでないメモリ領域の初期化を実行する処理と
をさらに実行させる付記1または2に記載の情報処理装置の制御プログラム。
(付記4)
複数のメモリ領域を有し、第1の処理と情報処理装置の再起動処理と第2の処理とを含む処理を実行する情報処理装置であって、
前記複数のメモリ領域のうち、前記第1の処理の実行に使用されるメモリ領域を初期化する初期化部と、
前記複数のメモリ領域の各メモリ領域が初期化済みであるか否かを示す第1の情報を記憶する記憶部と、
前記初期化したメモリ領域を使用して前記第1の処理を実行する処理を実行する実行部と、
を有し、
前記初期化部は、前記情報処理装置の前記再起動処理において、前記第1の情報に基づいて、初期化済みでないメモリ領域を前記第2の処理の実行に使用されるメモリ領域として初期化する
情報処理装置。
(付記5)
前記情報処理装置は、
前記第2の処理の実行に使用されるメモリ領域を選択する選択部
を有し、
前記初期化部は、前記選択されたメモリ領域を初期化し、
前記実行部は、前記選択されたメモリ領域を使用して前記第2の処理を実行する
付記4に記載の情報処理装置。
(付記6)
前記記憶部は、前記第2の処理が完了したか否かを示す第2の情報を記憶し、
前記初期化部は、前記情報処理装置の起動時に、前記第2の情報が前記第2の処理が完了したことを示す場合に、前記第1の情報が示す初期化済みでないメモリ領域の初期化を実行する
付記4または5に記載の情報処理装置。
(付記7)
複数のメモリ領域を有し、第1の処理と情報処理装置の再起動処理と第2の処理とを含む処理を実行する情報処理装置の制御方法であって、
前記複数のメモリ領域のうち、前記第1の処理の実行に使用されるメモリ領域を初期化し、
前記複数のメモリ領域の各メモリ領域が初期化済みであるか否かを示す第1の情報を記憶部に記憶し、
前記初期化したメモリ領域を使用して前記第1の処理を実行し、
前記情報処理装置の前記再起動処理において、前記第1の情報に基づいて、初期化済みでないメモリ領域を前記第2の処理の実行に使用されるメモリ領域として初期化する
情報処理装置の制御方法。
(付記8)
前記第2の処理の実行に使用されるメモリ領域を選択し、
前記選択されたメモリ領域を初期化し、
前記選択されたメモリ領域を使用して前記第2の処理を実行する
付記7に記載の情報処理装置の制御方法。
(付記9)
前記第2の処理が完了したか否かを示す第2の情報を前記記憶部に記憶し、
前記情報処理装置の起動時に、前記第2の情報が前記第2の処理が完了したことを示す場合に、前記第1の情報が示す初期化済みでないメモリ領域の初期化を実行する
付記7または付記8に記載の情報処理装置の制御方法。
100 サーバ
101〜104 CPU
101a〜101h メモリ
106 DVDドライブ
107 不揮発性メモリ
109、110 HDD

Claims (5)

  1. 複数のメモリ領域を有し、第1の処理と情報処理装置の再起動処理と第2の処理とを含む処理を実行する情報処理装置の制御プログラムであって、
    前記情報処理装置に、
    前記複数のメモリ領域のうち、前記第1の処理の実行に使用されるメモリ領域を初期化する処理と、
    前記複数のメモリ領域の各メモリ領域が初期化済みであるか否かを示す第1の情報を記憶部に記憶する処理と、
    前記初期化したメモリ領域を使用して前記第1の処理を実行する処理と、
    前記情報処理装置の前記再起動処理において、前記第1の情報に基づいて、初期化済みでないメモリ領域を前記第2の処理の実行に使用されるメモリ領域として初期化する処理と
    を実行させる情報処理装置の制御プログラム。
  2. 前記情報処理装置に、
    前記第2の処理の実行に使用されるメモリ領域を選択する処理と、
    前記選択されたメモリ領域を初期化する処理と、
    前記選択されたメモリ領域を使用して前記第2の処理を実行する処理と
    をさらに実行させる請求項1に記載の情報処理装置の制御プログラム。
  3. 前記情報処理装置に、
    前記第2の処理が完了したか否かを示す第2の情報を前記記憶部に記憶する処理と、
    前記情報処理装置の起動時に、前記第2の情報が前記第2の処理が完了したことを示す場合に、前記第1の情報が示す初期化済みでないメモリ領域の初期化を実行する処理と
    をさらに実行させる請求項1または2に記載の情報処理装置の制御プログラム。
  4. 複数のメモリ領域を有し、第1の処理と情報処理装置の再起動処理と第2の処理とを含む処理を実行する情報処理装置であって、
    前記複数のメモリ領域のうち、前記第1の処理の実行に使用されるメモリ領域を初期化する初期化部と、
    前記複数のメモリ領域の各メモリ領域が初期化済みであるか否かを示す第1の情報を記憶する記憶部と、
    前記初期化したメモリ領域を使用して前記第1の処理を実行する実行部と、
    を有し、
    前記初期化部は、前記情報処理装置の前記再起動処理において、前記第1の情報に基づいて、初期化済みでないメモリ領域を前記第2の処理の実行に使用されるメモリ領域として初期化する
    情報処理装置。
  5. 複数のメモリ領域を有し、第1の処理と情報処理装置の再起動処理と第2の処理とを含む処理を実行する情報処理装置の制御方法であって、
    前記複数のメモリ領域のうち、前記第1の処理の実行に使用されるメモリ領域を初期化し、
    前記複数のメモリ領域の各メモリ領域が初期化済みであるか否かを示す第1の情報を記憶部に記憶し、
    前記初期化したメモリ領域を使用して前記第1の処理を実行し、
    前記情報処理装置の前記再起動処理において、前記第1の情報に基づいて、初期化済みでないメモリ領域を前記第2の処理の実行に使用されるメモリ領域として初期化する
    情報処理装置の制御方法。
JP2016063850A 2016-03-28 2016-03-28 情報処理装置の制御プログラム、情報処理装置および情報処理装置の制御方法 Active JP6686614B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016063850A JP6686614B2 (ja) 2016-03-28 2016-03-28 情報処理装置の制御プログラム、情報処理装置および情報処理装置の制御方法
US15/455,933 US10459645B2 (en) 2016-03-28 2017-03-10 Information processing apparatus and method of controlling information processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016063850A JP6686614B2 (ja) 2016-03-28 2016-03-28 情報処理装置の制御プログラム、情報処理装置および情報処理装置の制御方法

Publications (2)

Publication Number Publication Date
JP2017182165A true JP2017182165A (ja) 2017-10-05
JP6686614B2 JP6686614B2 (ja) 2020-04-22

Family

ID=59898006

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016063850A Active JP6686614B2 (ja) 2016-03-28 2016-03-28 情報処理装置の制御プログラム、情報処理装置および情報処理装置の制御方法

Country Status (2)

Country Link
US (1) US10459645B2 (ja)
JP (1) JP6686614B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113868151A (zh) * 2019-05-16 2021-12-31 华为技术有限公司 配置镜像内存的方法、装置及计算机存储介质
US11243780B2 (en) * 2020-05-19 2022-02-08 EMC IP Holding Company LLC System and method for operating system installation using a dual-flash device
US11797389B2 (en) 2020-05-19 2023-10-24 EMC IP Holding Company LLC System and method for recovering an operating system after an upgrade hang using a dual-flash device
US11481278B2 (en) 2020-05-19 2022-10-25 EMC IP Holding Company LLC System and method for recovering an operating system after a runtime hang using a dual-flash device
US11550655B2 (en) 2020-05-19 2023-01-10 EMC IP Holding Company LLC System and method for monitoring and upgrading a dual-flash device

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11265289A (ja) * 1998-03-16 1999-09-28 Mitsubishi Electric Corp 情報処理装置および情報処理装置の高速初期起動方法
US6785806B1 (en) * 1999-12-30 2004-08-31 Intel Corporation Bios having macro/effector pairs for hardware initialization
US20040158701A1 (en) * 2003-02-12 2004-08-12 Dell Products L.P. Method of decreasing boot up time in a computer system
US7065688B1 (en) * 2003-02-19 2006-06-20 Advanced Micro Devices, Inc. Simultaneous multiprocessor memory testing and initialization
US20050216721A1 (en) * 2004-03-24 2005-09-29 Zimmer Vincent J Methods and apparatus for initializing a memory
JP5286796B2 (ja) * 2008-01-17 2013-09-11 日本電気株式会社 メモリ制御装置
US7987336B2 (en) 2008-05-14 2011-07-26 International Business Machines Corporation Reducing power-on time by simulating operating system memory hot add
WO2010058440A1 (ja) 2008-11-19 2010-05-27 富士通株式会社 メモリ初期化方法、メモリ初期化プログラム
US8429390B2 (en) * 2009-12-24 2013-04-23 Insyde Software Corp. Method for performing quick boot and general boot at bios stage

Also Published As

Publication number Publication date
US20170277468A1 (en) 2017-09-28
JP6686614B2 (ja) 2020-04-22
US10459645B2 (en) 2019-10-29

Similar Documents

Publication Publication Date Title
JP6686614B2 (ja) 情報処理装置の制御プログラム、情報処理装置および情報処理装置の制御方法
JP5489182B2 (ja) プリロードする方法及びコントローラ
TWI678613B (zh) 系統開機碼記憶體管理方法、記憶體裝置及其製造方法
KR102261815B1 (ko) 펌웨어 업데이트 시간을 줄일 수 있는 데이터 저장 장치, 및 이를 포함하는 데이터 처리 시스템
TWI514408B (zh) 於裝置開機期間處置來自非揮發性記憶體之錯誤
EP3002677A1 (en) System and method for managing multiple bios default configurations
US9158475B2 (en) Memory apparatus and method therefor
TWI397007B (zh) 系統支援儲存及電腦系統
JP5860543B2 (ja) ブートデータのロード
US20160246612A1 (en) Network bios management
JP5786955B2 (ja) メモリ縮退方法及び情報処理装置
US10496443B2 (en) OS/hypervisor-based persistent memory
JP2017510891A (ja) 寿命の終わりの条件に到達したときにソリッドステートメモリへの書き込むを制限するための方法及び装置
KR20130107070A (ko) Ssd 콘트롤러 및 그의 제어 방법
KR20210063358A (ko) 메모리 타이밍 파라미터의 동적 구성
TWI475485B (zh) 韌體更新之方法及其相關電腦系統
CN112667442B (zh) 基于非易失内存器件启动系统的控制方法、装置及设备
WO2018059565A1 (zh) 闪存数据的备份方法及系统
US10628309B1 (en) Loading a serial presence detect table according to jumper settings
KR20120031017A (ko) 데이터 처리를 위한 장치에서 결합된 메모리 및 저장 디바이스
TWI754221B (zh) 軟體存留性關閉技術
JP5025670B2 (ja) 情報処理装置およびデータ記憶装置
JP2017201481A (ja) 情報処理装置、情報処理装置の制御方法および情報処理装置の制御プログラム
TW201734800A (zh) 設定磁碟陣列的方法
JP4735765B2 (ja) Linuxプログラム起動システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181210

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191029

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191105

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191225

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200316

R150 Certificate of patent or registration of utility model

Ref document number: 6686614

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150