JP2010117984A - 主記憶データ書き換え装置及び方法 - Google Patents

主記憶データ書き換え装置及び方法 Download PDF

Info

Publication number
JP2010117984A
JP2010117984A JP2008292238A JP2008292238A JP2010117984A JP 2010117984 A JP2010117984 A JP 2010117984A JP 2008292238 A JP2008292238 A JP 2008292238A JP 2008292238 A JP2008292238 A JP 2008292238A JP 2010117984 A JP2010117984 A JP 2010117984A
Authority
JP
Japan
Prior art keywords
data
information processing
rewriting
processing apparatus
rewrite
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
JP2008292238A
Other languages
English (en)
Other versions
JP5208690B2 (ja
Inventor
Keisuke Mera
恵介 米良
Takeshi Ishihara
丈士 石原
Nobuhiko Sugasawa
延彦 菅沢
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2008292238A priority Critical patent/JP5208690B2/ja
Priority to US12/561,700 priority patent/US8725962B2/en
Publication of JP2010117984A publication Critical patent/JP2010117984A/ja
Application granted granted Critical
Publication of JP5208690B2 publication Critical patent/JP5208690B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/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
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7202Allocation control and policies
    • 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)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Power Sources (AREA)
  • Small-Scale Networks (AREA)

Abstract

【課題】情報処理装置の動作停止期間において不揮発性記憶媒体に保持されている主記憶データを書き換え可能な主記憶データ書き換え装置を提供する。
【解決手段】ハイバネーション機能を有するOSによって作成される主記憶データ中の対象データに対する書き換え条件を解析し、情報処理装置の外部から対象データを代替する環境データを取得するための第1の処理内容及び対象データを環境データに書き換えるための第2の処理内容を作成する書き換え条件解析部111と、動作停止期間において対象データを書き換えるために予め定められる起動時刻に情報処理装置が一時的に起動すると、第1の処理内容に従って環境データを取得する環境データ処理部112と、第2の処理内容に従って不揮発性記憶媒体において対象データが記憶される領域を環境データで書き換える書き換え処理部113とを具備する。
【選択図】 図1

Description

本発明は、情報処理装置の動作停止期間において主記憶データを書き換える主記憶データ書き換え装置及び方法に関する。
近年、パーソナルコンピュータ(PC)に代表される様々な情報処理装置が多くのユーザによって使用されている。情報処理装置には、ユーザの多様な使用態様に適応するために、複数の動作停止方式が設けられる。最も単純な動作停止方式は、情報処理装置の電源を単にOFFにすること(いわゆるシャットダウン)である。しかしながら、情報処理装置の主記憶部にはアクセス速度に優れる揮発性記憶媒体が用いられることが多い。従って、電源をOFFにすると主記憶データが失われてしまうので、動作再開から以前の作業状態に復帰するまでに比較的多くの時間を要する。即ち、ユーザが一時的に作業を中断するような使用態様に関して、シャットダウンは不向きである。
一方、主記憶部への電源供給を省電力モードで継続して主記憶データを保持することにより、動作再開から以前の作業状態に素早く復帰できる動作停止方式(いわゆるサスペンド、スタンバイ等)も知られている。サスペンドは、動作停止期間にある程度の電力を消費するものの、前述の通り動作再開から以前の作業状態に素早く復帰できる点で有用である。また、非特許文献1には、情報処理装置の動作停止前に、不揮発性記憶媒体で構成される補助記憶部等に主記憶データを一時的に待避させることにより、動作再開から以前の作業状態に素早く復帰しつつ、サスペンドに比べて電力消費を抑えることのできる動作停止方式(いわゆるハイバネーション(hibernation)、ソフトウェアサスペンド)も提案されている。
また、特許文献1には、通信装置の電源をONしてから、中央処理装置(CPU;central processing unit)が起動を完了するまでの期間(以下、単に起動準備期間と称する)に、ネットワークを介して受信されたデータ(パケット)の取りこぼしを防ぐことを目的とした動作再開方式が提案されている。上記通信装置には、主記憶手段とは別個に副記憶手段が設けられており、上記起動準備期間に受信されたデータは、当該副記憶手段に一時的に記憶される。そして、CPUの起動完了後に、上記副記憶手段に記憶されたデータが主記憶手段にコピーされる。従って、特許文献1記載の通信装置によれば、起動準備期間における受信データの取りこぼしを防ぐことができる。
また、特許文献2記載の呼情報サーバの同期方法は、呼情報サーバを互いに物理的に分離された稼働系サーバ及び待機系サーバで構成することにより冗長化し、いわゆるRDMA(Remote Direct Memory Access)機能を用いて、両サーバ間でデータを同期させている。従って、特許文献2記載の呼情報サーバの同期方法によれば、稼働系サーバが何らかの理由でダウンした場合に、代替手段としての待機系サーバが動作を継続できるので、高い信頼性を期待できる。
特許第3882452号公報(12頁、図2) 特開2006−270581号公報(7頁、図1) "Linux(登録商標) Software Suspend"、[online]、[2008/10/22検索]、インターネット<URL: http://lxr.linux.no/linux+v.2.6.26/Documentation/power/swsusp.txt>
例えば、非特許文献1記載のいわゆるソフトウェアサスペンド(ハイバネーション)によれば、情報処理装置は、動作再開から以前の作業状態に素早く復帰し、かつ、動作停止期間における消費電力を抑えられる。ところで、主記憶データの中には、例えば有効期限が設けられているデータ、時間の経過に伴い内容が変更されるデータ等のデータ種別が含まれ得る。即ち、情報処理装置の動作停止期間が比較的長いと、不揮発性記憶媒体に保持されている主記憶データの一部が失効したり、内容が古くなったりするおそれがある。従って、情報処理装置の動作を再開させたとしても、上記データ種別に属するデータの更新が必要となり、スムーズに以前の作業状態に復帰できないおそれがある。尚、情報処理装置の動作停止期間において、不揮発性記憶媒体に保持されている主記憶データを書き換える手段は、上記特許文献1及び特許文献2のいずれにも開示されていない。
従って、本発明は情報処理装置の動作停止期間において不揮発性記憶媒体に保持されている主記憶データを書き換え可能な主記憶データ書き換え装置を提供することを目的とする。
本発明の一態様に係る主記憶データ書き換え装置は、情報処理装置の動作停止前に主記憶部に記憶されている主記憶データを、前記情報処理装置の動作停止期間に亘って不揮発性記憶媒体に保持させた状態で前記情報処理装置の動作を停止させる機能を有するオペレーティング・システムによって作成される前記主記憶データ中の対象データに対する書き換え条件を解析し、前記情報処理装置の外部から当該対象データを代替する環境データを取得するための第1の処理内容及び前記対象データを前記環境データに書き換えるための第2の処理内容を作成する書き換え条件解析部と、前記動作停止期間において前記対象データを書き換えるために予め定められる起動時刻に前記情報処理装置が一時的に起動すると、前記第1の処理内容に従って前記環境データを取得する環境データ処理部と、前記第2の処理内容に従って前記不揮発性記憶媒体において前記対象データが記憶される領域を前記環境データで書き換える書き換え処理部とを具備する。
本発明によれば、情報処理装置の動作停止期間において不揮発性記憶媒体に保持されている主記憶データを書き換え可能な主記憶データ書き換え装置を提供できる。
以下、図面を参照して、本発明の実施形態について説明する。
(第1の実施形態)
図1に示すように、本発明の第1の実施形態に係る主記憶データ書き換え装置110を搭載する情報処理装置100は、MPU(micro processing unit)101、主記憶部102、補助記憶部103、タイマ部104、ネットワークインタフェース105及び起動用ファームウェア記憶部106を有する。
MPU101は、オペレーティング・システム(以下、単にOSと称する)を含む各種ソフトウェアに関する処理を実行可能なデバイスである。MPU101は、汎用のプロセッサで構成されるのが主流であるが、専用の半導体プロセッサであるLSI(Large Scale Integration)、ASIC(Application Specific Integrated Circuit)等で構成されてもよい。また、MPU101は、再構成可能なプロセッサであるFPGA(Field Programmable Gate Array)で構成されてもよいし、動的再構成可能なリコンフィギュラブル・プロセッサ(reconfigurable processor)で構成されてもよい。また、MPU101は複数のコアを有するマルチコアプロセッサで構成されてもよいし、情報処理装置100において複数搭載されてもよい。
以降の説明において、OSという用語は、中核部分であるカーネルの他に、カーネルの機能の管理及びカーネルの機能を用いて情報処理装置100によって実行される機能の管理を行うサービス(いわゆるデーモン)と、上記各種機能を用いて情報処理を実行するソフトウェア(アプリケーション)とを含む。尚、情報処理装置を後述する主記憶データ書き換え装置110として動作させるための主記憶データ書き換えプログラムに相当するソフトウェアは、OSという用語に含まれるソフトウェアでないものとする。
主記憶部102には、MPU101によって実行されるソフトウェアが必要とするデータが一時的に記憶される。主記憶部102は、いわゆる揮発性記憶媒体で構成され、電力供給の停止により記憶されているデータが消失する。例えば、主記憶部102は、SRAM(Static Random Access Memory)、DRAM(Dynamic Random Access Memory)等で構成される。
補助記憶部103は、MPU101によって実行されるソフトウェア、当該ソフトウェアの処理対象となるデータ等が記憶される。補助記憶部103は、いわゆる不揮発性記憶媒体で構成され、電力供給が停止しても記憶されているデータが消失しない。例えば、補助記憶部103は、磁気記憶媒体であるHDD(Hard Disc Drive)、半導体記憶媒体であるNOR型フラッシュメモリ、NAND型フラッシュメモリ、SSD(Solid State Drive)等で構成される。補助記憶部103には、MPU101で実行中のOSがハイバネーションに移行する際に、当該OSの作用により主記憶部102に記憶されている主記憶データ120が待避(コピー)される。上記主記憶データ120は、情報処理装置100の動作再開時に、主記憶部102に再度コピーされる。
ここで、ハイバネーションという用語は、情報処理装置の動作再開から以前の作業状態に素早く復帰できるように、動作停止前の主記憶データを動作停止期間に亘って不揮発性記憶媒体に保持させた状態で、情報処理装置の動作を停止させることをいうものとする。即ち、本実施形態に係る情報処理装置100のように、主記憶部が揮発性記憶媒体で構成されていれば、主記憶データを当該主記憶部とは別の不揮発性記憶媒体に一時的に待避させた状態で、情報処理装置の電源をOFFにすることを指す。一方、主記憶部が不揮発性記憶媒体で構成されていれば、当該主記憶データを主記憶部に保持させた状態で、情報処理装置の電源をOFFにすることを指す。
タイマ部104は、情報処理装置100の電源のON/OFFに関わらず時刻を計測する。タイマ部104は、情報処理装置100の動作停止期間において、計測時刻が予め設定されている次回起動時刻に達すると、情報処理装置100の電源をONに切り替える。
ネットワークインタフェース105は、情報処理装置100が外部の情報処理装置とデータの送受信を行うためのデバイスである。ネットワークインタフェース105は、イーサネット(登録商標)、ISDN(登録商標)、FAX Modem等の有線通信用インタフェースでもよいし、WiFi(登録商標)(無線LAN)、携帯電話等の無線通信用インタフェースでもよい。また、図1には、1つのネットワークインタフェース105が示されているが、複数のネットワークインタフェース105が設けられてもよい。
起動用ファームウェア記憶部106には、情報処理装置100の各構成要素を認識する機能、初期化機能等を有する起動用ファームウェアが記憶されている。起動用ファームウェア記憶部106は、不揮発性記憶媒体で構成される。起動用ファームウェア記憶部106は、例えば前述した補助記憶部103の一部の領域として構成されてもよいし、補助記憶部103とは別に独立して構成されてもよい。ここで、起動用ファームウェアは、例えばBIOS(Basic Input Output System)、EFI(Extensible Firmware Interface)、EFIを用いてBIOSと同様の処理を実行するソフトウェア等である。上記起動用ファームウェアは、タイマ部104に対して次回起動時刻を設定する機能を有していてもよい。また、上記起動用ファームウェアは、情報処理装置100の電源がONに切り替えられた際に、後述する主記憶データ書き換え装置110に関する処理と、補助記憶部103に記憶されているOS等のソフトウェアに関する処理とのいずれを開始するかを、予め設定されている条件に基づき判定する機能を有する。
上記予め設定されている条件は、例えば、タイマ部104の作用により情報処理装置100の電源がONに切り替えられていれば主記憶データ書き換え装置110に関する処理を開始し、それ以外のトリガ(例えば、ユーザによる情報処理装置100の電源ボタンの押下)により情報処理装置100の電源がONに切り替えられていれば補助記憶部103に記憶されているOS等のソフトウェアに関する処理を開始する等の、上記ファームウェアの条件分岐に用いられる情報である。
主記憶データ書き換え装置110は、書き換え条件解析部111、環境データ処理部112及び書き換え処理部113を有し、これらの協働により主記憶データ書き換え処理を実現する。ここで、主記憶データ書き換え処理は、情報処理装置100の動作停止前に予めOSによって指定される書き換え対象データに応じた書き換え条件に従って、情報処理装置の動作停止期間において適切に主記憶データの書き換えを行う処理である。主記憶データ書き換え装置110は、専用の半導体プロセッサであるLSI、ASIC等で構成されてもよいし、MPU101と同様の汎用プロセッサで構成されてもよいし、再構成可能なプロセッサであるFPGAで構成されてもよいし、動的再構成可能なリコンフィギュラブル・プロセッサで構成されてもよい。
書き換え条件解析部111は、主記憶データに含まれる様々なデータ種別のうち、書き換えが必要になり得るデータ種別に属する書き換え対象データに関する書き換え条件を、MPU101で実行中のOSから取得し、当該書き換え条件を書き換え対象データ毎に解析する。書き換え条件解析部111は、書き換え条件の解析結果に基づき、環境データ処理部112及び書き換え処理部113が実行すべき処理内容を夫々作成する。
環境データ処理部112は、書き換え条件解析部111によって作成された処理内容に基づき、ネットワークインタフェース105を介して情報処理装置100の外部から情報(以下、単に環境データと称する)を取得し、当該環境データを解析する。環境データ処理部112は、上記解析の結果、環境データが書き換え対象のデータ種別に属するデータであれば(即ち、環境データが書き換え対象データを代替するデータであれば)、当該環境データを書き換え処理部113に入力する。環境データ処理部112に必要な機能は、書き換え対象データの属するデータ種別に応じて異なる。例えば、環境データ処理部112は、ネットワークインタフェース105に割り当てられるIP(Internet Protocol)アドレス及び当該IPアドレスのリース期限を環境データとして、DHCP(Dynamic Host Configuration Protocol)に基づきネットワークインタフェース105を介して取得し、取得したIPアドレス及び当該IPアドレスのリース期限を書き換え処理部113に入力する。本例であれば、ネットワークインタフェース105を制御する機能と、イーサネットプロトコルで通信を行う機能と、DHCPに基づきIPアドレスを取得する機能が、環境データ処理部112に必要である。
書き換え処理部113は、書き換え条件解析部111によって作成された処理内容に基づき、環境データ処理部112からの環境データを用いて補助記憶部103に一時的に待避されている主記憶データ120を書き換える。
以下、図2を用いて、MPU101で実行中のOSによるハイバネーション移行処理を説明する。
まず、OSは、実行中の全てのプロセスを一時停止させる(ステップS201)。次に、OSは、主記憶データのうち動作停止期間において書き換え対象となり得るデータ種別(即ち、動作停止期間において失効したり、内容が古くなったりするおそれがあるデータ種別)に属する書き換え対象データに対して、書き換え条件を作成する(ステップS202)。ステップS202において作成される書き換え条件の具体例は後述する。尚、上記書き換え条件は予め定められていてもよいし、ハイバネーション移行処理が実行される度に作成されてもよい。
ここで、図4を用いて、ステップS202における具体的処理内容の一例を説明する。本例において、DHCPに基づき取得されるIPアドレス及び当該IPアドレスのリース期限が、書き換え対象のデータ種別である。
まず、OSは、MMU(memory management unit)のページテーブルまたはTLB(translation lookaside buffer)を参照することにより、ネットワークインタフェース105に割り当てられているIPアドレスと、当該IPアドレスのリース期限(DHCPリース期限)とを格納するメモリ領域の仮想アドレスを主記憶部102上の物理アドレスに変換する(ステップS401)。尚、セグメント、ページング等の影響により上記物理的領域が密集しておらず、互いに物理的に分離された複数の小領域に分割されている場合には、OSは上記複数の小領域の各々を識別する物理アドレスを取得してよい。
次に、OSは、ステップS401において取得した主記憶部102上の物理アドレスを、補助記憶部103上の物理アドレスに変換する(ステップS402)。即ち、OSは、書き換え対象のデータ種別に属するデータ(書き換え対象データ)が、情報処理装置100の動作停止期間において待避される、補助記憶部103上の物理的領域(書き換え対象領域)を示す物理アドレスを書き換え条件の一部として作成する。
次に、OSは、上記IPアドレスのリース期限に基づき次回起動時刻を算出し(ステップS403)、処理は終了する。即ち、OSは、主記憶データ書き換え装置110が書き換え対象データを書き換えるために、情報処理装置100が一時的に起動すべき時刻である次回起動時刻を書き換え条件の一部として作成している。ここで、次回起動時刻の算出手法は任意であり、例えばリース期限の1時間前を次回起動時刻として算出してよい。
OSは、ステップS202において作成した書き換え条件を、書き換え条件解析部111に指示する(ステップS203)。ステップS203における、書き換え条件の指示態様は任意であるが、例えば、主記憶部102において設けられた主記憶データ書き換え装置106用の領域に書き換え条件を書き込み、当該書き換え条件を主記憶データ書き換え装置106に読み込ませる、いわゆるメモリマップドI/O方式であってもよいし、主記憶データ書き換え装置106が管理するその他の記憶部に書き込み、当該書き換え条件を主記憶データ書き換え装置106に読み込ませる方式であってもよい。
次に、OSは、次回起動時刻をタイマ部104に設定する(ステップS204)。具体的には、OSは、ステップS202において書き換え対象データ毎に次回起動時刻を書き換え条件の一部として算出しているので、上記書き換え対象データ毎に算出した次回起動時刻のうち、最も近い将来に訪れるものをタイマ部104に設定する。尚、タイマ部104への次回起動時刻の設定は、起動用ファームウェア記憶部106に記憶されている起動用ファームウェアの機能を利用して実現されてもよいし、OSが直接行ってもよい。
次に、OSは、主記憶データ120を補助記憶部103に待避させる(ステップS205)。上記主記憶データ120の待避手法は、特に限定されず、ハイバネーションにおいて利用可能なものを適宜利用してよい。ステップS203において指示した書き換え条件に対する書き換え条件解析部111の処理が完了していれば(ステップS206)、OSは情報処理装置100の電源をOFFとして動作を停止させ、処理は終了する。
以下、図3を用いて、書き換え条件解析部111の動作を説明する。
前述したステップS203において、MPU101で実行中のOSから書き換え条件が指示されると、書き換え条件解析部111は動作を開始し、処理はステップS301に進む。
ステップS301において、書き換え条件解析部111は、環境データ処理部112が実行すべき環境データ処理内容を、上記書き換え条件に基づき作成する。例えば書き換え条件が前述した図4のフローチャートに従って作成されたものであれば、環境データ処理内容は、(a)ネットワークインタフェース105を介してDHCPに従う通信を実行すること、(b)ネットワークインタフェース105に割り当てられているIPアドレスを更新することとを少なくとも含む。上記環境データ処理内容は、情報処理装置100の動作停止期間において行われる処理内容なので、消失を避けるために情報処理装置100に搭載される補助記憶部103等の不揮発性記憶媒体に記憶される。尚、上記環境データ処理内容は、任意の不揮発性記憶媒体に、任意のデータ形式で記憶されてよい。
次に、書き換え条件解析部111は、書き換え処理部113が実行すべき書き換え処理内容を、上記書き換え条件に基づき作成する(ステップS302)。例えば書き換え条件が前述した図4のフローチャートに従って作成されたものであれば、書き換え処理内容は、環境データ処理部111によって更新されたIPアドレス及び当該IPアドレスのリース期限を、書き換え条件中の物理アドレスで識別される補助記憶部103上の書き換え対象領域に書き込むことを少なくとも含む。上記書き換え処理内容は、情報処理装置100の動作停止期間において行われる処理内容なので、消失を避けるために情報処理装置100に搭載される補助記憶部103等の不揮発性記憶媒体に記憶される。尚、書き換え処理内容は、任意の不揮発性記憶媒体に、任意のデータ形式で記憶されてよい。
OSから指示された全ての書き換え条件に対する処理が終了していれば書き換え条件解析部111の動作は終了し、そうでなければ未処理の書き換え条件に対する処理を行うべく処理はステップS301に戻る。尚、ステップS301及びステップS302の実行順序は、両ステップにおける処理の間にデータの依存関係が無い限り任意である。尚、上記データの依存関係の有無は、上記ステップS301及びステップS302における処理の実装態様によって定まる。
以下、図5及び図6を用いて、主記憶データ書き換え装置110による主記憶データ書き換え処理を説明する。以降の説明において、書き換え条件は前述した図4のフローチャートに従って作成されたものであるとする。
タイマ部104は、計測時刻が、例えば前述したステップS204において設定された次回起動時刻に達すると、情報処理装置100の電源をONにする。次に、上記起動用ファームウェアが実行され、主記憶データ書き換え装置110の動作が開始する。
まず、環境データ処理部112が、書き換え条件解析部111によって予め作成されている(ステップS301参照)環境データ処理内容を不揮発性記憶媒体から読み出し、処理はステップS501に進む。
ステップS501において、環境データ処理部112は、プロトコル処理、即ち、DHCP処理を呼び出す。次に、環境データ処理部112は、ネットワークインタフェース105を介してDHCPに従う通信を行って、当該ネットワークインタフェース105に割り当てられているIPアドレスを更新し、更新済みのIPアドレス及び当該IPアドレスのリース期限を取得する(ステップS502)。次に、環境データ処理部112は、書き換え処理部113を起動する(ステップS503)。
全てのデータ種別に対する環境データ処理が終了していれば処理はステップS505に進み、そうでなければ未処理のデータ種別に対する環境データ処理を行うべく処理はステップS501に戻る。ステップS505において、環境データ処理部112は次回起動時刻を算出してタイマ部104に設定し、処理は終了する。尚、ステップS505における処理内容は、ステップS204における処理内容と同一でもよいし、異なってもよい。
書き換え処理部113は、環境データ処理部112によって起動されると、書き換え条件解析部111によって予め作成されている(ステップS302参照)書き換え処理内容を不揮発性記憶媒体から読み出し、処理はステップS601に進む。
ステップS601において、書き換え処理部113は、書き換え条件中の物理アドレスによって識別される補助記憶部103上の書き換え対象領域を、ステップS502において取得されたIPアドレス及び当該IPアドレスのリース期限で書き換える。即ち、書き換え処理部113は、補助記憶部103上に待避されている主記憶データ120のうち、従前のIPアドレス及び当該IPアドレスのリース期限に相当するデータを書き換える。
主記憶データ書き換え装置110は、上記図5及び図6の処理が終了すると、情報処理装置100の電源を再びOFFとし、動作を停止させる。主記憶データ書き換え装置110は、以上の一連の主記憶データ書き換え処理を、情報処理装置100の動作再開(即ち、以前の作業状態への復帰)まで繰り返し行う。そして、ユーザ操作(例えば、電源ボタンの押下)により情報処理装置100の電源がONとなると、動作再開のための処理が行われる。上記動作再開のための処理には、ハイバネーション技術において利用可能なものを適用すればよく、例えば補助記憶部103に記憶されている主記憶データを再び主記憶部102に書き込む処理を適用すればよい。前述したようにIPアドレス及び当該IPアドレスのリース期限の書き換えを行っていれば、動作停止期間が従前のIPアドレスのリース期限を越えていたとしても、OSは新たなIPアドレスを取得することなく即座に通信を実行することができる。
尚、書き換え対象のデータ種別の一例としてIPアドレス及び当該IPアドレスのリース期限について説明したが、本実施形態に係る主記憶データ書き換え装置が書き換え可能なデータ種別は、これに限られない。例えば、DHCPv6に従う通信によって取得可能なIPv6アドレス及び当該IPv6アドレスの有効期限も、主記憶データ書き換え処理の対象とされてよい。
また、情報処理装置100のネットワークインタフェース105がVPN(Virtual Private Network)通信(例えば、IPsec(Security Architecture for Internet Protocol))を行う場合、VPN通信の秘匿化のために通信データ(パケット)に対して暗号鍵を用いて暗号化が施される。上記暗号鍵には、セキュリティの観点から有効期限が定められ、定期的な更新を必要とする場合が多い。即ち、情報処理装置100の動作停止期間において、暗号鍵が失効するおそれがある。そこで、暗号鍵及び当該暗号鍵の有効期限を主記憶データ書き換え処理の対象とすれば、情報処理装置100の動作再開時に有効な暗号鍵を即座に使用できる。尚、新たな暗号鍵の取得には、例えばVPNの暗号鍵更新用プロトコル(例えば、IKE(Internet Key Exchange)、KINK(Kerberized Internet Negotiation of Keys))を適宜利用出来る。
また、情報処理装置100のネットワークインタフェース105を介して、OSまたはOS上で動作するソフトウェア若しくはデータファイルを更新することがある。例えば、コンピュータウィルス対策のためのウィルス対策ソフトウェアを十分に活用するためには、ウィルス検知のためのデータファイル(いわゆるウィルスパターンファイル)を定期的に更新することが望ましい。そこで、ウィルスパターンファイルを主記憶データ書き換え処理の対象とすれば、情報処理装置100の動作再開時に最新のウィルスパターンファイルを用いてウィルス対策ソフトウェアを即座に実行できる。
更に、補助記憶部103上の書き換え対象領域は、互いに物理的に分離された複数の小領域に分割されていてもよい。この場合、書き換え条件解析部111及び書き換え処理部113は、上記複数の小領域を夫々識別する複数の物理アドレスを取り扱えるように構成される。即ち、書き換え条件解析部111は、上記複数の物理アドレスが指す複数の小領域に主記憶データを分割して書き換えるような書き換え処理内容を作成し、書き換え処理部113は当該書き換え処理内容に従って上記複数の小領域に主記憶データを分割して書き換える。
以上説明したように、本実施形態に係る主記憶データ書き換え装置は、情報処理装置の動作停止前にOSが動作停止期間において書き換え対象となり得るデータ毎に作成した書き換え条件に従って、情報処理装置の動作停止期間において補助記憶部に待避されている主記憶データを書き換えるようにしている。従って、本実施形態に係る主記憶データ書き換え装置によれば、情報処理装置の動作停止期間において不揮発性記憶媒体に保持されている主記憶データを書き換えることが可能となる。即ち、本実施形態に係る主記憶データ書き換え装置によれば、情報処理装置の動作再開を高速化させることができる。
以下、本実施形態の変形例を3つ説明する。尚、下記第1乃至第3の変形例は代表的な変形例を例示しているに過ぎず、本実施形態の技術的範囲を限定するものでない。また、下記第1乃至第3の変形例は、後述する第2乃至第4の実施形態の変形例としても適宜利用可能である。
(第1の変形例)
本実施形態の第1の変形例に係る主記憶データ書き換え装置110は、書き換え対象データの異常を検査する点が前述した第1の実施形態に係る主記憶データ書き換え装置110とは異なる。
OSは、書き換え条件作成処理(前述したステップS202)において、書き換え条件として書き換え対象データの検査用データを作成しておく。検査用データは、例えば、書き換え対象データそのもの、若しくは、書き換え対象データに対して一方向性関数を適用して得られるダイジェスト値である。ここで、一方向性関数として、例えばMD5、SHA1等のハッシュ関数、CRC(cyclic redundancy check)を算出するための関数が使用可能であり、いずれの一方向性関数を使用するかは設計事項である。
書き換え条件解析部111は、上記検査用データに基づき書き換え対象データを検査することを書き換え処理部113の処理内容に加える。書き換え処理部113は、情報処理装置100の動作停止期間において、例えば図7に示す処理を行う。
まず、書き換え処理部113は、書き換え対象データが正常であるか否かを検査する(ステップS701)。具体的には、書き換え処理部113は、書き換え対象データに対して予め保存されている検査用データと、補助記憶部103に現在記憶されている書き換え対象データに基づき作成した検査対象データとが一致するか否かを判定する。上記検査対象データは、検査用データと同じ手法で作成される。書き換え対象データが正常であれば処理はステップS601に進み、そうでなければ処理はステップS703に進む。
ステップS601において書き換え処理部113は補助記憶部103の書き換え対象領域を書き換える。次に、書き換え処理部113が書き換え済みのデータに基づき改めて検査用データを作成し、不揮発性記憶媒体に保存して(ステップS702)、処理は終了する。
ステップS703において書き換え処理部113は所定のエラー処理を行う。所定のエラー処理には、例えば、ステップS701において正常でないと判定された書き換え対象データに対する以後の書き換えを省略すること、ステップS701における検査結果を不揮発性記憶媒体にログとして保存すること等が含まれる。
以上説明したように、本変形例に係る主記憶データ書き換え装置は、検査用データを用いて書き換え対象データの内容が正常であるか否かを検査している。従って、本変形例に係る主記憶データ書き換え装置によれば、書き換え対象データの正常/異常を確認し、適切な書き換えを行うことができる。
(第2の変形例)
図8に示すように、本実施形態の第2の変形例に係る主記憶データ書き換え装置110を搭載する情報処理装置800は、図1の情報処理装置100においてバッテリ部830を更に設けて構成される。以下の説明では、図8において図1と同一部分には同一符号を付して示し、異なる部分を中心に述べる。即ち、情報処理装置800は、例えばノート型PCのように、バッテリを電源として駆動可能な情報処理装置である。
バッテリ部830は、情報処理装置800の各構成要素に対して電力を供給する機能、情報処理装置800の外部から得た電力を蓄える機能(即ち、充電機能)、バッテリ残量(電力量)を計測する機能等を有する。バッテリ部830は、例えばニッケル水素バッテリ、リチウムイオンバッテリ等を有するバッテリパックで構成される。
情報処理装置800をバッテリ部830によって駆動すると、外部電源によって駆動する場合に比べて、携行性に優れるものの利用可能な電力量が限られるため動作可能時間が比較的短い。即ち、情報処理装置800をバッテリ部830によって駆動する場合には、動作可能時間をより長く確保するべく、消費電力を抑えることが望ましい。しかしながら、主記憶データ書き換え処理の実行は、情報処理装置800の一時的な起動を必要とするため、ある程度の電力を消費してしまう。そこで、本変形例において、情報処理装置800の動作可能時間をより長く確保するために、主記憶データ書き換え処理の一部を変更している。
まず、OSは、前述したステップS204において次回起動時刻を設定する前に、後述する最小起動間隔を導出しておく。OSは、最小起動間隔を導出するために、次の数式(1)に基づき最大実行回数を算出する。
Figure 2010117984
数式(1)において、使用可能バッテリ残量は、主記憶データ書き換え処理に使用可能なバッテリ部830のバッテリ残量である。使用可能バッテリ残量は、前述したバッテリ残量の計測機能により求められた計測値がそのまま適用されてもよいし、計測値から所定値を予め控除した値が適用されてもよい。上記所定値は、例えば動作再開時に情報処理装置800が何らかの処理を行うため等の理由により最低限保持しておきたい電力量であり、設計的に定めてよい。
数式(1)において、1回実行時の消費電力は、主記憶データ書き換え処理を1回実行するために必要な電力量である。1回実行時の消費電力は、例えば、主記憶データ書き換え処理の開始(即ち、情報処理装置800の電源ON)から、主記憶データ書き換え処理の終了(即ち、情報処理装置800の電源OFF)までの時間間隔の履歴を記録しておき、当該履歴に含まれる時間間隔の平均値、最頻値及び中央値のいずれかと、単位時間あたりの消費電力とを積算することにより算出できる。上記単位時間あたりの消費電力として、設計時に計測される値、若しくは、設計内容から理論的に算出される値が利用されてよい。尚、1回実行時の消費電力の算出手法は、これに限られず、任意の算出手法を利用可能である。
数式(1)において、最大実行回数は、使用可能なバッテリ残量が枯渇するまでに、実行可能な主記憶データ書き換え処理の限度数を表す。次に、OSは、次の数式(2)に基づき最小起動間隔を導出する。
Figure 2010117984
数式(2)において、典型的停止期間は、ハイバネーションによる情報処理装置800の動作停止から、当該動作停止に対応する動作再開までの期間(時間間隔)の典型値を表す。例えば、ハイバネーションによる動作停止時刻と当該動作停止時刻に対応する動作再開時刻との間の時間間隔の履歴を記録しておき、当該履歴に含まれる時間間隔の平均値、最頻値及び中央値のいずれかを、典型的停止期間として利用することができる。
数式(2)において、最小起動間隔は、上記典型的停止期間中に使用可能なバッテリ残量が枯渇しないように、主記憶データ書き換え処理を実行するための最小の起動間隔を表す。
ステップS204において、OSは上記最小起動間隔を考慮して次回起動時刻を設定する。即ち、OSは、現在時刻(即ち、次回起動時刻の設定時刻)を基準に、少なくとも上記最小起動間隔よりも長い間隔を空けて次回起動時刻を設定する。また、ステップS505において、環境データ処理部112も同様の手法で起動時刻を設定する。
以上説明したように、本変形例に係る主記憶データ書き換え装置は、バッテリ残量を考慮した主記憶データ書き換え処理を行う。従って、本変形例に係る主記憶データ書き換え装置によれば、主記憶データ書き換え処理によりバッテリ残量が枯渇する事態を防ぐことができる。
尚、上記最小起動間隔はあくまでも理想的な条件を前提として算出した予測値に過ぎないので、主記憶データ書き換え処理に起因するバッテリ残量の枯渇が完全に生じないというわけではない。従って、上記バッテリ残量の枯渇をより高確率に防ぐために、例えば、主記憶データ書き換え処理毎にバッテリ部830のバッテリ残量を計測し、閾値を下回れば以後の主記憶データ書き換え処理を省略してもよい。また、バッテリ残量が上記閾値を下回った後にバッテリ部830が充電される場合を考慮し、主記憶データ書き換え処理の実行毎、或いは、バッテリ部830の充電を検知する毎に、上記最小起動間隔を再計算するようにしてもよい。
(第3の変形例)
本実施形態の第3の変形例に係る主記憶データ書き換え装置110は、前述した第2の変形例に係る主記憶データ書き換え装置110と同様に、図8の情報処理装置800のようなバッテリ部830を備える情報処理装置に搭載される。
ステップS202においてOSは、書き換え対象のデータ種別毎の優先度を書き換え条件に加える。上記優先度は、主記憶データ書き換え処理の実行対象としての優先度を表す。例えば、バッテリ残量が比較的少ない(基準値未満)状況において、消費電力節約の観点から低い(基準値に応じた段階に比べて低い)優先度を有するデータ種別に関する主記憶データ書き換え処理は省略される。優先度は、2段階で設定されてもよいし、3段階以上で設定されてもよい。尚、各データ種別に与えるべき優先度は一義的に定められるものでなく、情報書処理装置800の設計内容次第で変わり得る。以降の説明では優先度を2段階で設定し、IPアドレス及び当該IPアドレスのリース期限に対して高い優先度を与え、暗号鍵及び当該暗号鍵の有効期限に対して低い優先度を与えた場合の、書き換え条件作成処理の内容を図9に例示する。
まず、OSは、ネットワークインタフェース105に割り当てられているIPアドレスと、当該IPアドレスのリース期限とを格納する主記憶部102上の物理アドレスを取得する(ステップS901)。また、OSは、ネットワークインタフェース105が行う通信の暗号化に用いられる暗号鍵と、当該暗号鍵の有効期限とを格納する主記憶部102上の物理アドレスを取得する(ステップS902)。
次に、OSは、ステップS901及びステップS902において取得した主記憶部102上の物理アドレスを、夫々補助記憶部103上の物理アドレスに変換する(ステップS903)。即ち、OSは、書き換え対象データが情報処理装置800の動作停止期間において待避される、補助記憶部103上の書き換え対象領域を示す物理アドレスを書き換え条件の一部として作成する。
次に、OSは、バッテリ部830のバッテリ残量が所定の基準値未満であるか否かを判定する(ステップS904)。上記所定の基準値は、設計的に定められる。バッテリ残量が基準値未満であれば、優先度の低い暗号鍵及び当該暗号鍵の有効期限の書き換え処理は行われないので、処理はステップS905に進む。バッテリ残量が基準値以上であれば、優先度の低い暗号鍵及び当該暗号鍵の有効期限の書き換え処理も行われるので、処理はステップS906に進む。
ステップS905において、OSは、優先度の高いIPアドレス及び当該IPアドレスのリース期限のみが主記憶データ書き換え処理の対象となるので、IPアドレスのリース期限のみに基づき次回起動時刻を算出し、処理は終了する。
ステップS906において、OSは、優先度の高いIPアドレス及び当該IPアドレスのリース期限のみならず、優先度の低い暗号鍵及び当該暗号鍵の有効期限も主記憶データ書き換え処理の対象となるので、IPアドレスのリース期限と暗号鍵の有効期限とに基づき次回起動時刻を算出し、処理は終了する。
尚、前述したステップS403において、環境データ処理部112は上記ステップS904乃至ステップS906と同様の処理を行うことが望ましい。
以上説明したように、本変形例に係る主記憶データ書き換え装置は、データ種別毎に主記憶データ書き換え処理の実行対象としての優先度を与えている。従って、本変形例に係る主記憶データ書き換え装置によれば、バッテリ残量が比較的少ない状況において主記憶データ書き換え処理の対象を優先度の比較的高いデータ種別に絞り込み、電力消費を効率化することができる。
(第2の実施形態)
図10に示すように、本発明の第2の実施形態に係る主記憶データ書き換え装置110を搭載する情報処理装置1000は、上記図1に示す情報処理装置100において、主記憶部102を主記憶部1002に置き換えて構成される。以下の説明では、図10において図1と同一部分には同一符号を付して示し、異なる部分を中心に述べる。
主記憶部1002には、MPU101によって実行されるソフトウェアが必要とするデータが一時的に記憶される。主記憶部1002は、不揮発性記憶媒体で構成され、電力供給の停止によっても記憶されているデータが消失しない。例えば、主記憶部1002は、EEPROM(Erasable Programmable Read Only Memory)、NOR型フラッシュメモリ、NAND型フラッシュメモリ、FeRAM(Ferroelectric Random Access Memory)、MRAM(Magnetoresistive Random Access Memory)等で構成される。特に、FeRAM及びMRAMは、DRAMと並ぶ高速処理性能、高い書き換え性能を期待できるので、高速かつ高頻度な読み書きが要求される主記憶部1002として好適である。
上記図1の主記憶部102は揮発性記憶媒体で構成されているので、OSはハイバネーションによる動作停止前に主記憶データ120を不揮発性記憶媒体で構成される補助記憶部103に待避させている。しかしながら、主記憶部1002は不揮発性記憶媒体で構成されるので、主記憶データ1020を移動させる必要が無い。従って、MPU101で実行中のOSによるハイバネーション移行処理は、図11に示すように上記図2の処理内容からステップS205に相当する処理(主記憶データの待避処理)を除いたものとなる。
また、情報処理装置1000において、書き換え対象領域は補助記憶部103上でなく主記憶部1002上に存在する。従って、OSが前述した図4のような書き換え条件作成処理を行う場合、図12に示すようにステップS402に相当する処理(書き換え対象データが記憶されている主記憶部1002上の物理アドレスを、補助記憶部103上の物理アドレスに変換する処理)が不要となる。
また、上記図1の情報処理装置100において、ユーザ操作(例えば、電源ボタンの押下)により電源がONとなると、OSは動作再開のための処理として例えば補助記憶部103に記憶されている主記憶データ120を再び主記憶部102に書き込む処理を行う。しかしながら、情報処理装置1000において、主記憶データ1020は主記憶部1002に記憶されているので、ユーザ操作により電源がONになると、OSは当該主記憶データ1020をそのまま利用して動作を再開することができる。
以上説明したように、本実施形態に係る主記憶データ書き換え装置は、情報処理装置の動作停止前にOSが動作停止期間において書き換え対象となり得るデータ毎に作成した書き換え条件に従って、情報処理装置の動作停止期間において不揮発性記憶媒体で構成された主記憶部に保持されている主記憶データを書き換えるようにしている。従って、本実施形態に係る主記憶データ書き換え装置によれば、情報処理装置の動作停止期間において不揮発性記憶媒体に保持されている主記憶データを書き換えることが可能となる。即ち、本実施形態に係る主記憶データ書き換え装置によれば、情報処理装置の動作再開を高速化させることができる。
(第3の実施形態)
図13に示すように、本発明の第3の実施形態に係る主記憶データ書き換えプログラム1310を実行する情報処理装置1300は、上記図1に示す情報処理装置100において、主記憶データ書き換え装置110を除いて構成される。以下の説明では、図13において図1と同一部分には同一符号を付して示し、異なる部分を中心に述べる。
主記憶データ書き換えプログラム1310は、MPU101を前述した主記憶データ書き換え装置110として動作させるためのプログラムである。主記憶データ書き換えプログラム1310は、情報処理装置1300に備えられる不揮発性記憶媒体(補助記憶部103、起動用ファームウェア記憶部106等)によって保持されてもよいし、磁気ディスク、CD−R、CD−RW、DVD−R、DVD−RAM等の光ディスク、MO等の光磁気ディスク、半導体メモリ等のリムーバルメディアによって保持されてもよいし、ネットワークを介して配布されインストールされてもよい。
主記憶データ書き換えプログラム1310は、MPU101を前述した書き換え条件解析部111として動作させるための書き換え条件解析サブルーチン1311と、MPU101を前述した環境データ処理部112として動作させるための環境データ処理サブルーチン1312と、MPU101を前述した書き換え処理部113として動作させるための書き換え処理サブルーチン1313とを含む。
尚、図13において、上記書き換え条件解析サブルーチン1311、環境データ処理サブルーチン1312及び書き換え処理サブルーチン1313がMPU101によって同時に実行されているかのように描かれているが、全てのサブルーチンがMPU101によって同時に実行される必要は無い。また、主記憶データ書き換えプログラム1310は、起動用ファームウェアによって起動されるプログラムとして実装されてもよいし、起動用ファームウェアに主記憶データ書き換えプログラム1310の機能を組み込むように実装されてもよい。
また、MPU101が複数のコアを有する場合、若しくは、情報処理装置1300にMPU101と同様のプロセッサが複数搭載されている場合において、いずれのコア若しくはプロセッサによって主記憶データ書き換えプログラム1310が実行されてもよい。また、原則として主記憶データ書き換えプログラム1310及びOSは同時に実行せずともよいが、書き換え条件解析サブルーチン1311及びOSは並行して実行する必要がある。
以上説明したように、本実施形態に係る主記憶データ書き換えプログラムは、情報処理装置の動作停止前にOSが動作停止期間において書き換え対象となり得るデータ毎に作成した書き換え条件に従って、情報処理装置の動作停止期間において補助記憶部に待避されている主記憶データを書き換えるようにしている。従って、本実施形態に係る主記憶データ書き換えプログラムによれば、情報処理装置の動作停止期間において不揮発性記憶媒体に保持されている主記憶データを書き換えることが可能となる。即ち、本実施形態に係る主記憶データ書き換えプログラムによれば、情報処理装置の動作再開を高速化させることができる。
(第4の実施形態)
図14に示すように、本発明の第4の実施形態に係る主記憶データ書き換えプログラム1310を実行する情報処理装置1400は、上記図10に示す情報処理装置1000において、主記憶データ書き換え装置110を除いて構成される。
本実施形態に係る主記憶データ書き換えプログラムは、情報処理装置の動作停止前にOSが動作停止期間において書き換え対象となり得るデータ毎に作成した書き換え条件に従って、情報処理装置の動作停止期間において不揮発性記憶媒体で構成された主記憶部に保持されている主記憶データを書き換えるようにしている。従って、本実施形態に係る主記憶データ書き換えプログラムによれば、情報処理装置の動作停止期間において不揮発性記憶媒体に保持されている主記憶データを書き換えることが可能となる。即ち、本実施形態に係る主記憶データ書き換えプログラムによれば、情報処理装置の動作再開を高速化させることができる。
尚、本発明は上記各実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また上記各実施形態に開示されている複数の構成要素を適宜組み合わせることによって種々の発明を形成できる。また例えば、各実施形態に示される全構成要素からいくつかの構成要素を削除した構成も考えられる。さらに、異なる実施形態に記載した構成要素を適宜組み合わせてもよい。
その一例として例えば、上記各実施形態に係る情報処理装置において、外部の物理的環境に関する情報を取得するためのセンサが搭載されてもよい。上記センサは、例えば、温度センサ、湿度センサ、気圧センサ(高度センサ)、加速度センサ、位置センサ、照度センサ(光度センサ)、生体センサ(例えば、指紋センサ、指静脈センサ、掌静脈センサ、虹彩センサ、顔センサ等)等のうちいずれか1つであってもよいし、これらを適宜組み合わせたものであってもよい。上記センサを用いて情報処理装置の物理的移動を検出し、環境データ処理部(または、環境データ処理サブルーチン)が、当該物理的移動の検出をトリガとして他のセンサまたは前述したネットワークインタフェースを介して環境データを取得するようにしてもよい。
更に、上記情報処理装置において、各構成要素が共有バスを介して接続されているが、上記共有バスが複数の配線で接続されてもよいし、階層構造を有する配線で接続されてもよいし、クロスバー(cross bar switch)と呼ばれる配線で接続されてもよい。また、上記各構成要素のいくつかが同一の半導体チップ上に搭載されたSoC(System on Chip)で構成されてもよい。
その他、本発明の要旨を逸脱しない範囲で種々の変形を施しても同様に実施可能であることはいうまでもない。
第1の実施形態に係る主記憶データ書き換え装置を搭載する情報処理装置を示すブロック図。 図1のMPUで実行中のOSによるハイバネーション移行処理を示すフローチャート。 図1の書き換え条件解析部の動作を示すフローチャート。 図1のMPUで実行中のOSによる書き換え条件作成処理の具体例を示すフローチャート。 図1の環境データ処理部の動作を示すフローチャート。 図1の書き換え処理部の動作を示すフローチャート。 図6の変形例を示すフローチャート。 図1の変形例を示すブロック図。 図8のMPUで実行中のOSによる書き換え条件作成処理の具体例を示すフローチャート。 第2の実施形態に係る主記憶データ書き換え装置を搭載する情報処理装置を示すブロック図。 図10のMPUで実行中のOSによるハイバネーション移行処理を示すフローチャート。 図10のMPUで実行中のOSによる書き換え条件作成処理の具体例を示すフローチャート。 第3の実施形態に係る主記憶データ書き換えプログラムを実行する情報処理装置を示すブロック図。 第4の実施形態に係る主記憶データ書き換えプログラムを実行する情報処理装置を示すブロック図。
符号の説明
100・・・情報処理装置
101・・・MPU
102・・・主記憶部
103・・・補助記憶部
104・・・タイマ部
105・・・ネットワークインタフェース
106・・・起動用ファームウェア記憶部
110・・・主記憶データ書き換え装置
111・・・書き換え条件解析部
112・・・環境データ処理部
113・・・書き換え処理部
120・・・主記憶データ
800・・・情報処理装置
830・・・バッテリ部
1000・・・情報処理装置
1002・・・主記憶部
1020・・・主記憶データ
1300・・・情報処理装置
1310・・・主記憶データ書き換えプログラム
1311・・・書き換え条件解析サブルーチン
1312・・・環境データ処理サブルーチン
1313・・・書き換え処理サブルーチン
1400・・・情報処理装置

Claims (9)

  1. 情報処理装置の動作停止前に主記憶部に記憶されている主記憶データを、前記情報処理装置の動作停止期間に亘って不揮発性記憶媒体に保持させた状態で前記情報処理装置の動作を停止させる機能を有するオペレーティング・システムによって作成される前記主記憶データ中の対象データに対する書き換え条件を解析し、前記情報処理装置の外部から当該対象データを代替する環境データを取得するための第1の処理内容及び前記対象データを前記環境データに書き換えるための第2の処理内容を作成する書き換え条件解析部と、
    前記動作停止期間において前記対象データを書き換えるために予め定められる起動時刻に前記情報処理装置が一時的に起動すると、前記第1の処理内容に従って前記環境データを取得する環境データ処理部と、
    前記第2の処理内容に従って前記不揮発性記憶媒体において前記対象データが記憶される領域を前記環境データで書き換える書き換え処理部と
    を具備することを特徴とする主記憶データ書き換え装置。
  2. 前記書き換え条件は、前記対象データのデータ種別と、当該対象データが記憶される前記不揮発性記憶媒体における領域を識別する物理アドレスとを含み、
    前記環境データ処理部は、前記動作停止期間において前記起動時刻に前記情報処理装置が一時的に起動すると、当該情報処理装置に備えられるデータ入出力手段を介して前記データ種別に一致する環境データを取得し、
    前記書き換え処理部は、前記物理アドレスによって識別される前記不揮発性記憶媒体の領域を前記環境データで書き換える
    ことを特徴とする請求項1記載の主記憶データ書き換え装置。
  3. 前記不揮発性記憶媒体は、前記主記憶部とは別の補助記憶部を構成することを特徴とする請求項2記載の主記憶データ書き換え装置。
  4. 前記不揮発性記憶媒体は、前記主記憶部を構成することを特徴とする請求項2記載の主記憶データ書き換え装置。
  5. 前記書き換え処理部は、(a)前記対象データに基づき予め作成された検査用データと、前記環境データ処理部による前記環境データ取得後における対象データに基づき作成した検査対象データとを比較し、(b)前記検査対象データ及び前記検査用データが一致していれば、前記物理アドレスによって指定される前記不揮発性記憶媒体の領域を前記環境データで書き換え、書き換え後の対象データに基づき新たな検査用データを作成し、(c)前記検査対象データ及び前記検査用データが一致しなければ、当該対象データに対する書き換えを省略することを特徴とする請求項3または請求項4記載の主記憶データ書き換え装置。
  6. 前記起動時刻は、当該起動時刻の設定時刻を基準に、前記情報処理装置を駆動するバッテリの残量を前記動作停止期間において枯渇させないための最小の起動間隔より少なくとも長い間隔を空けて定められることを特徴とする請求項3または請求項4記載の主記憶データ書き換え装置。
  7. 前記書き換え条件は、前記対象データのデータ種別に対して付与される少なくとも2段階の優先度を含み、
    前記起動時刻は、前記バッテリの残量が基準値未満であれば、前記優先度が当該基準値に応じた段階以上であるデータ種別に属する対象データに対してのみ設定される
    ことを特徴とする請求項6記載の主記憶データ書き換え装置。
  8. 情報処理装置の動作停止前に主記憶部に記憶されている主記憶データを、前記情報処理装置の動作停止期間に亘って不揮発性記憶媒体に保持させた状態で前記情報処理装置の動作を停止させる機能を有するオペレーティング・システムによって作成される前記主記憶データ中の対象データに対する書き換え条件を解析し、前記情報処理装置の外部から当該対象データを代替する環境データを取得するための第1の処理内容及び前記対象データを前記環境データに書き換えるための第2の処理内容を作成することと、
    前記動作停止期間において前記対象データを書き換えるために予め定められる起動時刻に前記情報処理装置が一時的に起動すると、前記第1の処理内容に従って前記環境データを取得することと、
    前記第2の処理内容に従って前記不揮発性記憶媒体において前記対象データが記憶される領域を前記環境データで書き換えることと
    を具備する主記憶データ書き換え方法。
  9. 情報処理装置を、
    前記情報処理装置の動作停止前に主記憶部に記憶されている主記憶データを、前記情報処理装置の動作停止期間に亘って不揮発性記憶媒体に保持させた状態で前記情報処理装置の動作を停止させる機能を有するオペレーティング・システムによって作成される前記主記憶データ中の対象データに対する書き換え条件を解析し、前記情報処理装置の外部から当該対象データを代替する環境データを取得するための第1の処理内容及び前記対象データを前記環境データに書き換えるための第2の処理内容を作成する書き換え条件解析手段、
    前記動作停止期間において前記対象データを書き換えるために予め定められる起動時刻に前記情報処理装置が一時的に起動すると、前記第1の処理内容に従って前記環境データを取得する環境データ処理手段、
    前記第2の処理内容に従って前記不揮発性記憶媒体において前記対象データが記憶される領域を前記環境データで書き換える書き換え処理手段
    として動作させるための主記憶データ書き換えプログラム。
JP2008292238A 2008-11-14 2008-11-14 主記憶データ書き換え装置及び方法 Expired - Fee Related JP5208690B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008292238A JP5208690B2 (ja) 2008-11-14 2008-11-14 主記憶データ書き換え装置及び方法
US12/561,700 US8725962B2 (en) 2008-11-14 2009-09-17 Device and method for rewriting main memory data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008292238A JP5208690B2 (ja) 2008-11-14 2008-11-14 主記憶データ書き換え装置及び方法

Publications (2)

Publication Number Publication Date
JP2010117984A true JP2010117984A (ja) 2010-05-27
JP5208690B2 JP5208690B2 (ja) 2013-06-12

Family

ID=42172882

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008292238A Expired - Fee Related JP5208690B2 (ja) 2008-11-14 2008-11-14 主記憶データ書き換え装置及び方法

Country Status (2)

Country Link
US (1) US8725962B2 (ja)
JP (1) JP5208690B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012203585A (ja) * 2011-03-24 2012-10-22 Toshiba Corp 情報処理装置
JP2013054550A (ja) * 2011-09-05 2013-03-21 Hitachi Ltd 計算機システム及び計算機
JP2020102152A (ja) * 2018-12-25 2020-07-02 レノボ・シンガポール・プライベート・リミテッド 情報処理装置、制御方法、及びプログラム

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103189842B (zh) * 2010-11-15 2016-06-29 富士通株式会社 信息处理装置以及信息处理方法
KR20140079137A (ko) * 2012-12-18 2014-06-26 삼성전자주식회사 불휘발성 메모리를 메인 메모리로 사용하는 컴퓨팅 시스템 및 그것의 데이터 관리 방법
US10261916B2 (en) * 2016-03-25 2019-04-16 Advanced Micro Devices, Inc. Adaptive extension of leases for entries in a translation lookaside buffer
CN110493209B (zh) * 2019-08-09 2021-12-03 苏州浪潮智能科技有限公司 一种数据处理方法、装置及fpga和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002290596A (ja) * 2001-03-23 2002-10-04 Shin Caterpillar Mitsubishi Ltd 機械のモーションレコーダおよび機械の監視システム
JP2006301960A (ja) * 2005-04-20 2006-11-02 Denso Corp 自動車用制御ユニット
JP2007134978A (ja) * 2005-11-10 2007-05-31 Canon Inc ネットワーク環境におけるパワーマネジメント制御を行う情報処理装置
JP2007142954A (ja) * 2005-11-21 2007-06-07 Canon Inc ネットワーク環境におけるパワーマネジメント制御を行う情報処理装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3882452B2 (ja) 2000-03-10 2007-02-14 富士ゼロックス株式会社 受信装置及び通信装置
JP2004303122A (ja) * 2003-04-01 2004-10-28 Hitachi Ltd データ転送制御システム
US7814195B2 (en) * 2004-09-10 2010-10-12 Sony Corporation Method for data synchronization with mobile wireless devices
JP4970781B2 (ja) * 2005-02-03 2012-07-11 株式会社リコー 画像形成装置、及び画像形成装置の制御方法
JP2006270581A (ja) 2005-03-24 2006-10-05 Nec Corp 呼情報サーバの同期方法
JP2008250719A (ja) * 2007-03-30 2008-10-16 Toshiba Corp 情報処理装置
JP4386932B2 (ja) * 2007-08-17 2009-12-16 富士通株式会社 ストレージ管理プログラム、ストレージ管理装置およびストレージ管理方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002290596A (ja) * 2001-03-23 2002-10-04 Shin Caterpillar Mitsubishi Ltd 機械のモーションレコーダおよび機械の監視システム
JP2006301960A (ja) * 2005-04-20 2006-11-02 Denso Corp 自動車用制御ユニット
JP2007134978A (ja) * 2005-11-10 2007-05-31 Canon Inc ネットワーク環境におけるパワーマネジメント制御を行う情報処理装置
JP2007142954A (ja) * 2005-11-21 2007-06-07 Canon Inc ネットワーク環境におけるパワーマネジメント制御を行う情報処理装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012203585A (ja) * 2011-03-24 2012-10-22 Toshiba Corp 情報処理装置
JP2013054550A (ja) * 2011-09-05 2013-03-21 Hitachi Ltd 計算機システム及び計算機
JP2020102152A (ja) * 2018-12-25 2020-07-02 レノボ・シンガポール・プライベート・リミテッド 情報処理装置、制御方法、及びプログラム

Also Published As

Publication number Publication date
US8725962B2 (en) 2014-05-13
JP5208690B2 (ja) 2013-06-12
US20100125710A1 (en) 2010-05-20

Similar Documents

Publication Publication Date Title
JP5208690B2 (ja) 主記憶データ書き換え装置及び方法
CN109564524B (zh) 虚拟化管理器的安全引导
US11301396B2 (en) Technologies for accelerated data access and physical data security for edge devices
CN109564523B (zh) 使用机会性管理程序降低性能可变性
US20140372717A1 (en) Fast and Secure Virtual Machine Memory Checkpointing
US9354857B2 (en) System and method to update firmware on a hybrid drive
US8875160B2 (en) Dynamic application migration
JP2019525306A (ja) 部分的にオフロードされた仮想化マネージャにおけるメモリ割当て技術
US20150058520A1 (en) Detection of hot pages for partition migration
US8281043B2 (en) Out-of-band access to storage devices through port-sharing hardware
JP2015195053A (ja) セキュアな埋め込みコンテナの実行のためのプロセッサの拡張
Olivier et al. Hexo: Offloading hpc compute-intensive workloads on low-cost, low-power embedded systems
US11256533B1 (en) Transparent disk caching for virtual machines and applications
JP5304640B2 (ja) コンピュータ、起動方法、および起動プログラム
CN102687113A (zh) 程序、控制方法以及控制装置
US9940461B2 (en) Enabling an external operating system to access encrypted data units of a data storage system
KR102043936B1 (ko) 솔리드 스테이트 드라이브 환경에서 캐시의 동적 할당 방법 및 동적 캐시 할당을 위한 시스템
JP2017033375A (ja) 並列計算システム、マイグレーション方法、及びマイグレーションプログラム
JP5565187B2 (ja) 情報処理装置および割込み制御プログラム
WO2010116405A1 (ja) 不揮発性の主記憶を備えた計算機システム
JP5359328B2 (ja) 仮想計算機の起動制御システム、その起動制御方法、情報処理装置、プログラム及び記録媒体
US7650489B2 (en) Determining coherency between a non-volatile memory and a system
JP2011008646A (ja) 実環境と仮想環境を遷移させるコンピュータ・プログラム
Chiang Optimization techniques for memory virtualization-based resource management
Witherden Memory forensics over the ieee 1394 interface

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110323

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120515

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120516

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120711

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130220

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160301

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 5208690

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160301

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees