JP2012008672A - Backup method of main memory and data protection system - Google Patents

Backup method of main memory and data protection system Download PDF

Info

Publication number
JP2012008672A
JP2012008672A JP2010142183A JP2010142183A JP2012008672A JP 2012008672 A JP2012008672 A JP 2012008672A JP 2010142183 A JP2010142183 A JP 2010142183A JP 2010142183 A JP2010142183 A JP 2010142183A JP 2012008672 A JP2012008672 A JP 2012008672A
Authority
JP
Japan
Prior art keywords
area
monitoring
computer
main memory
data
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
JP2010142183A
Other languages
Japanese (ja)
Other versions
JP5378308B2 (en
Inventor
Naoyuki Araki
直幸 荒木
Hiroyuki Uchida
宏幸 内田
Takeshi Sasaki
健 佐々木
Masahiro Tokuno
真弘 徳野
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.)
Lenovo Singapore Pte Ltd
Original Assignee
Lenovo Singapore Pte 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 Lenovo Singapore Pte Ltd filed Critical Lenovo Singapore Pte Ltd
Priority to JP2010142183A priority Critical patent/JP5378308B2/en
Publication of JP2012008672A publication Critical patent/JP2012008672A/en
Application granted granted Critical
Publication of JP5378308B2 publication Critical patent/JP5378308B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a data protection system of a main memory capable of protecting data stored in a main memory from hang up.SOLUTION: A CPU 11 operates in a protect mode or SMM. A main memory 15 secures a RAM disk area to be accessed from an exclusive driver 113. An application 101 periodically performs setting operation of a monitor flag in the protect mode. When a BIOS 107 determines that a monitor program does not set the monitor flag after transition to SMM, data stored in the RAM disk area is saved in an HDD 23. When it is determined that a prescribed action is performed, the application 101 continues the setting operation of the monitor flag after transition to the protect mode.

Description

本発明は、コンピュータのメイン・メモリに記憶されたデータを保護する技術に関し、さらに詳細にはコンピュータにシャットダウンを伴うようなハングアップが生じたときにメイン・メモリに記憶されたデータを保護する技術に関する。   The present invention relates to a technique for protecting data stored in a main memory of a computer, and more particularly, a technique for protecting data stored in a main memory when a hang-up that causes a shutdown occurs in the computer. About.

コンピュータには、中央演算装置(CPU)が直接アクセスするメイン・メモリ(一次記憶装置または主記憶装置ともいう。)として、一般に揮発性のRAMが使用される。またコンピュータには通常、オペレーティング・システム(OS)、デバイス・ドライバ、アプリケーション・プログラム(以下、アプリケーションという。)およびアプリケーションが作成したファイルなどを格納する不揮発性の補助記憶装置(二次記憶装置ともいう。)が搭載される。補助記憶装置としてはハードディスク・ドライブ(HDD)、ソリッド・ステート・ドライブ(SDD)、ハイブリッドHDD、または光学ディスク・ドライブ(ODD)などが採用されている。   In a computer, a volatile RAM is generally used as a main memory (also referred to as a primary storage device or a main storage device) that is directly accessed by a central processing unit (CPU). In addition, the computer usually has an operating system (OS), a device driver, an application program (hereinafter referred to as an application), and a nonvolatile auxiliary storage device (also referred to as a secondary storage device) that stores files created by the application. .) Is installed. As the auxiliary storage device, a hard disk drive (HDD), a solid state drive (SDD), a hybrid HDD, an optical disk drive (ODD), or the like is adopted.

メイン・メモリにはアプリケーションが作成したデータが一時的に記憶されている。メイン・メモリに記憶されたデータは、コンピュータの電源が遮断されると消えてしまうのでユーザはコンピュータを停止する前に作成中のデータをHDDに保存する。プロセッサは動作中にハードウエアやソフトウエアの不具合に起因して、ハングアップ(フリーズまたはクラッシュともいわれる。)する。   Data created by the application is temporarily stored in the main memory. Since the data stored in the main memory disappears when the computer is turned off, the user saves the data being created in the HDD before stopping the computer. During operation, the processor hangs up (also called freeze or crash) due to hardware or software malfunctions.

プロセッサがハングアップするとコンピュータは動作を停止して、キーボードやマウスによる外部からの操作ができなくなり、ディスプレイにいわゆるブルースクリーンが表示される。ブルースクリーンが表示されるとOSがコンピュータを自動的にシャットダウンまたは再起動する。本明細書においては、シャットダウンと再起動はメイン・メモリのデータが消失する点で同義として扱う。自動的にシャットダウンしない場合であっても、ユーザが電源ボタンを押下して強制的にシャットダウンする以外にコンピュータの動作を回復することができなくなる。   When the processor hangs up, the computer stops operating, and the keyboard and mouse cannot be operated from the outside, and a so-called blue screen is displayed on the display. When the blue screen is displayed, the OS automatically shuts down or restarts the computer. In this specification, shutdown and restart are treated as synonymous in that data in the main memory is lost. Even if the computer does not shut down automatically, the user cannot recover the computer operation except forcibly shutting down by pressing the power button.

このようにハングアップに伴ってシャットダウンが発生すると、メイン・メモリに記憶されている未保存のデータは消失してしまい回復することができない。ユーザは、メイン・メモリに記憶した作業中のデータを意図しないシャットダウンから保護するために、定期的にHDDに保存するようにアプリケーションを設定したり、自らが随時アプリケーションに対して保存操作をしたりしている。   When a shutdown occurs due to such a hang-up, unsaved data stored in the main memory is lost and cannot be recovered. The user can set the application to periodically save it to the HDD to protect the working data stored in the main memory from unintentional shutdown, or he can save the application at any time. is doing.

近年メイン・メモリの価格が低下したこととも相まって、コンピュータに搭載されるメイン・メモリの容量は増加する傾向にある。メイン・メモリの容量はビット・サイズに関するコンピュータのアーキテクチャや利用するアプリケーションの種類などにより定まる一定値に達すると、あまりパフォーマンスの増大を期待することができなくなり、一定値以上の領域は余剰の記憶領域になりがちである。メイン・メモリの余剰な記憶領域をソフトウエアで仮想化して二次記憶装置として活用する方法がある。   Coupled with the recent decline in the price of main memory, the capacity of main memory installed in computers tends to increase. When the capacity of the main memory reaches a certain value determined by the computer architecture related to the bit size and the type of application to be used, it is impossible to expect a significant increase in performance, and an area exceeding the certain value is an excess storage area. It tends to be. There is a method in which an excess storage area of the main memory is virtualized by software and used as a secondary storage device.

仮想化されたメイン・メモリの特定の記憶領域をRAMディスク領域または単にRAMディスクという。RAMディスクは高速なアクセスができるため、メイン・メモリの容量を有効に活用する方策の1つである。キャッシュ・メモリとSSDを組み合わせることでもファイル・アクセスの高速化が可能であるが、ビット単価が高額なSSDが必要になったりSSDへの負荷が集中して全体のパフォーマンスの低下を招いたりするという問題が残る。   A specific storage area of the virtualized main memory is called a RAM disk area or simply a RAM disk. Since the RAM disk can be accessed at high speed, it is one of the measures for effectively utilizing the capacity of the main memory. The combination of cache memory and SSD can speed up file access, but it requires SSDs with a high bit unit price, or the load on SSDs is concentrated, leading to a decrease in overall performance. The problem remains.

特許文献1は、OSが管理するメイン・メモリの管理領域が所定領域に制限されているコンピュータ・システムにおいて、制限された所定領域以外の領域である管理外領域をRAMディスクとして利用するプログラムを開示する。同文献のプログラムはPAE(Physical Address Extension)モードを有効にして、ディスク・イメージ上の読み書きしたい箇所にあたるメモリ領域をRAMディスク・ドライバが仮想アドレス空間にマッピングし、OSがRAMディスク・ドライバを介して、4GBを超えるOS管理外領域に対するアクセスを可能にする。また、同文献には、管理外領域に記憶されたデータシステムがシャットダウン、再起動、または休止状態に移行するタイミングで外部記憶装置にバックアップすることが記載されている。   Patent Document 1 discloses a program that uses, as a RAM disk, an unmanaged area that is an area other than the limited predetermined area in a computer system in which the management area of the main memory managed by the OS is limited to a predetermined area. To do. The program in this document enables the PAE (Physical Address Extension) mode, the RAM disk driver maps the memory area corresponding to the location to be read / written on the disk image into the virtual address space, and the OS passes through the RAM disk driver. Allows access to an OS unmanaged area exceeding 4 GB. Further, this document describes that a data system stored in an unmanaged area is backed up to an external storage device at the timing when the system is shut down, restarted, or hibernated.

特許文献2は、故障や不意の電源断が生じても、主記憶手段上のRAMティスクの内容が消去されない情報処理装置を開示する。情報処理装置に再起動を必要とするような故障が発生するとOSの故障検出手段が故障を検出する。故障検出手段は、故障内容の把握を行い、情報処理装置を再起動しなければならないと判断した場合、OSで構成した保存手段を起動し、保存手段に主記憶手段上のRAMティスク領域の内容を二次記憶装置内のRAMディスク保存ファイルに保存するよう指示をする。保存手段が主記憶手段上のRAMティスク領域の内容を二次記憶装置内のRAMディスク保存ファイルに保存した後に情報処理装置の電源が遮断される。   Patent Document 2 discloses an information processing apparatus in which the contents of the RAM disk on the main storage means are not erased even if a failure or unexpected power interruption occurs. When a failure that requires restarting occurs in the information processing apparatus, the failure detection means of the OS detects the failure. If the failure detection means grasps the content of the failure and determines that the information processing apparatus must be restarted, the failure detection means starts the storage means configured by the OS, and the storage means stores the contents of the RAM disk area on the main storage means. Is stored in the RAM disk storage file in the secondary storage device. After the storage unit stores the contents of the RAM disk area on the main storage unit in the RAM disk storage file in the secondary storage device, the information processing apparatus is powered off.

特開2010−44503号公報JP 2010-44503 A 特開2003−122647号公報JP 2003-122647 A

メイン・メモリに記憶されたデータをハングアップから保護するために、メイン・メモリのデータをアプリケーションが自動的にバックアップする場合には、HDDへのアクセスが頻発してアプリケーションを利用する上での作業性が低下する。また、HDDへのアクセスが競合してコンピュータ全体のパフォーマンスが低下する場合がある。さらには、自動バックアップの機能を備えていないアプリケーションには適用できない。また、ユーザが必要に応じて保存操作をする場合には、ユーザにとって煩雑さが増すとともに、前回の保存のタイミングからハングアップが発生するまでのデータは保護されないことになるため、保存されていないデータの増分が多くなると損失が増大する。これは自動バックアップでも同じことである。   In order to protect the data stored in the main memory from hang-up, when the application automatically backs up the data in the main memory, the access to the HDD occurs frequently and the work in using the application Sex is reduced. Further, there may be a case where the access to the HDD competes and the performance of the entire computer is lowered. Furthermore, it cannot be applied to an application that does not have an automatic backup function. In addition, when the user performs a save operation as necessary, the user is not saved because the complexity is increased for the user and the data from the previous save timing until the hang-up is not protected. Loss increases as data increments increase. The same is true for automatic backups.

コンピュータがハングアップしたときに、メイン・メモリのデータを確実に保護できれば、作業データの安全性を高めることができるとともにRAMディスクとしてのメイン・メモリの利便性が向上する。しかし、コンピュータには、特定のアプリケーションのプロセスを停止するだけで他のアプリケーションは動作を継続できるような軽微な異常から、シャットダウンする以外に対応できない重大なハングアップまでさまざまな状態が存在する。また、アプリケーションには当該アプリケーションだけが停止したような場合は、当該アプリケーションを再起動するとデータを回復できるような機能を備えているものもあるが、コンピュータがシャットダウンしたような場合には回復することができない。   If the data in the main memory can be surely protected when the computer hangs up, the safety of the work data can be improved and the convenience of the main memory as a RAM disk is improved. However, the computer has various states ranging from a minor abnormality that allows other applications to continue operation only by stopping a process of a specific application to a serious hangup that cannot be dealt with other than by shutting down. In addition, some applications have a function that allows data to be recovered by restarting the application when only that application is stopped, but recovery is possible when the computer is shut down. I can't.

コンピュータを安全方向で動作させるために軽微な異常でもバックアップするとなると、バックアップ動作が頻発してコンピュータのパフォーマンスが低下する。したがって、異常状態を特定してシャットダウンに至るような異常のときだけバックアップ処理を行うことが望ましいが、コンピュータが異常動作をしたときシステムを構成するプログラムがその異常を検出することは容易ではない。   If even a minor abnormality is backed up in order to operate the computer in a safe direction, the backup operation occurs frequently and the performance of the computer decreases. Therefore, it is desirable to perform the backup process only in the case of an abnormality that identifies an abnormal state and results in a shutdown, but it is not easy for a program constituting the system to detect the abnormality when the computer performs an abnormal operation.

図10は、ハードウエアまたはソフトウエアに異常が発生してからシャットダウンするまでのコンピュータの状態遷移を説明する図である。ステップ1では、アプリケーション、OS、デバイス・ドライバ、およびハードウエアがすべて正常に動作している。ステップ2で、コンピュータのハードウエアまたはソフトウエアに何らかの異常が発生しステップ3でそれが進行する。また、ステップ3からステップ1に戻る場合もある。ステップ4でついにCPUがハングアップしてコンピュータが制御権を失い、マウスおよびキーボードを通じて行う操作もできなくなる。   FIG. 10 is a diagram for explaining the state transition of the computer from when an abnormality occurs in hardware or software to when the computer is shut down. In step 1, the application, OS, device driver, and hardware are all operating normally. In step 2, some abnormality occurs in the computer hardware or software, and in step 3 it proceeds. In some cases, the process returns from step 3 to step 1. In step 4, the CPU finally hangs up, and the computer loses control, and the operation performed through the mouse and keyboard cannot be performed.

通常はユーザがコンピュータの異常を認識するのはステップ4である。しかし、現在のコンピュータ・システムでは、ステップ4まで到達するとコンピュータが自動的に電源を遮断してシャットダウンをするか、またはユーザが電源ボタンを操作して強制的にシャットダウンをするしか制御権を回復する方法はなく、データを保護することはできない。したがって、メイン・メモリが記憶しているデータをシャットダウンする前にバックアップするためには、ステップ2からステップ4までの間にステップ3からステップ1に戻るような場合を含む軽微な異常を除いて、シャットダウンを伴う異常を正確に検出する必要がある。   It is usually step 4 that the user recognizes a computer abnormality. However, in the current computer system, when step 4 is reached, the computer automatically shuts down and shuts down, or the user can operate the power button and forcibly shut down to restore control. There is no way to protect the data. Therefore, in order to back up the data stored in the main memory before shutting down, except for a minor abnormality including the case of returning from step 3 to step 1 between step 2 and step 4, It is necessary to accurately detect abnormalities that involve shutdown.

さらに、異常を検出したあとにはステップ5に到達する前にバックアップ作業を終了する必要がある。特許文献2の発明は、OSが情報処理装置の故障を検出してOSがバックアップ処理をしているが、シャットダウンを必要とする異常にはOS自体の異常も含まれる。したがって、特許文献2の発明で対象とする情報処理装置の異常は、ハードウエアやアプリケーションなどのようなOS以外の要素の異常に限られ、OSやHDDのデバイス・ドライバなどに起因して発生するハングアップの対策としては十分ではない。また、異常を検出してからバックアップ処理をするまでの間にシャットダウンする可能性も残る。本発明は、このような背景および課題を解決するものである。   Furthermore, after detecting an abnormality, it is necessary to finish the backup work before reaching Step 5. In the invention of Patent Document 2, the OS detects a failure of the information processing apparatus and the OS performs backup processing. However, the abnormality requiring the shutdown includes the abnormality of the OS itself. Therefore, the abnormality of the information processing apparatus that is the subject of the invention of Patent Document 2 is limited to the abnormality of elements other than the OS such as hardware and applications, and is caused by the device driver of the OS or HDD. It's not enough as a hang-up measure. In addition, there is a possibility of shutting down between detection of an abnormality and backup processing. The present invention solves such background and problems.

そこで本発明の目的は、メイン・メモリに記憶されたデータをハングアップから保護することができるメイン・メモリのデータ保護システムを提供することにある。さらに本発明の目的は、信頼性の高いRAMディスクを実現するデータ保護システムを提供することにある。さらに本発明の目的は、そのようなデータ保護システムを搭載するコンピュータ、データのバックアップ方法およびコンピュータ・プログラムを提供することにある。   Accordingly, an object of the present invention is to provide a data protection system for a main memory that can protect data stored in the main memory from hang-up. A further object of the present invention is to provide a data protection system for realizing a highly reliable RAM disk. A further object of the present invention is to provide a computer equipped with such a data protection system, a data backup method, and a computer program.

本発明は、メイン・メモリに記憶されたデータをコンピュータがハングアップしたときにシャットダウンする前に不揮発性の記憶装置に保存することができるメイン・メモリのデータ保護システムを提供する。プロセッサは、少なくともOS実行モードまたはSMMで動作する。OS実行モードは、OSが動作するときのプロセッサの動作モードでプロテクト・モードということもできる。不揮発性の記憶装置は、メイン・メモリが実装されるコンピュータと同一の筐体に実装されていても異なる筐体に実装されていてもよい。   The present invention provides a main memory data protection system that allows data stored in main memory to be stored in a non-volatile storage device before shutting down when the computer hangs up. The processor operates in at least the OS execution mode or SMM. The OS execution mode is an operation mode of the processor when the OS operates, and can also be referred to as a protect mode. The nonvolatile storage device may be mounted in the same casing as the computer in which the main memory is mounted or in a different casing.

メイン・メモリには、データを保護する保護領域が確保される。バックアップの対象とするデータの範囲を容易に特定するために、保護領域はOSが自由にアクセスできない専用の記憶領域として定義することができる。監視プログラムはOS実行モードで動作しているコンピュータがハングアップしていない限り所定の動作をする。SMMに移行した後に監視プログラムが所定の動作をしているか否かを所定のプログラムが判断する。監視プログラムが所定の動作をしていないと判断したときに所定のプログラムがSMMで動作している間にメイン・メモリに記憶されたデータを不揮発性の記憶装置に保存する。   A protection area for protecting data is secured in the main memory. In order to easily specify the range of data to be backed up, the protection area can be defined as a dedicated storage area that the OS cannot freely access. The monitoring program performs a predetermined operation unless the computer operating in the OS execution mode is hung up. The predetermined program determines whether or not the monitoring program is performing a predetermined operation after shifting to the SMM. When it is determined that the monitoring program is not performing a predetermined operation, the data stored in the main memory is stored in the nonvolatile storage device while the predetermined program is operating in the SMM.

このような構成により、コンピュータがOS実行モードにおいてシャットダウンを伴うようなハングアップをしたときであっても、それをSMMで実行される所定のプログラムが検出することができる。また、SMMに移行するとプロセッサはOS実行モードでの動作を停止するため、OSによるシャットダウン処理が停止するため、不揮発性の記憶装置に保存する前にシャットダウンする確率を低くすることができる。よって、SMMに移行してから保存処理を行うことで、シャットダウン前に確実にメイン・メモリに記憶されたデータをバックアップすることができる。   With such a configuration, even when the computer hangs up with shutdown in the OS execution mode, a predetermined program executed by the SMM can detect it. In addition, since the processor stops the operation in the OS execution mode when the operation is shifted to the SMM, the shutdown process by the OS is stopped, so that the probability of shutting down before saving in the nonvolatile storage device can be reduced. Therefore, the data stored in the main memory can be surely backed up before the shutdown by performing the saving process after shifting to the SMM.

BIOSは、OSから独立して動作し、かつ、不揮発性の記憶装置のデバイス・ドライバがハングアップしている場合でもそこにアクセスすることができるため、監視プログラムの動作の判断およびデータの保存はBIOSが行うことが望ましい。また、BIOSはシングル・タスクで動作するために、ハングアップする可能性が低いので、ハングアップの検出と保存処理の信頼性が高い。   Since the BIOS operates independently of the OS and can access the device driver of the non-volatile storage device even if it is hung up, the determination of the operation of the monitoring program and the storage of data are not performed. It is desirable for the BIOS to do this. Further, since the BIOS operates with a single task, the possibility of hang-up is low, so that the reliability of hang-up detection and storage processing is high.

プロセッサを周期的にSMMとOS実行モードの間を遷移させることで、OS実行モードでの動作を維持しながらSMMで周期的にハングアップしているか否かを監視して、ハングアップを検出したときにバックアップ処理をすることができる。このとき、システム・マネジメント割り込み(SMI)をハードウエアであるチップ・セットが行うようにすれば、ソフトウエアへの依存度の低い方法でSMIを発行できるためハングアップしたあとであっても、高い確率でSMMに移行できる。   By periodically transitioning the processor between SMM and OS execution mode, the processor monitors whether or not the SMM periodically hangs up while maintaining the operation in the OS execution mode, and detects a hang-up. Sometimes backup processing can be done. At this time, if the chip set that is hardware performs the system management interrupt (SMI), the SMI can be issued by a method with a low dependency on software, so even if it hangs up, it is high. Probable transition to SMM.

監視プログラムが正常に動作しているか否かを所定のプログラムが判断するために、OS実行モードにおいて監視プログラムに監視フラグを設定する動作をさせることができる。所定のプログラムはSMMに移行してから、監視フラグが設定されているか否かを判断し、監視フラグが設定されていると判断したときには、ハングアップしていないと判断して監視フラグを解除した後にOS実行モードに遷移させることができる。その後、ハングアップしなければ監視プログラムは再度監視フラグを設定することができる。   In order for the predetermined program to determine whether or not the monitoring program is operating normally, it is possible to cause the monitoring program to set a monitoring flag in the OS execution mode. After the predetermined program moves to SMM, it is determined whether or not the monitoring flag is set. When it is determined that the monitoring flag is set, it is determined that the program is not hung up and the monitoring flag is released. The OS execution mode can be changed later. Thereafter, if no hang-up occurs, the monitoring program can set the monitoring flag again.

保護領域をRAMディスク領域として利用する場合は、コンピュータの起動時にバックアップ領域から保護領域にイメージ・ファイルをリストアし、かつ、コンピュータをシャットダウンする操作に応答して保護領域に記憶されたイメージ・ファイルをバックアップ領域に保存するように構成することができる。RAMディスク領域は、メイン・メモリの電源が突然停止した場合には、不揮発性の記憶装置にバックアップされているデータ以外は消失する。電池パックを標準として搭載する携帯式コンピュータに本発明のデータ保護システムを搭載すると、メイン・メモリの電源が突然停止することはほとんどなくこのような問題は生じないので都合がよい。   When using the protected area as a RAM disk area, restore the image file from the backup area to the protected area when the computer starts up, and save the image file stored in the protected area in response to an operation to shut down the computer. It can be configured to save in a backup area. When the main memory power supply suddenly stops, the RAM disk area is lost except for data backed up in the nonvolatile storage device. When the data protection system of the present invention is mounted on a portable computer having a battery pack as a standard, the power supply of the main memory is hardly suddenly stopped, and this problem does not occur.

保護領域はまたOS実行モードで動作するアプリケーションの作業領域として利用することもできる。この場合のファイルは、不揮発性の記憶装置に保存される。このような利用形態では、重要な作業をしているときに突然ハングアップしても、不揮発性の記憶装置に保存する前のデータを回復することができる。保護領域をOSがビット数に基づいて直接アドレス指定できる論理アドレス空間を超えている領域に確保するようにすれば、通常では使用できないアドレス範囲にあるメイン・メモリの記憶領域を有効に活用することができる。   The protected area can also be used as a work area for applications operating in the OS execution mode. The file in this case is stored in a nonvolatile storage device. In such a usage mode, even if a sudden hang-up occurs during important work, data before being stored in the nonvolatile storage device can be recovered. If the protected area is secured in an area that exceeds the logical address space that can be directly addressed by the OS based on the number of bits, the main memory storage area in the address range that cannot be used normally can be used effectively. Can do.

監視プログラムは、OSのサービスを受けて動作するアプリケーションとすることができる。この場合、監視プログラムは、その下層で動作するOSやデバイス・ドライバのハングアップに伴って動作を停止するので、その動作を監視することで多くのハングアップまたはそれに準ずる異常状態を検出することができる。また、アプリケーションは、システム・プログラムに比べて動作状態を容易に監視することができるので監視プログラムとして都合がよい。   The monitoring program can be an application that operates in response to an OS service. In this case, since the monitoring program stops the operation with the hang-up of the OS or device driver that operates in the lower layer, many hang-ups or abnormal states corresponding thereto can be detected by monitoring the operation. it can. In addition, since the application can easily monitor the operation state as compared with the system program, it is convenient as a monitoring program.

ハングアップしたときに、プロセッサがSMMに移行しない場合も予想される。この場合、本発明では、ソフトウエアへの依存が少ないコントローラを使用して、外部からの信号で強制的にSMMに移行させるように構成することもできる。また、ハングアップしたときに自動的にシャットダウンするOSの機能を停止するようにプログラムが設定すれば、シャットダウン前のバックアップをより確実に行うことができる。   It is expected that the processor will not transition to SMM when it hangs up. In this case, the present invention can be configured to forcibly shift to the SMM with an external signal using a controller that is less dependent on software. In addition, if the program is set to stop the function of the OS that automatically shuts down when it hangs up, backup before shutdown can be performed more reliably.

本発明により、メイン・メモリに記憶されたデータをハングアップから保護することができるメイン・メモリのデータ保護システムを提供することができた。さらに本発明により、信頼性の高いRAMディスクを実現するデータ保護システムを提供することができた。さらに本発明により、そのようなデータ保護システムを搭載するコンピュータ、データのバックアップ方法およびコンピュータ・プログラムを提供することができた。   According to the present invention, it is possible to provide a data protection system for a main memory that can protect data stored in the main memory from hang-up. Further, according to the present invention, a data protection system that realizes a highly reliable RAM disk can be provided. Furthermore, according to the present invention, a computer equipped with such a data protection system, a data backup method, and a computer program can be provided.

本実施の形態にかかるコンピュータの主要な構成を示す機能ブロック図である。It is a functional block diagram which shows the main structures of the computer concerning this Embodiment. メイン・メモリ上に形成された保護領域を説明する図である。It is a figure explaining the protection area formed on the main memory. データ保護システムの構成を示す機能ブロック図である。It is a functional block diagram which shows the structure of a data protection system. ブートが完了したときのメイン・メモリにロードされたファイルのデータ構造を示す図である。It is a figure which shows the data structure of the file loaded into the main memory when booting is completed. メイン・メモリに記憶されたデータをハングアップから保護する手順を説明するフローチャートである。It is a flowchart explaining the procedure which protects the data memorize | stored in the main memory from a hang-up. メイン・メモリに記憶されたデータをハングアップから保護する手順を説明するフローチャートである。It is a flowchart explaining the procedure which protects the data memorize | stored in the main memory from a hang-up. 他のデータ保護システムの構成を示す機能ブロック図である。It is a functional block diagram which shows the structure of another data protection system. メイン・メモリに記憶されたデータをハングアップから保護する手順を説明するフローチャートである。It is a flowchart explaining the procedure which protects the data memorize | stored in the main memory from a hang-up. メイン・メモリに記憶されたデータをハングアップから保護する手順を説明するフローチャートである。It is a flowchart explaining the procedure which protects the data memorize | stored in the main memory from a hang-up. 異常が発生してからシャットダウンするまでのコンピュータの状態の遷移を説明する図である。It is a figure explaining the transition of the state of the computer after an abnormality occurs until it shuts down.

[コンピュータの構成]
図1は、本実施の形態にかかるコンピュータ10の主要な構成を示す機能ブロック図である。本明細書の全体に渡って、同一の要素には同一の参照番号を付与する。コンピュータ10は、電池パック(図示せず。)および充電器(図示せず。)を搭載する携帯式コンピュータとすることができる。CPU11は、インテル(登録商標)のX86シリーズのアーキテクチャを採用し、保護仮想アドレス・モード(Protected Virtual Address Mode)とSMMで動作することができる。保護仮想アドレス・モードは単にプロテクト・モードということもある。
[Computer configuration]
FIG. 1 is a functional block diagram showing a main configuration of a computer 10 according to the present embodiment. Throughout this specification, identical elements are provided with identical reference numbers. The computer 10 can be a portable computer equipped with a battery pack (not shown) and a charger (not shown). The CPU 11 employs an Intel (registered trademark) X86 series architecture and can operate in a protected virtual address mode and SMM. The protected virtual address mode is sometimes simply referred to as protected mode.

メモリ・コントローラ・ハブ(MCH)13は、メイン・メモリ15へのアクセス動作を制御するためのメモリ・コントローラ機能、およびCPU11と他のデバイスとの間のデータ転送速度の差を吸収するためのデータ・バッファ機能を含むチップ・セットである。MCH13にはCPU11、メイン・メモリ15、グラフィック・プロセッシング・ユニット(GPU)17、およびアイオー・コントローラ・ハブ(ICH)21が接続されている。   The memory controller hub (MCH) 13 is a memory controller function for controlling an access operation to the main memory 15 and data for absorbing a difference in data transfer speed between the CPU 11 and other devices. A chip set that includes a buffer function. A CPU 11, a main memory 15, a graphic processing unit (GPU) 17, and an I / O controller hub (ICH) 21 are connected to the MCH 13.

メイン・メモリ15は、CPU11が実行するプログラムの読み込み領域、処理データを書き込む作業領域として利用する揮発性のRAMである。メイン・メモリ15には、一般領域に加えてCPU11がSMMで動作するときに実行するコードをロードするための領域であるSMRAM領域が定義されている。メイン・メモリ15には本発明により、ハングアップから保護するデータを記憶する領域として保護領域も定義される。GPU17にはLCD19が接続されている。GPU17は、CPU11から受け取った描画命令に基づいてVRAMにイメージを書き込み、所定のタイミングでLCD19に画像イメージのデータを送るための専用プロセッサで、グラフィックス・アクセラレータともいう。   The main memory 15 is a volatile RAM used as an area for reading a program executed by the CPU 11 and a work area for writing processing data. In addition to the general area, the main memory 15 defines an SMRAM area that is an area for loading a code to be executed when the CPU 11 operates in SMM. According to the present invention, a protection area is also defined in the main memory 15 as an area for storing data to be protected from hang-up. An LCD 19 is connected to the GPU 17. The GPU 17 is a dedicated processor for writing an image to the VRAM based on a drawing command received from the CPU 11 and sending image image data to the LCD 19 at a predetermined timing, and is also called a graphics accelerator.

ICH21は周辺入出力デバイスに関するデータ転送を処理するチップ・セットである。ICH21は、USB(Universal Serial Bus)、シリアルATA(AT Attachment)、SPI (Serial Peripheral Interface)バス、 PCI(Peripheral Component Interconnect)バス、PCI−Expressバス、およびLPC(Low Pin Count)などのポートを備え、HDD23、USBコネクタ25、およびLPCバス27などが接続されている。ICH21はSMIの発生要因を設定するSMIレジスタを含む。   The ICH 21 is a chip set that processes data transfer related to peripheral input / output devices. The ICH 21 includes ports such as USB (Universal Serial Bus), serial ATA (AT Attachment), SPI (Serial Peripheral Interface) bus, PCI (Peripheral Component Interconnect) bus, PCI-Express bus, and LPC (Low Pin Count). The HDD 23, the USB connector 25, the LPC bus 27, and the like are connected. The ICH 21 includes an SMI register for setting a cause of occurrence of SMI.

CPU11がプログラムを実行したり、マザーボードに実装されたハードウエアが温度や電源に関するイベントを生成したりしてSMIレジスタを設定することでICH21はSMI信号をCPU11のSMIピンに送りCPU11をSMMで動作させる。CPU11はSMIACTピンを通じてICH21にSMMでの動作を開始したことを通知する。   When the CPU 11 executes a program or the hardware mounted on the motherboard generates an event related to temperature or power supply and sets the SMI register, the ICH 21 sends an SMI signal to the SMI pin of the CPU 11 and operates the CPU 11 in SMM. Let The CPU 11 notifies the ICH 21 through the SMIACT pin that the operation in the SMM has started.

MCH13はCPU11がSMMに移行したことの通知をICH21から受け取ることで、メイン・メモリ15に対するアクセスをハードウエアにより制御してSMM環境を構築する。ICH21は、CPU11がSMMで動作している間は、SMRAM領域にロードされたコードがOSやアプリケーション・プログラムにより書き換えられないように保護する。   The MCH 13 receives a notification from the ICH 21 that the CPU 11 has shifted to SMM, and controls access to the main memory 15 by hardware to construct an SMM environment. The ICH 21 protects the code loaded in the SMRAM area from being rewritten by the OS or application program while the CPU 11 operates in SMM.

HDD23はブートディスクで、コンピュータ10が起動するときのブート・イメージを格納している。LPCバス27には、エンベデッド・コントローラ(EC)29およびBIOS_ROM33などの高速なデータ転送を要求しないデバイスが接続される。EC29は、CPU11から独立して動作するマイクロ・コンピューターでコンピュータ10の電源および温度を制御する。EC29には、CPU11とは別系統で電源が供給されて、サスペンド状態でCPU11が動作を停止している間やCPU11がハングアップしたときも動作することができる。EC29はキーボード・コントローラを備えており、キーボード31が接続されている。   The HDD 23 is a boot disk and stores a boot image when the computer 10 is started. Devices that do not require high-speed data transfer, such as the embedded controller (EC) 29 and the BIOS_ROM 33, are connected to the LPC bus 27. The EC 29 is a microcomputer that operates independently from the CPU 11 and controls the power supply and temperature of the computer 10. The EC 29 can operate even when the power is supplied by a system different from the CPU 11 and the CPU 11 stops operating in the suspended state or when the CPU 11 hangs up. The EC 29 includes a keyboard controller, and a keyboard 31 is connected thereto.

BIOS_ROM33は不揮発性で記憶内容の電気的な書き替えが可能なメモリであり、入出力デバイスを制御するためのデバイス・ドライバ、ACPI(Advanced Configuration and Power Interface)の規格に適合し電源およびシステム筐体内の温度などを管理したりハードウエアにアクセスしたりするシステムBIOS、ベクタ・テーブル、コンピュータ10の起動時にハードウエアの試験や初期化を行うPOST(Power-On Self Test)コード、およびパスワード認証を行うための認証コードなどを格納する。   The BIOS_ROM 33 is a non-volatile memory in which stored contents can be electrically rewritten, and is a device driver for controlling input / output devices. It conforms to the ACPI (Advanced Configuration and Power Interface) standard and is in the power supply and system chassis. System BIOS that manages the temperature of the computer and access to the hardware, vector table, POST (Power-On Self Test) code that tests and initializes the hardware when the computer 10 starts up, and password authentication This stores the authentication code and so on.

[保護領域]
図2は、メイン・メモリ上に定義された保護領域を説明する図である。保護領域に記憶されたデータは、コンピュータ10がハングアップしたときに本発明の方法によりHDD23にバックアップされる。保護領域は、RAMディスク領域57および特定領域59またはそのいずれか一方として構成することができる。
[Protected Area]
FIG. 2 is a diagram for explaining a protection area defined on the main memory. The data stored in the protection area is backed up to the HDD 23 by the method of the present invention when the computer 10 hangs up. The protection area can be configured as the RAM disk area 57 and / or the specific area 59.

RAMディスク領域57は、専用のデバイス・ドライバによりOSがHDD23を利用するのと同様のファイル・システムで利用できるように構成されている。本発明にかかるプログラムは、RAMディスク領域57に記憶されたデータを、メイン・メモリ15の電源を停止する際にHDD23にバックアップし、コンピュータを起動してメイン・メモリ15に電源を供給する際にRAMディスク領域57にリストアする。   The RAM disk area 57 is configured to be used in a file system similar to that used by the OS using the HDD 23 by a dedicated device driver. The program according to the present invention backs up data stored in the RAM disk area 57 to the HDD 23 when the power of the main memory 15 is stopped, and starts the computer to supply power to the main memory 15. Restore to the RAM disk area 57.

特定領域59は、ハングアップから保護する必要なファイルを処理するために、一時的にアプリケーションが使用できるようにした作業領域で、RAMディスク領域57とはメイン・メモリ15の電源の停止および供給に伴ってバックアップやリストアが行われない点で異なる。特定領域59に記憶されたデータはメイン・メモリの電源が停止すると消失するので、ファイルは永続的な保存場所としてのHDD23に保存される。   The specific area 59 is a work area that can be temporarily used by an application to process a necessary file to be protected from the hang-up. The RAM disk area 57 is used to stop and supply power to the main memory 15. Along with that, backup and restore are not performed. Since the data stored in the specific area 59 is lost when the main memory is turned off, the file is stored in the HDD 23 as a permanent storage location.

図2(A)〜(C)は、32ビット・アーキテクチャに基づいて保護領域を形成する例を示す。32ビット・アーキテクチャでは、OSが直接アドレス指定できるメイン・メモリ15の論理アドレス空間51は4GBに制限される。しかし、メイン・メモリ15の物理アドレス空間が4GBを越える場合には、物理アドレス空間にOSが直接認識できない論理アドレス空間53が生じる。図2(A)は論理アドレス空間53にRAMディスク領域57を設けた例を示す。   2A to 2C show an example of forming a protection area based on a 32-bit architecture. In the 32-bit architecture, the logical address space 51 of the main memory 15 that can be directly addressed by the OS is limited to 4 GB. However, when the physical address space of the main memory 15 exceeds 4 GB, a logical address space 53 that cannot be directly recognized by the OS is generated in the physical address space. FIG. 2A shows an example in which a RAM disk area 57 is provided in the logical address space 53.

なお、図2(A)のように、論理アドレス領域53に保護領域を形成する際には、OSの物理アドレス拡張機能であるPAEをイネーブルに設定する。PAEは、32ビット・アーキテクチャのアドレス・ラインを36ビット以上のアドレス・ラインに拡張する周知の拡張機能である。図2(B)は、OSが直接認識できる論理アドレス空間51にRAMディスク領域57を設けた例を示す。図2(C)は、論理アドレス空間51に特定領域を設けた例を示す。   As shown in FIG. 2A, when a protection area is formed in the logical address area 53, PAE which is an OS physical address expansion function is set to enable. PAE is a well-known extension function that extends an address line of a 32-bit architecture to an address line of 36 bits or more. FIG. 2B shows an example in which a RAM disk area 57 is provided in the logical address space 51 that can be directly recognized by the OS. FIG. 2C shows an example in which a specific area is provided in the logical address space 51.

図2(D)、(E)は、64ビット・アーキテクチャに基づいて保護領域を形成する例を示す。64ビット・アーキテクチャでは、OSが直接アドレス指定できるメイン・メモリ15の論理アドレス空間は膨大になり、現実にはOSが8GB〜128GB程度のメイン・メモリ15の物理アドレス空間を認識することができるようになっている。図2(D)、(E)では、物理アドレス空間に対してOSが認識できる論理アドレス空間55には制限がないと想定している。   2D and 2E show an example in which a protection area is formed based on a 64-bit architecture. In the 64-bit architecture, the logical address space of the main memory 15 that can be directly addressed by the OS becomes enormous, so that the OS can actually recognize the physical address space of the main memory 15 of about 8 GB to 128 GB. It has become. 2D and 2E, it is assumed that the logical address space 55 that can be recognized by the OS with respect to the physical address space is not limited.

図2(D)、(E)はそれぞれ論理アドレス空間55にRAMディスク領域57または特定領域59を設ける例を示している。なお、本発明においては、RAMディスク領域57と特定領域59を同時に設けることもできる。特定領域59は、アプリケーションがOSを通じてアクセスできる必要があるので、32ビット・アーキテクチャの論理アドレス空間51または64ビット・アーキテクチャの論理アドレス空間55に形成する。   2D and 2E show examples in which a RAM disk area 57 or a specific area 59 is provided in the logical address space 55, respectively. In the present invention, the RAM disk area 57 and the specific area 59 can be provided simultaneously. The specific area 59 is formed in the logical address space 51 of the 32-bit architecture or the logical address space 55 of the 64-bit architecture because the application needs to be accessible through the OS.

[メモリ・データ保護システム]
図3は、本実施の形態にかかるメイン・メモリのデータ保護システム100の構成を示す機能ブロック図である。データ保護システム100は、コンピュータ10に実装されたソフトウエアとハードウエアで構成されている。新規なソフトウエアは、メモリ管理アプリケーション101、システムBIOS107、および専用ドライバ113の一部である。メモリ管理アプリケーション101は、データ保護システム100の中心的な処理をするためのOS105上で動作するプログラムである。
[Memory data protection system]
FIG. 3 is a functional block diagram showing a configuration of the main memory data protection system 100 according to the present embodiment. The data protection system 100 includes software and hardware installed in the computer 10. The new software is a part of the memory management application 101, the system BIOS 107, and the dedicated driver 113. The memory management application 101 is a program that operates on the OS 105 for performing central processing of the data protection system 100.

メモリ管理アプリケーション101は、メイン・メモリ15にRAMディスク領域57および特定領域59またはいずれか一方を設けたり、HDD23にバックアップ領域を設けたりするための処理をする。メモリ管理アプリケーション101は、コンピュータ10がハングアップしたことをシステムBIOS107が監視するための所定の動作をする。本実施の形態では所定の動作として監視フラグを設定する動作を採用することができるが、コンピュータ10がハングアップしているか否かの状態をシステムBIOS107に対して表明できるような他の動作または処理を採用してもよい。   The memory management application 101 performs processing for providing the RAM disk area 57 and / or the specific area 59 in the main memory 15 or providing a backup area in the HDD 23. The memory management application 101 performs a predetermined operation for the system BIOS 107 to monitor that the computer 10 is hung up. In the present embodiment, an operation for setting a monitoring flag can be adopted as the predetermined operation, but other operations or processes that can indicate to the system BIOS 107 whether or not the computer 10 is hung up. May be adopted.

文書作成アプリケーション103は、RAMディスク領域57または特定領域59を利用して文書を作成するプログラムである。OS105は、Windows(登録商標)、または、MAC_OS(登録商標)などを採用することができる。図2(A)のように論理アドレス領域53に保護領域を形成する際には、OS105はPAEを備えているものとする。システムBIOS107は、メイン・メモリ15に本発明の保護領域を確保したり、コンピュータ10がハングアップしたときに保護領域のデータをHDD23にバックアップしたりする新規なコードを含む。システムBIOS107はメモリ管理アプリケーション101により監視フラグが設定されているときはコンピュータ10がハングアップしていないと判断し、監視フラグが設定されていないときはハングアップしたと判断する。   The document creation application 103 is a program that creates a document using the RAM disk area 57 or the specific area 59. The OS 105 can employ Windows (registered trademark), MAC_OS (registered trademark), or the like. Assume that the OS 105 includes a PAE when a protection area is formed in the logical address area 53 as shown in FIG. The system BIOS 107 includes a new code that secures the protection area of the present invention in the main memory 15 and backs up data in the protection area to the HDD 23 when the computer 10 hangs up. The system BIOS 107 determines that the computer 10 is not hung up when the monitoring flag is set by the memory management application 101, and determines that it is hung up when the monitoring flag is not set.

システムBIOS107は、INT13hの割り込みまたはその他のHDD23に対するアクセスをするためのサービス・ルーチンを利用して、RAMディスク領域57に格納されたデータをHDD23にバックアップしり、HDD23からデータを読み取ってRAMディスク領域57にリストアしたりする。   The system BIOS 107 uses the INT 13h interrupt or other service routine for accessing the HDD 23 to back up the data stored in the RAM disk area 57 to the HDD 23, reads the data from the HDD 23, and reads the RAM disk area 57. Or restore to

デバイス・ドライバ111は、HDD23の動作を制御したりOS105とHDD23との間のデータ転送を制御したりするプログラムである。専用ドライバ113は、RAMディスク領域57を仮想的にHDD23と同等のディスク・ドライブとして動作させるためのプログラムである。専用ドライバ113は、RAMディスク領域57が論理アドレス空間53に形成される場合は、RAMディスク領域57のアドレスをOSが認識する論理アドレス空間にマッピングする。専用ドライバ113は、OS105がHDD23を管理するファイル・システムと同等のファイル・システムを備えており、OS105およびシステムBIOS107に対してサービスを提供する新規なインターフェースを備えている。   The device driver 111 is a program that controls the operation of the HDD 23 and controls data transfer between the OS 105 and the HDD 23. The dedicated driver 113 is a program for operating the RAM disk area 57 virtually as a disk drive equivalent to the HDD 23. When the RAM disk area 57 is formed in the logical address space 53, the dedicated driver 113 maps the address of the RAM disk area 57 to the logical address space recognized by the OS. The dedicated driver 113 has a file system equivalent to the file system that the OS 105 manages the HDD 23, and has a new interface that provides services to the OS 105 and the system BIOS 107.

ICH21はSMIレジスタ22を備え、CPU11にSMIピンおよびSMIACTピンで接続されている。ICH21は、CPU11が実行するプログラムの動作から独立して、数ミリ秒といった一定の周期でSMIピンをアサートしてSMIを発行する。ICH21は、SMIを発行する際に、SMIレジスタ22にSMIを発行する要因を設定する。CPU11は、SMIピンがアサートされるとSMMで動作し、SMIACTピンをアサートしてICH21に通知する。   The ICH 21 includes an SMI register 22 and is connected to the CPU 11 via an SMI pin and an SMIACT pin. The ICH 21 issues an SMI by asserting the SMI pin at a constant cycle such as several milliseconds, independently of the operation of the program executed by the CPU 11. When the ICH 21 issues an SMI, the ICH 21 sets a factor for issuing the SMI in the SMI register 22. When the SMI pin is asserted, the CPU 11 operates in SMM, asserts the SMIACT pin, and notifies the ICH 21.

CPU11は、SMMに移行すると最初に必ずSMIハンドラを実行する。SMIハンドラは、SMIが発行されたときにICH21のSMIレジスタ22を参照してSMIの発生要因を調べ、システムBIOS107による監視フラグの確認作業およびバックアップ処理が要求されていることを認識すると制御をシステムBIOS107に移す。CPU11がSMMで動作している間、MCH13はSMRAM領域のアドレスに対するアクセスは許容するが、SMMで動作していないときはSMRAM領域のアドレスに対するアクセスは、メイン・メモリ15の他のアドレスへのアクセスとして処理する。   The CPU 11 always executes the SMI handler first when shifting to the SMM. The SMI handler refers to the SMI register 22 of the ICH 21 when the SMI is issued, checks the cause of the SMI, and if the SMI handler recognizes that the monitoring work of the monitoring flag by the system BIOS 107 and the backup processing are requested, the system performs control. Move to BIOS107. While the CPU 11 is operating in the SMM, the MCH 13 allows access to the address in the SMRAM area. However, when the CPU 11 is not operating in the SMM, the access to the address in the SMRAM area is to access other addresses in the main memory 15. Process as.

EC29はLPCバス27から独立したラインでICH21のSMIリクエスト・ピン(SMIREQ)に接続されており、SMIリクエスト・ピンをアサートすることでICH21にSMIの発行を要求することができる。CPU11にハードウエア的な障害が発生した場合はSMIを発行してもSMMに遷移させることはできないが、EC29はキーボード31の入力をCPU11から独立した動作で処理するため、ソフトウエアやICH21の誤作動でSMIを発行できない場合には、キーボード31に割り当てられた専用のキーからの入力に基づいてSMIリクエスト・ピンをアサートできる。   The EC 29 is connected to the SMI request pin (SMIREQ) of the ICH 21 via a line independent from the LPC bus 27, and the ICH 21 can be requested to issue an SMI by asserting the SMI request pin. If a hardware failure occurs in the CPU 11, even if an SMI is issued, the transition to the SMM cannot be made. However, since the EC 29 processes the input of the keyboard 31 by an operation independent of the CPU 11, an error in the software or ICH 21 occurs. If the SMI cannot be issued in operation, the SMI request pin can be asserted based on input from a dedicated key assigned to the keyboard 31.

[メイン・メモリのデータ構造]
図4は、コンピュータに電源が投入されブートが完了したときのメイン・メモリ15にロードされたファイルのデータ構造を示す図である。メイン・メモリ15には、一般領域131とSMRAM領域135とACPI_NVS領域137がPOSTコード109により形成されている。一般領域131はOS105がアクセスできる論理アドレス空間で、内部に図2(B)、(D)に示したようにRAMディスク領域57が形成されている。
[Data structure of main memory]
FIG. 4 is a diagram showing a data structure of a file loaded in the main memory 15 when the computer is turned on and the boot is completed. In the main memory 15, a general area 131, an SMRAM area 135, and an ACPI_NVS area 137 are formed by the POST code 109. The general area 131 is a logical address space that can be accessed by the OS 105, and a RAM disk area 57 is formed therein as shown in FIGS.

RAMディスク領域57はOS105がアクセスできずシステムBIOS107だけがアクセスできるようにPOSTコードにより設定された論理アドレス空間である。ACPI_NVS領域137はOS105およびシステムBIOS107のいずれもアクセスできる論理アドレス空間である。ACPI_NVS領域137には、コンピュータ10がハングアップしたか否かをシステムBIOS107が監視するためにメモリ管理アプリケーション101により監視フラグ129が設定される。   The RAM disk area 57 is a logical address space set by a POST code so that only the system BIOS 107 can access but not the OS 105. The ACPI_NVS area 137 is a logical address space that can be accessed by both the OS 105 and the system BIOS 107. In the ACPI_NVS area 137, a monitoring flag 129 is set by the memory management application 101 in order for the system BIOS 107 to monitor whether or not the computer 10 has hung up.

一般領域131には、BIOS_ROM33に格納されたプログラムおよびHDD23に格納された専用ドライバ113、POSTコード109、システムBIOS107、メモリ管理アプリケーション101、文書作成アプリケーション103およびOS105などがロードされる。SMRAM領域135には、SMIハンドラ113がロードされ、さらにSSM(State Save Map)127という領域が確保される。SMM127は、CPU11がSMMに移行する直前のレジスタやポインタなどのコンテキストを格納する記憶領域である。   The general area 131 is loaded with a program stored in the BIOS_ROM 33, a dedicated driver 113, a POST code 109, a system BIOS 107, a memory management application 101, a document creation application 103, an OS 105, and the like stored in the HDD 23. In the SMRAM area 135, the SMI handler 113 is loaded, and an area called SSM (State Save Map) 127 is secured. The SMM 127 is a storage area for storing contexts such as registers and pointers immediately before the CPU 11 shifts to SMM.

[メモリ・データを保護する手順]
図5、図6は、データ保護システム100がメイン・メモリに記憶されたデータをハングアップから保護する手順を説明するフローチャートである。ここでは、RAMディスク領域57を図2(B)、(D)に示した論理アドレス空間51に形成する場合を例にして説明するが、図5(A)に示した論理アドレス空間53に形成する場合は、OS105のPAEを有効にすることで同様に実現することができる。ブロック201でコンピュータ10の電源が投入されると、ブロック203でCPU11は、最初にBIOS_ROM33の所定のアドレスにアクセスしてPOSTコード109を実行しブートを開始する。
[Procedure for protecting memory data]
FIG. 5 and FIG. 6 are flowcharts for explaining a procedure in which the data protection system 100 protects data stored in the main memory from hang-up. Here, a case where the RAM disk area 57 is formed in the logical address space 51 shown in FIGS. 2B and 2D will be described as an example. However, the RAM disk area 57 is formed in the logical address space 53 shown in FIG. In this case, it can be similarly realized by enabling the PAE of the OS 105. When the computer 10 is powered on in block 201, in block 203, the CPU 11 first accesses a predetermined address in the BIOS_ROM 33, executes the POST code 109, and starts booting.

POSTコード109はCPU11のレジスタ、MCH13、メイン・メモリ15などの検査と初期化を行い、メイン・メモリ15が利用可能な状態になると、BIOS_ROM33に格納されたプログラムおよびベクタ・テーブル121を図4に示したようにメイン・メモリ15にロードする。このとき、POSTコード109は、メイン・メモリ15上にOS105がアクセスできる一般領域131、システムBIOS107がアクセスできるRAMディスク領域57およびSMRAM領域137、およびOS105とシステムBIOS107がアクセスすることができるACPI_NVS領域137を形成する。   The POST code 109 inspects and initializes the registers of the CPU 11, the MCH 13, the main memory 15, and the like. When the main memory 15 becomes available, the program and vector table 121 stored in the BIOS_ROM 33 are shown in FIG. Load into the main memory 15 as shown. At this time, the POST code 109 is a general area 131 that can be accessed by the OS 105 on the main memory 15, a RAM disk area 57 and SMRAM area 137 that can be accessed by the system BIOS 107, and an ACPI_NVS area 137 that can be accessed by the OS 105 and system BIOS 107. Form.

ブロック205でOS105は、AXレジスタにE820hを設定してINT15h命令を発行し、自らがアクセスできる一般領域131およびACPI_NVS領域137とアクセスできないRAMディスク領域57およびSMRAM領域135を認識する。このとき、OS105は、RAMディスク領域57の開始アドレスとサイズを認識して、メモリ管理アプリケーション101に知らせる。ブロック207では、メモリ管理アプリケーション101が専用ドライバ113にパラメータを設定して初期化する。   In block 205, the OS 105 sets E820h in the AX register and issues an INT15h instruction, and recognizes the general area 131 and the ACPI_NVS area 137 accessible by itself and the RAM disk area 57 and SMRAM area 135 that cannot be accessed. At this time, the OS 105 recognizes the start address and size of the RAM disk area 57 and notifies the memory management application 101 of it. In block 207, the memory management application 101 sets parameters in the dedicated driver 113 and initializes them.

ブロック205では、システムBIOS107によりRAMディスク領域57として利用可能な範囲が設定されたが、ブロック207では、メモリ管理アプリケーション101はその範囲内で実際にRAMディスク領域57として使用する範囲の開始アドレスとサイズを設定する。そして、メモリ管理アプリケーション101は、RAMディスク領域57に対して固有のドライブ番号を付与する。文書作成アプリケーション103は、ドライブ番号が付与されたRAMディスク領域57を、HDD23の記憶領域の一部と同じように認識してデータの書き込みまたは読み出しを行うことができる。   In block 205, a range that can be used as the RAM disk area 57 is set by the system BIOS 107, but in block 207, the memory management application 101 starts and addresses the range that is actually used as the RAM disk area 57 within that range. Set. Then, the memory management application 101 gives a unique drive number to the RAM disk area 57. The document creation application 103 can recognize the RAM disk area 57 to which the drive number is assigned in the same way as a part of the storage area of the HDD 23 and write or read data.

ブロック209では、メモリ管理アプリケーション101が、HDD23のマスター・ブート・レコードに定義して形成したHDD23の専用の記憶領域にバックアップ領域を確保してOS105に通知する。通知を受けたOS105は、バックアップ領域にはアクセスしないため、バックアップ領域はRAMディスク領域57に対する専用の記憶領域になる。メモリ管理アプリケーション101は、バックアップ領域をOS105が認識できない別のパティションに形成することもできる。なお、バックアップ領域は、HDD23のマスター・ブート・レコードに一度設定しておけば、メモリ管理アプリケーション101がコンピュータ10の起動ごとに作成する必要はない。   In block 209, the memory management application 101 secures a backup area in the dedicated storage area of the HDD 23 defined and defined in the master boot record of the HDD 23, and notifies the OS 105 of the backup area. The OS 105 that has received the notification does not access the backup area, so the backup area becomes a dedicated storage area for the RAM disk area 57. The memory management application 101 can also form the backup area in another partition that the OS 105 cannot recognize. Note that once the backup area is set in the master boot record of the HDD 23, the memory management application 101 does not need to be created every time the computer 10 is started.

ブロック211では、メモリ管理アプリケーション101がシステムBIOS107に、メイン・メモリ15のRAMディスク領域57およびHDD23のバックアップ領域のサイズ、開始アドレス、ドライブ番号などのアクセス情報を通知する。ブロック213では、システムBIOS213が、バックアップ領域に保存されていたイメージ・ファイルをRAMディスク領域57にリストアする。このように、バックアップ領域とRAMディスク領域57との間では、記憶されている完全なディスク・イメージが転送される。   In block 211, the memory management application 101 notifies the system BIOS 107 of access information such as the size, start address, and drive number of the RAM disk area 57 of the main memory 15 and the backup area of the HDD 23. In block 213, the system BIOS 213 restores the image file stored in the backup area to the RAM disk area 57. In this way, the complete stored disk image is transferred between the backup area and the RAM disk area 57.

ブロック215では、メモリ管理アプリケーション101が、ブルースクリーンが表示されたあとのOS105による自動再起動機能を停止するように設定する。この設定により、コンピュータ10の異常がブルースクリーンを伴うものである場合に、バックアップ処理が完了する前にシャットダウンすることをより確実に防ぐことができる。ブロック217では、メモリ管理アプリケーション101がACPI_NVS領域137に監視フラグ129が設定されていればそれを解除する。ブートしてからここまでの手順では、監視フラグ129が設定されることはないので、これは念のための手順であり省くこともできる。   In block 215, the memory management application 101 sets to stop the automatic restart function by the OS 105 after the blue screen is displayed. With this setting, when the abnormality of the computer 10 is accompanied by a blue screen, it is possible to more reliably prevent a shutdown before the backup process is completed. In block 217, if the monitoring flag 129 is set in the ACPI_NVS area 137, the memory management application 101 cancels it. In the procedure up to this point after booting, the monitoring flag 129 is not set, so this is a precautionary procedure and can be omitted.

ブロック219では、ブート・ファイルがすべてロードされてブートが完了する。このときCPU11は、プロテクト・モードで動作している。プロテクト・モードでは、OS105が動作してメモリ管理アプリケーション101および文書作成アプリケーション103にさまざまなサービスを提供する。なお、ブロック207からブロック217までの処理は、ブート完了後に文書作成アプリケーション103がRAMディスク領域57を使用する際にメモリ管理アプリケーション101を起動して行うようにしてもよい。   At block 219, all boot files are loaded and the boot is complete. At this time, the CPU 11 is operating in the protect mode. In the protected mode, the OS 105 operates to provide various services to the memory management application 101 and the document creation application 103. Note that the processing from block 207 to block 217 may be performed by starting the memory management application 101 when the document creation application 103 uses the RAM disk area 57 after the boot is completed.

ブロック221では、ユーザが文書作成アプリケーション103を実行して文書作成作業を行う。文書作成アプリケーション103が、作業に利用するメイン・メモリ15上の領域は、RAMディスク領域113とは異なる一般領域113の一部である。その領域は、OS105により割り当てられるが、コンピュータ10がハングアップしたときに保護はされない。文書作成アプリケーション103はRAMディスク領域57をHDD23と同じような1つの独立したディスク・ドライブとして認識し、OS105および専用ドライバ113を通じてRAMディスク領域57からファイルを一般領域131に読み出したり、ファイルをRAMディスク領域57に保存したりすることができる。   In block 221, the user executes the document creation application 103 to perform document creation work. The area on the main memory 15 used for work by the document creation application 103 is a part of the general area 113 different from the RAM disk area 113. The area is allocated by the OS 105, but is not protected when the computer 10 hangs up. The document creation application 103 recognizes the RAM disk area 57 as one independent disk drive similar to the HDD 23, reads a file from the RAM disk area 57 to the general area 131 through the OS 105 and the dedicated driver 113, and reads the file to the RAM disk. It can be stored in the area 57.

ユーザが自動または手動で一般領域113のファイルをRAMディスク領域57に保存しながら文書作成アプリケーション103による作業をしている間に、図6のブロック251に移行する。ブロック251はコンピュータ10が実行する処理手順の一部ではなく、本実施の形態にかかるデータ保護の特徴を説明するために挿入したコンピュータ10の動作状態を示している。ブロック251は、メモリ管理アプリケーション101が正常に動作しているか否かの2つの状態を示している。   While the user is working with the document creation application 103 while automatically or manually saving the file in the general area 113 in the RAM disk area 57, the process proceeds to block 251 in FIG. Block 251 is not a part of the processing procedure executed by the computer 10, but indicates the operating state of the computer 10 inserted to explain the characteristics of data protection according to the present embodiment. A block 251 shows two states of whether or not the memory management application 101 is operating normally.

この時点でのメモリ管理アプリケーション101の作業は、ブロック253で監視フラグ129を設定することであり、メモリ管理アプリケーション101が正常に動作するということは監視フラグ129を設定したことを意味している。メモリ管理アプリケーション101が監視フラグ129を設定するには、自らが正常に動作するだけでなく、メモリ管理アプリケーション101の正常な動作に影響を与えるOS105、デバイス・ドライバ、およびハードウエアなども正常に動作していることが前提になる。   The work of the memory management application 101 at this time is to set the monitoring flag 129 in block 253, and that the memory management application 101 operates normally means that the monitoring flag 129 has been set. In order for the memory management application 101 to set the monitoring flag 129, not only does it operate normally, but also the OS 105, device drivers, and hardware that affect the normal operation of the memory management application 101 operate normally. It is assumed that

カーネル・モードで動作するOS105やデバイス・ドライバがハングアップして未処理例外を引き起こしたり、ハードウエア・エラーが発生したりして、LCD19にブルースクリーンを表示するような状態に至ると、コンピュータ10はその状態で動作を停止し、シャットダウンしない限り正常な動作状態に戻すことができない。シャットダウンすると、HDD23にバックアップされていないRAMディスク領域57のデータは消失することになる。   When the OS 105 or the device driver operating in the kernel mode hangs up to cause an unhandled exception or a hardware error occurs and the blue screen is displayed on the LCD 19, the computer 10 Stops operating in that state and cannot return to a normal operating state unless it is shut down. When shut down, the data in the RAM disk area 57 that has not been backed up in the HDD 23 is lost.

ブルースクリーンを表示する状態になるとメモリ管理アプリケーション101は、監視フラグ129の設定をすることができない。ブルースクリーンの表示は、OS105が行う。したがって、デバイス・ドライバがハングアップしてOS105が制御権を取得できなくなったような場合は、ブルースクリーンが表示されないでコンピュータ10またはCPU11が動作を停止することもある。この場合もメモリ管理アプリケーション101は監視フラグ129を設定できない。   When the blue screen is displayed, the memory management application 101 cannot set the monitoring flag 129. The OS 105 displays the blue screen. Therefore, when the device driver hangs up and the OS 105 cannot acquire the control right, the computer 10 or the CPU 11 may stop operating without displaying the blue screen. Also in this case, the memory management application 101 cannot set the monitoring flag 129.

メモリ管理アプリケーション101が正常に動作する場合はブロック253で監視フラグ129を設定してブロック255に移行する。コンピュータ10のハードウエアまたはソフトウエアにメモリ管理アプリケーション101が監視フラグ129を設定できないような異常が生じている場合は、メモリ管理アプリケーション101が監視フラグ129を設定しないで直接ブロック255に移行する。   If the memory management application 101 operates normally, the monitor flag 129 is set in block 253 and the process moves to block 255. If an abnormality has occurred in the hardware or software of the computer 10 that prevents the memory management application 101 from setting the monitoring flag 129, the memory management application 101 proceeds directly to block 255 without setting the monitoring flag 129.

ブロック255では、ICH21が数ミリ秒の周期で周期的にCPU11に対してSMIを発行している。このときICH21は、SMIレジスタ22に、システムBIOS107にブロック261から269までの処理をさせることを示す発生要因を設定する。ICH21がすでにSMMで動作している場合は、当該SMIの発行は無視される。ブロック255ではCPU11がプロテクト・モードで動作しているときに発行されたSMIだけが実行される。   In block 255, the ICH 21 issues SMI to the CPU 11 periodically with a period of several milliseconds. At this time, the ICH 21 sets a generation factor indicating that the system BIOS 107 performs processing from blocks 261 to 269 in the SMI register 22. If the ICH 21 is already operating in SMM, the issue of the SMI is ignored. In block 255, only the SMI issued when the CPU 11 is operating in the protected mode is executed.

SMIは、ICH21が専用のSMIピンを利用して発行しているので、CPU11がハングアップしても高い確率でCPU11をSMMに遷移させることができる。しかし、ICH21の動作不良がハングアップの原因になっているような特殊な事情のときには、SMIを発行できない状態でコンピュータ10がハングアップすることもあり得る。   The SMI is issued by the ICH 21 using a dedicated SMI pin. Therefore, even if the CPU 11 hangs up, the CPU 11 can transition to the SMM with high probability. However, in a special situation where the malfunction of the ICH 21 causes the hang-up, the computer 10 may hang up in a state where the SMI cannot be issued.

ブロック257もコンピュータ10の処理手順の一部ではなく、コンピュータ10の動作状態を示している。ブロック257は、コンピュータ10がSMIを発行できない状態でハングアップしたか、それ以外の状態かの2つの状態のいずれかを示している。それ以外の状態は、ハングアップしていない状態と、ハングアップしたがICH21がSMIを発行できる状態を含んでいる。   Block 257 is not a part of the processing procedure of the computer 10 but indicates the operating state of the computer 10. Block 257 indicates one of two states: the computer 10 has hung up in a state where it cannot issue an SMI, or otherwise. Other states include a state in which no hang-up has occurred and a state in which the ICH 21 can issue an SMI although it has hung up.

コンピュータ10がハングアップするときは、ブルースクリーンを表示する場合と表示しない場合がある。ユーザがブルースクリーンの表示またはコンピュータ10の動作状態に基づいてコンピュータ10がハングアップしたと判断したときは、ブロック259に移行してキーボード31の特定のキーを押下して強制的にSMIを発行させブロック261に移行する。ただし、ハングアップしてもブロック261、263、265の手順でバックアップ処理が行われて再起動するような場合は、SMIが発行されたことになるので、ユーザはハングアップ後の様子をしばらく観察してから特定のキーを押下することになる。   When the computer 10 hangs up, it may or may not display a blue screen. If the user determines that the computer 10 has hung up based on the blue screen display or the operating state of the computer 10, the process proceeds to block 259 to force a SMI to be issued by pressing a specific key on the keyboard 31. Transition to block 261. However, even if a hang-up occurs, if the backup process is performed in the procedure of blocks 261, 263, and 265 and restarted, the SMI is issued, so the user observes the state after the hang-up for a while. Then, a specific key is pressed.

特定のキーの押下はCPU11から独立して動作するEC29で検出され、EC29はICH21のSMIリクエスト・ピンをアサートしてSMIの発行を要求する。ICH21は、EC29に接続されたSMIリクエスト・ピンがアサートされると、当該ピンによりあらかじめ定められた発生要因をSMIレジスタ22に設定して、CPU11のSMIピンをアサートする。SMIの発生要因は、ブロック255と同じである。   The pressing of a specific key is detected by the EC 29 operating independently of the CPU 11, and the EC 29 asserts the SMI request pin of the ICH 21 and requests the SMI to be issued. When the SMI request pin connected to the EC 29 is asserted, the ICH 21 sets a generation factor predetermined by the pin in the SMI register 22 and asserts the SMI pin of the CPU 11. The generation factor of SMI is the same as in block 255.

ブロック257でコンピュータ10がハングアップしていない状態またはハングアップしたがICH21がSMIを発行できる状態の場合は、ブロック261に移行する。ブロック255またはブロック259でSMIピンがアサートされるとCPU11は、その時点でのレジスタやポインタの内容であるコンテキストをメイン・メモリ15のSSM127に格納して、ICH21に対してSMIACTピンを通じてSMMで動作したことを通知する。CPU11がSMMに移行すると、ブロック261でシステムBIOS107は、ACPI_NVS領域137に監視フラグ129が設定されているか否かを判断する。   If the computer 10 is not hung up at block 257 or is hung up but the ICH 21 can issue an SMI, the process proceeds to block 261. When the SMI pin is asserted in block 255 or block 259, the CPU 11 stores the context, which is the contents of the register or pointer at that time, in the SSM 127 of the main memory 15, and operates in SMM for the ICH 21 through the SMIACT pin. Notify you. When the CPU 11 shifts to SMM, the system BIOS 107 determines whether or not the monitoring flag 129 is set in the ACPI_NVS area 137 in block 261.

監視フラグ129が設定されていないと判断した場合は、ブロック263に移行して、システムBIOS107はCPU11のレジスタにパラメータを設定してINT13hを発行し、RAMディスク領域57に格納されたイメージ・ファイルをHDD23のバックアップ領域に保存する。ブロック265では、システムBIOS107が、EC29にコンピュータ10の再起動を要求しブロック203に戻る。ユーザは、ブロック215でブルースクリーン後の自動再起動を停止したにもかかわらず、ブルースクリーンが発生した後またはコンピュータ10が動作を停止した後にコンピュータ10が自動再起動したことで、RAMディスク領域57のイメージ・ファイルがHDD23のバックアップ領域に保存されたことを認識する。   If it is determined that the monitoring flag 129 has not been set, the process proceeds to block 263 where the system BIOS 107 sets a parameter in the register of the CPU 11 and issues INT13h, and the image file stored in the RAM disk area 57 is The data is stored in the backup area of the HDD 23. In block 265, the system BIOS 107 requests the EC 29 to restart the computer 10 and returns to block 203. The user has stopped the automatic restart after the blue screen in block 215, but the computer 10 has automatically restarted after the blue screen has occurred or the computer 10 has stopped operating, so that the RAM disk area 57 Is recognized in the backup area of the HDD 23.

ブロック261で監視フラグ129が設定されていることを確認したシステムBIOS107は、コンピュータ10が正常に動作していると判断して、ブロック267に移行して監視フラグ129を解除する。ブロック269では、システムBIOS107がRSM(Return from System Management instruction)命令を実行して、ICH21がSMIピンをネゲートするようにSMIレジスタ22に設定する。つづいてシステムBIOS107はSSM127に格納しておいたコンテキストをCPU11に戻してCPU11をSMMからプロテクト・モードに移行させる。プロテクト・モードに移行したCPU11はSMMで動作する直前の状態から動作を再開する。   The system BIOS 107 confirming that the monitoring flag 129 is set in block 261 determines that the computer 10 is operating normally, and proceeds to block 267 to release the monitoring flag 129. In block 269, the system BIOS 107 executes an RSM (Return from System Management instruction) instruction to set the SMI register 22 so that the ICH 21 negates the SMI pin. Subsequently, the system BIOS 107 returns the context stored in the SSM 127 to the CPU 11 and shifts the CPU 11 from the SMM to the protected mode. The CPU 11 that has shifted to the protect mode resumes its operation from the state immediately before operating in the SMM.

ブロック271では、OS105が提供するLCD19の画面を通じてユーザがコンピュータの電源を停止してシャットダウンをする指示をした場合は、ブロック273に移行する。なお、メイン・メモリ15の電源が停止するハイバネーションのときはメイン・メモリ15のファイル・イメージがHDD23に保存され、サスペンドのときはメイン・メモリ15の電源は維持されるので、いずれの場合もブロック273に移行する必要はない。   In block 271, when the user gives an instruction to shut down and shut down the computer through the screen of the LCD 19 provided by the OS 105, the process proceeds to block 273. It should be noted that the file image of the main memory 15 is stored in the HDD 23 during hibernation when the power of the main memory 15 is stopped, and the power of the main memory 15 is maintained during suspension. There is no need to move to H.273.

シャットダウンの指示を受けたOS105は、システムBIOS107を通じてEC29にSMIの発行を要求する。ブロック273でEC29がICH21のSMIレジスタ22にSMIの発生要因を設定すると、ICH21はブロック255で発行したSMIから独立したタイミングでSMIを発行し、CPU11はSMMに移行する。SMMで動作する間にCPU11で実行されるシステムBIOS107は、RAMディスク領域57に格納されたデータをイメージ・ファイルとしてHDD23のバックアップ領域に保存する。   Receiving the shutdown instruction, the OS 105 requests the EC 29 to issue an SMI through the system BIOS 107. When the EC 29 sets the SMI generation factor in the SMI register 22 of the ICH 21 in the block 273, the ICH 21 issues an SMI at a timing independent of the SMI issued in the block 255, and the CPU 11 shifts to SMM. The system BIOS 107 executed by the CPU 11 while operating in the SMM saves the data stored in the RAM disk area 57 as an image file in the backup area of the HDD 23.

その後、システムBIOS107がバックアップの終了をEC29に通知すると、EC29はブロック275でコンピュータ10の電源を停止してシャットダウンする。ブロック271でユーザがコンピュータ10を停止しない場合は、ブロック221に戻って文書作成アプリケーション103による作業を継続する。上記の手順によれば、メモリ管理アプリケーション101が監視フラグ129を設定できない場合は、その原因がいかなるものであってもバックアップ処理が行われる。よって、メモリ管理アプリケーション101自体が動作不良の場合もバックアップは行われるが、不必要なバックアップ処理はコンピュータのパフォーマンスを若干低下させるだけでデータ保護システム100は安全な方向で動作する。   Thereafter, when the system BIOS 107 notifies the EC 29 of the end of the backup, the EC 29 stops the power supply of the computer 10 at block 275 and shuts down. If the user does not stop the computer 10 in block 271, the process returns to block 221 to continue the work by the document creation application 103. According to the above procedure, when the memory management application 101 cannot set the monitoring flag 129, the backup process is performed regardless of the cause. Therefore, backup is performed even when the memory management application 101 itself is malfunctioning. However, unnecessary backup processing only slightly reduces the performance of the computer, and the data protection system 100 operates in a safe direction.

コンピュータ10が正常に動作しているときは、ブロック253でプロテクト・モードの間にメモリ管理アプリケーション101によって設定された監視フラグ129は、ブロック267でSMMの間にシステムBIOS107によって解除され、再びブロック253で設定される。コンピュータ10が起動したときは、メモリ管理アプリケーション101が実行されたタイミングで監視フラグ129を設定することができる。ブロック271からブロック221への移行を通じて、文書作成アプリケーション101が再び監視フラグ129を設定する場合は、システムBIOS107がCPU11をプロテクト・モードに遷移させたタイミングで監視フラグ129を設定することができる。あるいは、メモリ管理アプリケーション101は、ブロック255のSMMの周期からは独立して、定期的にNVS領域137に監視フラグを上書き方式で書き込むようにしてもよい。   When the computer 10 is operating normally, the monitoring flag 129 set by the memory management application 101 during the protect mode at block 253 is cleared by the system BIOS 107 during SMM at block 267 and again at block 253. Set by. When the computer 10 is activated, the monitoring flag 129 can be set at the timing when the memory management application 101 is executed. When the document creation application 101 sets the monitoring flag 129 again through the transition from the block 271 to the block 221, the monitoring flag 129 can be set at the timing when the system BIOS 107 shifts the CPU 11 to the protected mode. Alternatively, the memory management application 101 may periodically write the monitoring flag in the NVS area 137 by the overwrite method, independently of the SMM period of the block 255.

[データ保護の信頼性]
図5、図6の手順において実施したデータ保護システム100によるRAMディスク領域57に記憶されたデータ保護の信頼性について説明する。本実施の形態においてデータ保護システム100がシャットダウン前のバックアップ処理を失敗するのは、以下に説明するような条件が成立した場合であると考えられ、確率は低いと想定することができる。
[Reliability of data protection]
The reliability of data protection stored in the RAM disk area 57 by the data protection system 100 implemented in the procedure of FIGS. 5 and 6 will be described. In this embodiment, it is considered that the data protection system 100 fails the backup process before shutdown when the conditions described below are satisfied, and it can be assumed that the probability is low.

まず、メモリ管理アプリケーション101が誤って監視フラグ129を設定するような誤動作をし、これにコンピュータ10のシャットダウンを伴うようなハングアップが発生する条件が重なった場合には、ブロック263のバックアップ処理ができない。しかし、ハングアップしたときにメモリ管理アプリケーション101が監視フラグ129を設定する誤りは、ハングアップしていないときに監視フラグ129を設定しない誤りよりは少ないと考えられ、このような条件が重なることは非常にまれであると想定できる。ハングアップしていないときにメモリ管理アプリケーション101が誤って監視フラグ129を設定しない場合は、余分な動作としてのバックアップ処理が行われるので本実施の形態にかかるデータ保護システム100は安全方向で動作する。   First, if the memory management application 101 malfunctions such that the monitoring flag 129 is erroneously set, and a condition that causes a hang-up that causes a shutdown of the computer 10 overlaps with this, the backup processing of the block 263 is performed. Can not. However, the error that the memory management application 101 sets the monitoring flag 129 when it is hung up is considered to be less than the error that does not set the monitoring flag 129 when it is not hung up. It can be assumed that it is very rare. If the memory management application 101 does not mistakenly set the monitoring flag 129 when it is not hung up, backup processing as an extra operation is performed, so the data protection system 100 according to the present embodiment operates in a safe direction. .

つぎに、メモリ管理アプリケーション101が正常に動作しないために監視フラグ129が設定されない状態になったときに、CPU11がSMMに移行できない場合を想定することができる。しかし、SMMに移行する前にハングアップした場合は、ブロック259でユーザが強制的にSMMを実行することでバックアップ処理をすることができる。このとき、キーボード31およびEC29は、CPU11から独立して動作しているため、EC29とICH21が正常に動作してSMIREQラインとSMIラインが確保されていれば、多くの場合CPU11をSMMに移行させることができる。   Next, it can be assumed that the CPU 11 cannot move to the SMM when the monitoring flag 129 is not set because the memory management application 101 does not operate normally. However, if the user hangs up before moving to SMM, the user can forcibly execute SMM in block 259 to perform backup processing. At this time, since the keyboard 31 and the EC 29 operate independently of the CPU 11, in many cases, the CPU 11 is shifted to the SMM if the EC 29 and the ICH 21 operate normally and the SMIREQ line and the SMI line are secured. be able to.

また、ブロック255では、SMIの発行をほとんどソフトウエアに依存しないでハードウエアが行うことにより、ソフトウエアに起因したSMI発行のトラブルを低減することができる。したがって、SMMに移行できない現実的な原因は、ICH21またはEC29などのハードウエアの故障のような限られたものになる。   Further, in block 255, the hardware issues the SMI issuance almost independently of the software, so that the trouble of the SMI issuance caused by the software can be reduced. Therefore, practical causes that cannot be shifted to SMM are limited, such as failure of hardware such as ICH21 or EC29.

さらに、バックアップ処理が完了する前に、コンピュータ10がシャットダウンするとRAMディスク領域57のデータは保護されないことになる。まず、ブルースクリーンの表示を伴うような異常の場合は、ブロック215で再起動しないように設定しているのでシャットダウンする確率は低くなっている。また、CPU11がSMMで動作している間は、プロテクト・モードでの動作は停止していると考えてよいので、ハングアップの発生からシャットダウンまでの状態の進行は停止する。   Further, if the computer 10 is shut down before the backup process is completed, the data in the RAM disk area 57 is not protected. First, in the case of an anomaly accompanied by a blue screen display, since the restart is set not to be performed in block 215, the probability of shutting down is low. Further, while the CPU 11 is operating in the SMM, it can be considered that the operation in the protected mode is stopped, so the progress of the state from the occurrence of the hang-up to the shutdown is stopped.

したがって、コンピュータ10がハングアップしても、バックアップ処理が完了する前にシャットダウンする可能性は低い。以上のとおり、データ保護システム100は、RAMディスク領域57に記憶されたデータを頻繁にHDD23にバックアップしなくてもコンピュータ10のハングアップから有効に保護することができる。その結果、メイン・メモリ15の容量を有効に活用することができ、かつ、安全で高速な仮想ディスク・ドライブを実現することができる。   Therefore, even if the computer 10 hangs up, it is unlikely to shut down before the backup process is completed. As described above, the data protection system 100 can effectively protect the data stored in the RAM disk area 57 from the hang-up of the computer 10 without frequently backing up the data to the HDD 23. As a result, the capacity of the main memory 15 can be used effectively, and a safe and high-speed virtual disk drive can be realized.

[一時的な作業領域としてのデータ保護]
図3のデータ保護システム100では、文書作成アプリケーション103がRAMディスク領域57に保存したデータは保護されるが、メイン・メモリ15の一般領域131に記憶された作業中のデータは保護されない。図7は、作業中のデータを保護するデータ保護システム300の構成を示す機能ブロック図である。データ保護システム300は、図2(C)、(E)に示すようにメイン・メモリ15の論理アドレス空間51、55に作業領域として利用する特定領域59を設ける。
Data protection as a temporary work area
In the data protection system 100 of FIG. 3, the data saved in the RAM disk area 57 by the document creation application 103 is protected, but the working data stored in the general area 131 of the main memory 15 is not protected. FIG. 7 is a functional block diagram showing a configuration of a data protection system 300 that protects data in operation. As shown in FIGS. 2C and 2E, the data protection system 300 provides a specific area 59 used as a work area in the logical address spaces 51 and 55 of the main memory 15.

メイン・メモリ15に特定領域59を設ける方法およびHDD23にバックアップ領域を設ける方法は、データ保護システム100において採用したRAMディスク領域57を設ける方法およびバックアップ領域を設ける方法に準ずる。特定領域59は、作業中にコンピュータ10がハングアップした場合に、シャットダウンする前に作業中のデータをHDD23のバックアップ領域に保存できる保護領域である。   The method of providing the specific area 59 in the main memory 15 and the method of providing the backup area in the HDD 23 are in accordance with the method of providing the RAM disk area 57 and the method of providing the backup area employed in the data protection system 100. The specific area 59 is a protection area in which data being worked can be saved in the backup area of the HDD 23 before being shut down when the computer 10 hangs up during work.

図7が図3と異なるのは、メモリ管理アプリケーション301とシステムBIOS305の機能が一部異なり、さらに、デバイス・ドライバ111とOS105との間に中間ドライバ303が挿入されている点である。また、HDD23のバックアップ領域は、バックアップされたファイルを文書作成アプリケーション103が容易に取得するためにOS105が認識できる領域が望ましい。   7 differs from FIG. 3 in that the functions of the memory management application 301 and the system BIOS 305 are partially different, and an intermediate driver 303 is inserted between the device driver 111 and the OS 105. The backup area of the HDD 23 is preferably an area that the OS 105 can recognize so that the document creation application 103 can easily acquire the backed up file.

つぎに、図8、図9を参照して保護システム300の動作を説明する。ブロック401からブロック419までは、基本的に図5のブロック201からブロック219のRAMディスク領域57を特定領域59に対応させて同じ手順で実行することができる。以下、図5、図6の手順と異なる点を中心に説明する。メモリ管理アプリケーション101は起動中に、自らの識別子をデバイス・ドライバ111に渡して、デバイス・ドライバ111がメモリ管理アプリケーション101にメッセージを送ることができるようにしておく。   Next, the operation of the protection system 300 will be described with reference to FIGS. From the block 401 to the block 419, the RAM disk area 57 of the block 201 to the block 219 in FIG. Hereinafter, the description will focus on the points different from the procedures in FIGS. During startup, the memory management application 101 passes its own identifier to the device driver 111 so that the device driver 111 can send a message to the memory management application 101.

ブロック403では、POSTコード109が特定領域59をOS105が認識できる一般領域131に形成する。そして、ブロック405でOS105は、AXレジスタにE820hを設定してINT15h命令を発行し、特定領域59の開始アドレスとサイズを認識する。その結果、OS105は、特定領域59に文書作成アプリケーション103の作業領域を割り当てることができるようになる。ブロック409では、バックアップしたデータを文書作成アプリケーション103が容易に取り出せるように、OS105がアクセスできる領域にHDD23のバックアップ領域を設けることが望ましい。   In block 403, the POST code 109 forms the specific area 59 in the general area 131 that the OS 105 can recognize. In block 405, the OS 105 sets E820h in the AX register and issues an INT15h instruction to recognize the start address and size of the specific area 59. As a result, the OS 105 can allocate the work area of the document creation application 103 to the specific area 59. In block 409, it is desirable to provide a backup area of the HDD 23 in an area accessible by the OS 105 so that the document creation application 103 can easily retrieve the backed up data.

また図9には、ブロック213に対応する手順は存在しない。特定領域59は、RAMディスク領域57のように仮想ディスク・ドライブとしてデータを永続的に保存するものではなく、永続的な保存先はHDD23である点ではメイン・メモリ15の一般領域と同等である。したがって、HDD23に格納されたファイルはバックアップではなく主たるファイルとなる。ブロック421でユーザは文書作成アプリケーション103を実行してHDD23に新規にファイルを作成するか、または、編集のためにすでにHDD23に保存しておいたファイルをメイン・メモリ15に読み出すためのAPI関数を呼び出す。   In FIG. 9, there is no procedure corresponding to block 213. The specific area 59 does not permanently store data as a virtual disk drive like the RAM disk area 57, and is equivalent to the general area of the main memory 15 in that the permanent storage destination is the HDD 23. . Therefore, the file stored in the HDD 23 is not the backup but the main file. In block 421, the user executes the document creation application 103 to create a new file in the HDD 23, or an API function for reading out a file already stored in the HDD 23 for editing to the main memory 15. call.

ブロック423で中間ドライバ303は、文書作成アプリケーション103がHDD23にファイルを作成または編集するためにアクセスするAPI関数をフックして、一時的にキューに保管し、メモリ管理アプリケーション301に通知する。メモリ管理アプリケーション301は、LCD19にポップアップ・ウインドウを表示して、ユーザから特定領域59を使用するか否かの指示を受ける。ユーザが特定領域59を使用しない指示をした場合は、ブロック425に移行して中間ドライバ111はキューに保管したAPI関数をデバイス・ドライバ111に渡す。そして、文書作成アプリケーション103は、特定領域以外の一般領域131を作業領域としてファイルの作成または編集をする。   In block 423, the intermediate driver 303 hooks an API function that the document creation application 103 accesses to create or edit a file in the HDD 23, temporarily stores it in a queue, and notifies the memory management application 301. The memory management application 301 displays a pop-up window on the LCD 19 and receives an instruction from the user as to whether or not to use the specific area 59. If the user instructs not to use the specific area 59, the process proceeds to block 425, and the intermediate driver 111 passes the API function stored in the queue to the device driver 111. Then, the document creation application 103 creates or edits a file using the general area 131 other than the specific area as a work area.

ブロック423でユーザが特定領域59を使用する指示をした場合にはブロック427に移行する。特定領域59を使用する指示を受けた場合には、メモリ管理アプリケーション301はOS105に通知する。通知を受けたOS105は、以後、メモリ管理アプリケーション301の作業領域を特定領域59に設定する。なお、ユーザはあらかじめメモリ管理アプリケーションに特定領域59の使用をするか否かの設定をしておき、ブロック423のユーザによる指示を省くことができる。ブロック427では、ユーザは特定領域59を作業領域として利用してファイルの作成または編集をする。   When the user gives an instruction to use the specific area 59 in block 423, the process proceeds to block 427. When receiving an instruction to use the specific area 59, the memory management application 301 notifies the OS 105. The OS 105 that has received the notification sets the work area of the memory management application 301 in the specific area 59 thereafter. Note that the user can set in advance whether or not to use the specific area 59 in the memory management application, and the user's instruction in block 423 can be omitted. In block 427, the user creates or edits a file using the specific area 59 as a work area.

ブロック451からブロック469までは、ブロック251からブロック269までの手順と同じである。ブロック471では、ユーザが作成または編集したファイルを保存するために文書作成アプリケーション103に対して保存操作をすると、文書作成アプリケーション103がAPI関数を呼び出す。ブロック473で中間ドライバ303は、当該API関数をデバイス・ドライバ111に渡し、ファイルはHDD23のバックアップ領域とは異なる一般の領域に保存される。   The procedure from block 451 to block 469 is the same as the procedure from block 251 to block 269. In block 471, when the user performs a save operation on the document creation application 103 to save a file created or edited by the user, the document creation application 103 calls an API function. In block 473, the intermediate driver 303 passes the API function to the device driver 111, and the file is stored in a general area different from the backup area of the HDD 23.

ユーザが保存操作をしない場合は、ブロック421に戻ってファイルの編集が継続される。作業中にハングアップしたときは、特定領域59に記憶されていたデータはブロック463でHDD23のバックアップ領域に保存される。バックアップ領域に保存されたデータは、再起動した後に文書作成アプリケーション103がHDD23にアクセスして取得することができる。   If the user does not perform a save operation, the process returns to block 421 to continue editing the file. When the user hangs up during the work, the data stored in the specific area 59 is stored in the backup area of the HDD 23 in block 463. The data saved in the backup area can be acquired by the document creation application 103 accessing the HDD 23 after restarting.

これまで本発明について図面に示した特定の実施の形態をもって説明してきたが、本発明は図面に示した実施の形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができることはいうまでもないことである。   Although the present invention has been described with the specific embodiments shown in the drawings, the present invention is not limited to the embodiments shown in the drawings, and is known so far as long as the effects of the present invention are achieved. It goes without saying that any configuration can be adopted.

10…コンピュータ
100、300…データ保護システム
10. Computer 100, 300 ... Data protection system

Claims (20)

オペレーティング・システム実行モードまたはシステム・マネジメント・モードでの動作が可能なプロセッサを搭載するコンピュータに、
メイン・メモリに保護領域を確保するステップと、
前記オペレーティング・システム実行モードにおいて監視プログラムが所定の動作をするステップと、
前記システム・マネジメント・モードに移行して前記監視プログラムが所定の動作をしているか否かを判断するステップと、
前記監視プログラムが所定の動作をしていないと判断したときに前記システム・マネジメント・モードで動作している間に前記保護領域に記憶されたデータを不揮発性の記憶装置に保存するステップと
を含む処理を実行させるコンピュータ・プログラム。
A computer with a processor capable of operating in operating system execution mode or system management mode,
Securing a protection area in the main memory; and
The monitoring program performing a predetermined operation in the operating system execution mode;
Transitioning to the system management mode and determining whether the monitoring program is performing a predetermined operation; and
Storing the data stored in the protected area in a nonvolatile storage device while operating in the system management mode when it is determined that the monitoring program is not performing a predetermined operation. A computer program that executes processing.
前記判断するステップおよび前記保存するステップをBIOSが実行する請求項1に記載のコンピュータ・プログラム。   The computer program according to claim 1, wherein the BIOS executes the determining step and the storing step. プロセッサが周期的に前記システム・マネジメント・モードと前記オペレーティング・システム実行モードの間を遷移するステップを有する請求項1または請求項2に記載のコンピュータ・プログラム。   The computer program according to claim 1 or 2, wherein a processor has a step of periodically transitioning between the system management mode and the operating system execution mode. 前記所定の動作をするステップが、前記監視プログラムが監視フラグを設定するステップを含み、
前記判断するステップが、
前記監視フラグが設定されているか否かを判断するステップと、
前記監視フラグが設定されていると判断したときに前記監視フラグを解除するステップと、
前記監視フラグを解除したあとに前記オペレーティング・システム実行モードに遷移するステップと
含む請求項1から請求項3のいずれかに記載のコンピュータ・プログラム。
The step of performing the predetermined operation includes the step of the monitoring program setting a monitoring flag,
The step of determining comprises:
Determining whether the monitoring flag is set;
Releasing the monitoring flag when it is determined that the monitoring flag is set;
The computer program according to any one of claims 1 to 3, further comprising a step of transitioning to the operating system execution mode after releasing the monitoring flag.
前記保護領域がRAMディスク領域である請求項1から請求項4のいずれかに記載のコンピュータ・プログラム。   The computer program according to claim 1, wherein the protection area is a RAM disk area. 前記コンピュータの起動時に前記不揮発性の記憶装置から前記保護領域にイメージ・ファイルをリストアするステップと、
前記コンピュータをシャットダウンする操作に応答して前記保護領域に記憶されたイメージ・ファイルを前記不揮発性の記憶装置に保存するステップと
を含む請求項5に記載のコンピュータ・プログラム。
Restoring the image file from the non-volatile storage device to the protected area upon startup of the computer;
The computer program according to claim 5, further comprising: saving an image file stored in the protected area in the nonvolatile storage device in response to an operation of shutting down the computer.
前記保護領域が前記オペレーティング・システム実行モードで動作するアプリケーション・プログラムの作業領域である請求項1から請求項6のいずれかに記載のコンピュータ・プログラム。   7. The computer program according to claim 1, wherein the protection area is a work area of an application program that operates in the operating system execution mode. 前記確保するステップが、前記保護領域をオペレーティング・システムが直接アドレス指定できる論理アドレス空間を超えている領域に確保するステップを含む請求項1から請求項7のいずれかに記載のコンピュータ・プログラム。   8. The computer program according to claim 1, wherein the step of securing includes the step of securing the protection area in an area exceeding a logical address space that can be directly addressed by an operating system. 前記監視プログラムがオペレーティング・システムのサービスを受けて動作するアプリケーション・プログラムである請求項1から請求項8のいずれかに記載のコンピュータ・プログラム。   The computer program according to any one of claims 1 to 8, wherein the monitoring program is an application program that operates in response to an operating system service. コンピュータに搭載が可能なメイン・メモリのデータ保護システムであって、
オペレーティング・システム実行モードまたはシステム・マネジメント・モードで動作することが可能なプロセッサと、
保護領域が確保されたメイン・メモリと、
不揮発性の記憶装置と、
前記オペレーティング・システム実行モードで所定の動作をする監視プログラムを前記システム・マネジメント・モードに移行して監視する監視手段と、
前記監視プログラムが所定の動作をしていないと判断したときに、前記システム・マネジメント・モードで前記保護領域に記憶されているデータを前記不揮発性の記憶装置に保存するバックアップ手段と
を有するデータ保護システム。
A main memory data protection system that can be installed in a computer.
A processor capable of operating in operating system execution mode or system management mode; and
A main memory with a protected area, and
A non-volatile storage device;
A monitoring means for monitoring a monitoring program that performs a predetermined operation in the operating system execution mode by shifting to the system management mode;
Data protection comprising backup means for saving data stored in the protection area in the system management mode to the nonvolatile storage device when it is determined that the monitoring program is not performing a predetermined operation system.
前記監視手段と前記バックアップ手段が、BIOSを実行する前記プロセッサにより構成されている請求項10に記載のデータ保護システム。   The data protection system according to claim 10, wherein the monitoring unit and the backup unit are configured by the processor that executes BIOS. 前記プロセッサを前記オペレーティング・システム実行モードと前記システム・マネジメント・モードとの間を遷移させるために前記プロセッサに対して周期的にシステム・マネジメント割り込みを実行するチップ・セットを有する請求項10または請求項11に記載のデータ保護システム。   11. A chip set that periodically executes system management interrupts to the processor to cause the processor to transition between the operating system execution mode and the system management mode. 11. The data protection system according to 11. 前記監視プログラムの所定の動作が監視フラグを設定する動作であり、前記監視手段は、前記監視プログラムが監視フラグを設定したか否かを判断し、前記監視フラグが設定さていると判断した場合に前記監視フラグを解除してから前記プロセッサを前記オペレーティング・システム実行モードに遷移させる請求項10から請求項12のいずれかに記載のデータ保護システム。   The predetermined operation of the monitoring program is an operation of setting a monitoring flag, and the monitoring unit determines whether or not the monitoring program sets a monitoring flag, and determines that the monitoring flag is set 13. The data protection system according to claim 10, wherein the processor is shifted to the operating system execution mode after releasing the monitoring flag. 前記プロセッサがハングアップしたときに外部からの信号を受け取って前記プロセッサを前記システム・マネジメント・モードに遷移させるコントローラを有する請求項10から請求項13のいずれかに記載のデータ保護システム。   The data protection system according to any one of claims 10 to 13, further comprising a controller that receives a signal from the outside when the processor hangs up and causes the processor to transition to the system management mode. 前記保護領域が前記コンピュータの起動時に前記不揮発性の記憶装置からイメージ・ファイルがリストアされるRAMディスク領域である請求項11から請求項14のいずれかに記載のデータ保護システム。   The data protection system according to any one of claims 11 to 14, wherein the protection area is a RAM disk area in which an image file is restored from the nonvolatile storage device when the computer is started. 前記バックアップ手段は、オペレーティング・システムが認識できない前記不揮発性の記憶装置の記憶領域に前記データを保存する請求項11から請求項15のいずれかに記載のデータ保護システム。   The data protection system according to claim 11, wherein the backup unit stores the data in a storage area of the nonvolatile storage device that cannot be recognized by an operating system. 請求項11から請求項16のいずれかに記載されたデータ保護システムを有するコンピュータ。   A computer comprising the data protection system according to any one of claims 11 to 16. オペレーティング・システム実行モードまたはシステム・マネジメント・モードでの動作が可能なプロセッサを搭載するコンピュータが、メイン・メモリに記憶されたデータを不揮発性の記憶装置にバックアップする方法であって、
前記オペレーティング・システム実行モードで監視プログラムが所定の動作をするステップと、
前記システム・マネジメント・モードに移行して前記監視プログラムが所定の動作をしているか否かを判断するステップと、
前記監視プログラムが所定の動作をしていないと判断したときに前記システム・マネジメント・モードで動作している間に前記メイン・メモリに記憶されたデータを前記不揮発性の記憶装置に保存するステップと
を有する方法。
A method in which a computer equipped with a processor capable of operating in an operating system execution mode or a system management mode backs up data stored in a main memory to a nonvolatile storage device,
A monitoring program performing a predetermined operation in the operating system execution mode;
Transitioning to the system management mode and determining whether the monitoring program is performing a predetermined operation; and
Storing data stored in the main memory in the nonvolatile storage device while operating in the system management mode when it is determined that the monitoring program is not performing a predetermined operation; Having a method.
前記所定の動作をするステップが監視フラグを設定するステップを含み、
前記システム・マネジメント・モードにおいて前記監視フラグが設定されていると判断した場合に前記監視フラグを解除して前記オペレーティング・システム実行モードに遷移するステップを有する請求項18に記載の方法。
The step of performing the predetermined operation includes the step of setting a monitoring flag;
19. The method according to claim 18, further comprising the step of releasing the monitoring flag and transitioning to the operating system execution mode when it is determined that the monitoring flag is set in the system management mode.
前記オペレーティング・システム実行モードに遷移したことに応答して前記監視フラグを設定するステップを有する請求項19に記載の方法。

20. The method of claim 19, comprising setting the monitoring flag in response to transitioning to the operating system execution mode.

JP2010142183A 2010-06-23 2010-06-23 Main memory backup method and data protection system Active JP5378308B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010142183A JP5378308B2 (en) 2010-06-23 2010-06-23 Main memory backup method and data protection system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010142183A JP5378308B2 (en) 2010-06-23 2010-06-23 Main memory backup method and data protection system

Publications (2)

Publication Number Publication Date
JP2012008672A true JP2012008672A (en) 2012-01-12
JP5378308B2 JP5378308B2 (en) 2013-12-25

Family

ID=45539169

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010142183A Active JP5378308B2 (en) 2010-06-23 2010-06-23 Main memory backup method and data protection system

Country Status (1)

Country Link
JP (1) JP5378308B2 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015130023A (en) * 2014-01-07 2015-07-16 Necプラットフォームズ株式会社 Information recording device, information processor, information recording method and information recording program
JP2017122997A (en) * 2016-01-06 2017-07-13 富士通株式会社 Information processing unit, control method for arithmetic processing unit, and control program for arithmetic processing unit
JP2018055727A (en) * 2013-04-29 2018-04-05 アマゾン・テクノロジーズ・インコーポレーテッド Selectively persisting application program data transferred from system memory to non-volatile data storage
WO2019003336A1 (en) * 2017-06-28 2019-01-03 株式会社Fuji Component mounting machine head
JP2021135641A (en) * 2020-02-26 2021-09-13 三菱重工機械システム株式会社 Fare machine and control method

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6371721A (en) * 1986-09-13 1988-04-01 Fujitsu Ltd Ram disk operating system
JPH09101910A (en) * 1995-10-04 1997-04-15 Hitachi Ltd Information processing system
JP2003122647A (en) * 2001-10-11 2003-04-25 Mitsubishi Electric Corp Information processor
US20040003313A1 (en) * 2002-06-27 2004-01-01 Intel Corporation Black box recorder using machine check architecture in system management mode
US20040078681A1 (en) * 2002-01-24 2004-04-22 Nick Ramirez Architecture for high availability using system management mode driven monitoring and communications
US20040158698A1 (en) * 2003-02-12 2004-08-12 Rothman Michael A. Using protected/hidden region of a magnetic media under firmware control
JP2008003770A (en) * 2006-06-21 2008-01-10 Denso Wave Inc Mobile terminal
JP2010044503A (en) * 2008-08-11 2010-02-25 Buffalo Inc Computer program, and recording medium

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6371721A (en) * 1986-09-13 1988-04-01 Fujitsu Ltd Ram disk operating system
JPH09101910A (en) * 1995-10-04 1997-04-15 Hitachi Ltd Information processing system
JP2003122647A (en) * 2001-10-11 2003-04-25 Mitsubishi Electric Corp Information processor
US20040078681A1 (en) * 2002-01-24 2004-04-22 Nick Ramirez Architecture for high availability using system management mode driven monitoring and communications
US20040003313A1 (en) * 2002-06-27 2004-01-01 Intel Corporation Black box recorder using machine check architecture in system management mode
US20040158698A1 (en) * 2003-02-12 2004-08-12 Rothman Michael A. Using protected/hidden region of a magnetic media under firmware control
JP2008003770A (en) * 2006-06-21 2008-01-10 Denso Wave Inc Mobile terminal
JP2010044503A (en) * 2008-08-11 2010-02-25 Buffalo Inc Computer program, and recording medium

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018055727A (en) * 2013-04-29 2018-04-05 アマゾン・テクノロジーズ・インコーポレーテッド Selectively persisting application program data transferred from system memory to non-volatile data storage
JP2015130023A (en) * 2014-01-07 2015-07-16 Necプラットフォームズ株式会社 Information recording device, information processor, information recording method and information recording program
JP2017122997A (en) * 2016-01-06 2017-07-13 富士通株式会社 Information processing unit, control method for arithmetic processing unit, and control program for arithmetic processing unit
WO2019003336A1 (en) * 2017-06-28 2019-01-03 株式会社Fuji Component mounting machine head
JPWO2019003336A1 (en) * 2017-06-28 2020-02-27 株式会社Fuji Head for component mounting machine
JP2021135641A (en) * 2020-02-26 2021-09-13 三菱重工機械システム株式会社 Fare machine and control method

Also Published As

Publication number Publication date
JP5378308B2 (en) 2013-12-25

Similar Documents

Publication Publication Date Title
US9372754B2 (en) Restoring from a legacy OS environment to a UEFI pre-boot environment
EP2380081B1 (en) Method and system for hibernation or suspend using a non-volatile-memory device
US20150149815A1 (en) Bios failover update with service processor having direct serial peripheral interface (spi) access
US20220100530A1 (en) Technologies for operating system transitions in multiple-operating-system environments
JP3777136B2 (en) Computer device, data dead copy method, program, and computer device operating method
JP4783392B2 (en) Information processing apparatus and failure recovery method
JP2008287505A (en) Information processor and legacy emulation processing stop control method
EP1137987A2 (en) Initializing and restarting operating systems
JP5378308B2 (en) Main memory backup method and data protection system
US6681336B1 (en) System and method for implementing a user specified processing speed in a computer system and for overriding the user specified processing speed during a startup and shutdown process
KR20200002603A (en) Power button override for persistent memory enabled platforms
US20190004818A1 (en) Method of UEFI Shell for Supporting Power Saving Mode and Computer System thereof
US7308547B2 (en) Apparatus and method for control of write filter
US7107398B2 (en) Changing a mode of a storage subsystem in a system
US8069309B1 (en) Servicing memory in response to system failure
US20170262341A1 (en) Flash memory-hosted local and remote out-of-service platform manageability
JP3943764B2 (en) Computer system and CPU performance control method thereof
US9910677B2 (en) Operating environment switching between a primary and a secondary operating system
CN115576734B (en) Multi-core heterogeneous log storage method and system
WO2013136457A1 (en) Virtual computer system, information storage processing program and information storage processing method
CN110457899B (en) Operating system protection system and method
US10776214B1 (en) System protecting data stored on NVDIMM devices after BIOS update
JP3961669B2 (en) Computer system and data transfer control method
JP6967639B1 (en) Information processing device and control method
JP2001117663A (en) Computer system and method for controlling processing speed of the same

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111212

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130724

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130730

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130828

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

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130919

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130925

R150 Certificate of patent or registration of utility model

Ref document number: 5378308

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250