WO2012004854A1 - プロセッサ装置及びプログラム - Google Patents

プロセッサ装置及びプログラム Download PDF

Info

Publication number
WO2012004854A1
WO2012004854A1 PCT/JP2010/061436 JP2010061436W WO2012004854A1 WO 2012004854 A1 WO2012004854 A1 WO 2012004854A1 JP 2010061436 W JP2010061436 W JP 2010061436W WO 2012004854 A1 WO2012004854 A1 WO 2012004854A1
Authority
WO
WIPO (PCT)
Prior art keywords
memory
memory dump
dump
processor device
unit
Prior art date
Application number
PCT/JP2010/061436
Other languages
English (en)
French (fr)
Inventor
敦 攝津
Original Assignee
三菱電機株式会社
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 三菱電機株式会社 filed Critical 三菱電機株式会社
Priority to PCT/JP2010/061436 priority Critical patent/WO2012004854A1/ja
Priority to EP10854409.9A priority patent/EP2592557A4/en
Priority to JP2012523458A priority patent/JP5225515B2/ja
Priority to US13/808,754 priority patent/US8583960B2/en
Priority to CN201080067910.1A priority patent/CN102971715B/zh
Publication of WO2012004854A1 publication Critical patent/WO2012004854A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/165Error detection by comparing the output of redundant processing systems with continued operation after detection of the error
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0778Dumping, i.e. gathering error/state information after a fault for later diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0721Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU]
    • G06F11/0724Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU] in a multiprocessor or a multi-core unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0787Storage of error reports, e.g. persistent data storage, storage using memory protection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant

Definitions

  • the present invention relates to a memory dump technique in which a processor device stores data in a memory device in a secondary storage device.
  • a memory dump a secondary storage device
  • the processor device in which a failure has occurred (hereinafter also simply referred to as a processor) is generally stored in a secondary storage device. If it was not possible to save to the next storage device, a memory dump could not be performed.
  • Patent Document 1 As a method for solving this, for example, there is a method described in Patent Document 1.
  • the faulty processor when the faulty processor can access the secondary storage device, the faulty processor loads the fault processing program into the shared memory and uses the fault processing program loaded into the shared memory. Save the contents to the secondary storage.
  • a specific processor is selected as a support processor from healthy processors. Then, the support processor loads the failure processing program into the shared memory, and the failure processor copies the contents of the specific memory to the shared memory using the failure processing program loaded into the shared memory. Next, the support processor stores the data of the specific memory of the failed processor copied to the shared memory in the secondary storage device.
  • whether or not the faulty processor can save the contents of the private memory in the secondary storage device is determined based on the configuration information set in advance in the processor device information.
  • the faulty processor stores the contents of the private memory in the secondary storage device using the fault processing program.
  • the failure processing program becomes abnormal, it cannot be stored in the secondary storage device.
  • the failure processing program becomes abnormal, when the failure processing program is held in the shared memory, the program code is written from another code and the code becomes invalid (due to a bug in the program) There is a case.
  • the processor has an MMU (Memory Management Unit) that converts a logical address space into a physical address space, and the failure processing program code operates using the logical address space.
  • MMU Memory Management Unit
  • a case in which writing from a different code occurs in the conversion table for accessing the logical address space of the area where the fault information (the memory of the faulty processor's own memory) is stored, and the logical address space setting becomes invalid Can be considered.
  • the faulty processor is set so that the contents of the private memory can be saved in the secondary storage device, an error occurs while the contents of the private memory are being saved in the secondary storage device. Therefore, it cannot be saved.
  • the support processor stores the contents of the private memory of the failed processor in the secondary storage device, if the failure processor becomes abnormal while saving the contents of the private memory in the shared memory, the saving is not performed. Can not. Furthermore, even when the support processor saves the contents of the specific memory of the failed processor from the shared memory to the secondary storage device, the above-mentioned phenomenon occurs for the program to be saved and the logical address space of the shared memory. In such a case, the data cannot be stored in the secondary storage device.
  • the main object of the present invention is to solve the above-described problems.
  • the processor device that attempts a memory dump cannot normally perform a memory dump. Even in such a case, the main object is to obtain a mechanism capable of reliably performing a memory dump by another processor device.
  • a processor device includes: A processor device connected to another processor device for performing a memory dump of the memory device and sharing the memory device with the other processor device; A failure detection unit for detecting that the memory dump is not normally performed in the other processor device; A memory dump execution unit for performing a memory dump of the memory device on behalf of the other processor device when the failure detection unit detects that the memory dump is not normally performed in the other processor device; It is characterized by having.
  • the memory dump execution unit when the failure detection unit detects that the memory dump is not normally performed in the other processor device, the memory dump execution unit performs the memory dump of the memory device on behalf of the other processor device. Therefore, even if the processor device that attempts the memory dump cannot perform the memory dump normally, the memory dump can be reliably performed.
  • FIG. 3 is a diagram illustrating a hardware configuration example according to the first embodiment.
  • FIG. 3 is a diagram showing a software configuration example according to the first embodiment.
  • FIG. 6 shows an operation example when a failure occurs according to the first embodiment.
  • FIG. 6 shows an operation example when a failure occurs according to the first embodiment.
  • FIG. 3 is a flowchart showing an operation example when a failure occurs according to the first embodiment.
  • FIG. 3 is a flowchart showing an operation example when a failure occurs according to the first embodiment.
  • FIG. 4 is a diagram illustrating a hardware configuration example according to the second embodiment.
  • FIG. 10 is a diagram illustrating a software configuration example according to the second embodiment.
  • FIG. 10 is a diagram illustrating an operation example when a failure occurs according to the second embodiment.
  • FIG. 10 is a diagram illustrating an operation example when a failure occurs according to the second embodiment.
  • FIG. 10 is a diagram illustrating an operation example when a failure occurs according to the second embodiment.
  • FIG. 9 is a flowchart showing an operation example when a failure occurs according to the second embodiment.
  • FIG. 9 is a flowchart showing an operation example when a failure occurs according to the second embodiment.
  • FIG. 10 is a diagram illustrating a software configuration example according to the third embodiment.
  • FIG. 10 is a diagram illustrating an operation example when a failure occurs according to the third embodiment.
  • FIG. 10 is a diagram illustrating an operation example when a failure occurs according to the third embodiment.
  • FIG. 10 is a flowchart showing an operation example when a failure occurs according to the third embodiment.
  • FIG. 10 is a flowchart showing an operation example when a failure occurs according to the third embodiment.
  • FIG. 10 is a flowchart showing an operation example when a failure occurs according to the third embodiment.
  • FIG. 10 is a flowchart showing an operation example when a failure occurs according to the third embodiment.
  • FIG. 10 is a diagram illustrating a software configuration example according to the fourth embodiment.
  • FIG. 10 is a diagram illustrating an operation example when a failure occurs according to the fourth embodiment.
  • FIG. 10 is a diagram illustrating an operation example when a failure occurs according to the fourth embodiment.
  • FIG. 9 is a flowchart showing an operation example when a failure occurs according to the fourth embodiment.
  • FIG. 9 is a flowchart showing an operation example when a failure occurs according to the fourth embodiment.
  • FIG. 10 is a diagram illustrating a software configuration example according to the fifth embodiment.
  • FIG. 10 is a diagram illustrating an operation example when a failure occurs according to the fifth embodiment.
  • FIG. 10 is a diagram illustrating an operation example when a failure occurs according to the fifth embodiment.
  • FIG. 10 is a diagram illustrating an operation example when a failure occurs according to the fifth embodiment.
  • FIG. 10 is a diagram illustrating an operation example when a failure occurs according to the fifth embodiment.
  • FIG. 10 is a flowchart showing an operation example when a failure occurs according to the fifth embodiment.
  • FIG. 10 is a flowchart showing an operation example when a failure occurs according to the fifth embodiment.
  • FIG. 10 is a flowchart showing an operation example when a failure occurs according to the fifth embodiment.
  • Embodiment 1 a memory dump method in a hardware configuration in which a plurality of processor cores share a memory will be described. More specifically, in the present embodiment, in a configuration in which a plurality of operating systems and applications are operating on each processor core, a failure occurs in one processor core and the processor core operates on that processor core.
  • the present invention relates to a memory dump method in the case where an abnormality occurs in the processor core while the memory contents are being stored in the secondary storage device by the OS being installed.
  • the processor core that is executing the memory dump detects an abnormality
  • the processor core that detected the abnormality instructs the other processor core to perform the memory dump
  • the other processor core performs secondary storage.
  • a memory dump method will be described in which a memory dump can be performed reliably even if a failure occurs during the memory dump process by storing the memory contents in the apparatus.
  • the memory dump method according to the first embodiment will be described with reference to the drawings.
  • FIG. 1 shows a hardware (H / W) configuration example in the memory dump method according to the present embodiment.
  • reference numerals 1, 2, and 3 denote processor cores that perform arithmetic processing.
  • Each processor core is an example of a processor device.
  • the processor core 1, the processor core 2, and the processor core 3 are coupled to the memory device 5, the console device 6, the hard disk device (hereinafter also referred to as HDD device) 7, and the backup memory device 8 through the bus 4.
  • the memory device 5 the console device 6, the hard disk device (hereinafter also referred to as HDD device) 7, and the backup memory device 8 through the bus 4.
  • the memory device 5 holds code and data of an operating system (hereinafter also referred to as OS), code and data of an application (hereinafter also referred to as AP), and a heap / stack. As described above, the processor core 1, the processor core 2, and the processor core 3 share the memory device 5.
  • the console device 6 outputs a message from the OS or AP.
  • the hard disk device 7 stores the contents of the memory device 5 at the time of memory dump.
  • the backup memory device 8 holds file information on the HDD device 7 for storing the contents of the memory device 5.
  • the processor core 1, the processor core 2, and the processor core 3 have arithmetic processing units 9 (processor core 1), 10 (processor core 2), and 11 (processor core 3) that perform arithmetic processing, and the contents of the memory device 5 and A cache 12 (processor core 1), 13 (processor core 2), 14 (processor core 3) that temporarily holds the processing result of the arithmetic processing unit, and a processor core for performing communication between the processor cores Intercommunication functions 15 (processor core 1), 16 (processor core 2), and 17 (processor core 3) exist.
  • a method of notifying the processor core of an interrupt, or the processor core to be communicated through the memory device 5 marks the memory area referred to by the communication destination processor core, and the communication destination processor core By referring to, a method for grasping the notification is used.
  • three processor cores are illustrated in the present embodiment, there is no need for three, and there is no change in the operation itself in two processor cores or four or more processor cores.
  • FIG. 2 is a diagram showing a configuration example of software (S / W) with respect to the H / W configuration shown in FIG.
  • an operating system (OS) 21 operates in the processor core 1.
  • the OS 22 operates in the processor core 2 and the OS 23 operates in the processor core 3.
  • the HDD device 7 has a dump file 24 that is a storage area for storing the contents of the memory device 5, and the backup memory device 8 has location information of the dump file 24 in the HDD device 7.
  • a stored file information storage area 25 exists.
  • the OS 21 of the processor core 1 operates when the processor core 1 is reset, and an OS initialization unit 26 that initializes the OS 21 itself, and a memory dump setting unit 27 that sets information of the dump file 24 in the file information storage area 25 ( (Also referred to as a dump setting unit 27), an abnormality detection unit 28 that detects an abnormality when the OS 21 cannot operate any more due to execution of an illegal instruction during the operation of the OS 21 or access to an illegal address.
  • an abnormality detection unit 28 that detects an abnormality when the OS 21 cannot operate any more due to execution of an illegal instruction during the operation of the OS 21 or access to an illegal address.
  • the OS 21 stores a memory dump execution unit 29 (dump execution unit 29) that writes the contents of the memory device 5 in the dump file 24 based on the dump file information in the file information storage area 25. Also indicated).
  • the memory dump execution unit 29 replaces the other processor core with a memory. A memory dump of the device 5 is performed.
  • the OS 21 includes a core cooperation unit 30 for performing communication between the processor cores and a memory dump abnormality detection unit 31 (dump unit) that detects an abnormality when an abnormality occurs during the processing of the memory dump execution unit 29.
  • An anomaly detector 31 may be used to detect an abnormality when an abnormality occurs during the processing of the memory dump execution unit 29.
  • an OS initialization unit 32 For the OS 22 of the processor core 2, as the same means, an OS initialization unit 32, a memory dump setting unit 33 (also referred to as a dump setting unit 33), an abnormality detection unit 34, a memory dump execution unit 35 (hereinafter referred to as a dump execution unit). 35), a core cooperation unit 36, and a memory dump abnormality detection unit 37 (also referred to as a dump abnormality detection unit 37).
  • the OS 23 of the processor core 3 has the same means as the OS initialization unit, memory dump setting unit, abnormality detection unit, memory dump execution unit, core cooperation unit, There is a memory dump error detector. When referring to each element in the OS 23, they are represented as an OS initialization unit 38, a memory dump setting unit 39, an abnormality detection unit 40, a memory dump execution unit 41, a core cooperation unit 42, and a memory dump abnormality detection unit 43.
  • the core cooperation unit 30, the core cooperation unit 36, and the core cooperation unit 42 correspond to examples of a failure detection unit, a memory dump completion notification unit, and a memory dump request unit, respectively.
  • the memory dump abnormality detection unit 31, the memory dump abnormality detection unit 37, and the memory dump abnormality detection unit 43 correspond to an example of a memory dump request unit.
  • the memory dump abnormality detection unit 37 monitors the execution state of the memory dump by the memory dump execution unit 35.
  • the core cooperation unit 36 sends the memory dump to the core cooperation unit 30 of the processor core 1, for example.
  • a request is made to execute a memory dump of the memory device 5 instead of the execution unit 35.
  • the core cooperation unit 30 receives a memory dump request from the core cooperation unit 36, that is, a notification that the memory dump is not normally performed in the processor core 2, and the memory dump is normally performed in the processor core 2. Detect not. Further, when the memory dump is normally completed in the memory dump execution unit 29 of the processor core 1, the core cooperation unit 30 notifies the core cooperation unit 36 that the memory dump is normally completed.
  • the memory device 5 includes an OS 21 area 44 used by the OS 21, an OS 22 area used by the OS 22, and an OS 23 area used by the OS 23.
  • Each OS area is arranged in the memory device 5 independently of each other (at different physical addresses) because the OS cannot operate when code and data overlap.
  • the elements in each OS also exist in each OS area, and the codes and data of the OS 21 memory dump execution unit 29 and the core cooperation unit 30 are stored in the memory dump execution unit 290 (dump execution unit) in the OS 21 area 44. 290), the core cooperation unit 300 and the like.
  • each element of the OS 22 and each element of the OS 23 exist in the OS 22 area 45 and the OS 23 area 46, respectively.
  • codes and data such as the memory dump execution unit 35 and the core cooperation unit 36 exist as a memory dump execution unit 350 (also referred to as a dump execution unit 350), a core cooperation unit 360, and the like.
  • codes and data such as the memory dump execution unit 41 and the core cooperation unit 42 exist as the memory dump execution unit 410 (also referred to as the dump execution unit 410), the core cooperation unit 420, and the like.
  • a failure occurs in the OS 22 operating on the processor core 2, and a memory dump is executed in the OS 22 area 45 that is code data on the memory device 5 of the memory dump execution unit 35 of the OS 22.
  • An example in which the data in the part 350 has been destroyed will be described.
  • the abnormality detection unit 34 of the OS 22 detects the abnormality (S101 in FIG. 5).
  • This abnormality detection includes an OS 22 that can detect an abnormality alone due to resource shortage, and an abnormality that is detected when an exception occurs on the processor core 2 due to illegal address access or illegal instruction implementation.
  • the abnormality detection unit 34 performs processing such as specifying the cause of the abnormality, and then issues a memory dump instruction to the memory dump execution unit 35 (S102 in FIGS. 3 and 5). ).
  • the memory dump execution unit 35 Upon receiving the memory dump instruction, the memory dump execution unit 35 does not detect the exception of the processor core 2 that occurs during the execution of the memory dump again by the abnormality detection unit 34 (because the memory dump instruction is generated again when detected).
  • the location of the dump file 24 in the HDD device 7 from the file information storage area 25 in the backup memory device 8 is set after the processor core 2 is set so that the memory dump abnormality detection unit 37 detects when an exception occurs. Information is acquired (S103 in FIGS. 3 and 5).
  • the memory dump execution unit 35 writes the contents of the memory device 5 to the dump file 24 in the HDD device 7 based on the acquired position information (S104 in FIGS. 3 and 5).
  • the data of the memory dump execution unit 350 in the OS 22 area 45 of the memory device 5 is not destroyed, the operation of the memory dump execution unit 35 is not hindered. Finish normally.
  • the memory dump abnormality detection unit 37 instructs the core cooperation unit 36 to notify another processor core (a notification including a memory dump execution request) (S106 in FIGS. 3 and 5).
  • the core cooperation unit 36 that has received an instruction from the memory dump abnormality detection unit 37 selects a processor core to which a notification is to be transmitted.
  • the core cooperation unit 36 notifies the processor core 1 (S107 in FIGS. 3 and 5).
  • the selection of the processor core a method of determining a specific processor core in advance, a method of recording the load status of each processor core in the memory device 5, and selecting the processor core having the lowest load, etc. There is.
  • the core cooperation unit 36 of the processor core 2 selects the processor core 1 and notifies the processor core 1 by such a method.
  • This notification is received by the core cooperation unit 30 of the processor core 1 (S108 in FIG. 6).
  • the core cooperation unit 30 of the processor core 1 instructs the memory dump execution unit 29 to perform a memory dump (S109 in FIGS. 4 and 6).
  • the memory dump execution unit 29 acquires the position information of the dump file 24 in the HDD device 7 from the file information storage area 25 in the backup memory device 8 (S110 in FIGS. 4 and 6), and the acquired position information is Originally, the contents of the memory device 5 are written into the dump file 24 in the HDD device 7 (S111 in FIGS. 4 and 6). Although the data of the memory dump execution unit 350 in the OS 22 area 45 in the memory device 5 is destroyed, there is no problem in the operation of the memory dump execution unit 290 in the OS 21 area 44 in the memory device 5.
  • the memory dump of the dump execution unit 29 ends normally.
  • the memory dump execution unit 29 notifies the core cooperation unit 30 of the completion of the memory dump (S112 in FIGS. 4 and 6).
  • the core cooperation unit 30 notifies the processing completion to the processor core 2 that is the notification source (S113 in FIGS. 4 and 6). This notification is received by the core cooperation unit 36 of the processor core 2 (S114 in FIG. 5).
  • the core cooperation unit 36 of the processor core 2 When receiving the notification from the core cooperation unit 30 of the processor core 1, the core cooperation unit 36 of the processor core 2 notifies the memory dump abnormality detection unit 37 of the completion of processing (S115 in FIGS. 4 and 5). Upon receiving this notification, the memory dump abnormality detection unit 37 notifies the abnormality detection unit 34 of the completion of processing (S116 in FIGS. 4 and 6). Upon receiving the notification, the abnormality detection unit 34 stops or restarts the apparatus when the memory contents are saved (S117 in FIGS. 4 and 6). The above is the operation when a failure occurs in the memory dump system in this embodiment.
  • a failure occurs in one processor core, and the memory contents are stored in the secondary storage device by the OS operating on the processor core.
  • the memory dump execution unit When an abnormality occurs in the memory dump execution unit, the memory dump is instructed to another processor core and the memory dump is executed on the other processor core. For this reason, even if a failure occurs during the memory dump process, the memory dump can be reliably performed.
  • the memory dump abnormality detection unit 31 detects an exception of the processor core 1 in the same manner as the memory dump execution unit 35 of the processor core 2 performs.
  • another processor core for example, the processor core 3
  • the memory dump execution unit 29 of the processor core 1 after the memory dump process by the memory dump execution unit 29 of the processor core 1 is completed, the completion of the process is notified to the abnormality detection unit 34 of the processor core 2 via the core cooperation unit 30, and the processor The abnormality detection unit 34 of the core 2 stops or restarts the apparatus.
  • the memory dump execution unit 29 notifies the abnormality detection unit 28 of the processor core 1 of the completion of processing, and the abnormality detection unit 28 stops or restarts the apparatus to obtain a similar memory dump method. Can do.
  • an abnormality in the processing of the memory dump execution unit 35 is detected by the memory dump abnormality detection unit 37 detecting the occurrence of an exception in the processor core 2.
  • a similar memory dump method can be obtained by notifying the memory dump abnormality detecting unit 37 of an abnormality when the memory dump executing unit 35 detects that the used data is invalid, not an exception occurrence. it can.
  • an abnormality in the processing of the memory dump execution unit 35 is detected by the memory dump abnormality detection unit 37 in the OS 22 detecting the occurrence of an exception in the processor core 2.
  • a function (virtualization support code) different from the OS 22 is operated in the virtualization support function.
  • a similar memory dump method can be obtained by issuing a memory dump instruction to the processor core 1.
  • the exception occurrence of the processor core is changed to the system management mode (System Management Mode: SMM) that is conventionally provided in the processor core, and in the code that operates in the SMM mode.
  • SMM System Management Mode
  • a similar memory dump method can also be obtained by issuing a memory dump instruction to the processor core 1.
  • the abnormality in the processing of the memory dump execution unit 35 is not limited to the OS 22 (processor core 2), but other mechanisms including the OS 21 (processor core 1) and the OS 23 (processor core 3). May be.
  • the memory dump abnormality detection unit 37 detects an abnormality in the processing of the memory dump execution unit 35.
  • the abnormality detection unit 34 determines whether or not a memory dump is being performed when an abnormality is detected. If the memory dump is not being performed, the memory dump is instructed to the memory dump execution unit 35 and if the memory dump is being performed, By instructing the core cooperation unit 36 to notify another processor core, a similar memory dump method can be obtained without requiring the memory dump abnormality detection unit 37.
  • the abnormality detection unit 34 As a method for determining whether or not the abnormality detection unit 34 is executing a memory dump, it is possible to determine whether or not the code position being executed at the time of detecting the abnormality is within the code of the memory dump execution unit 35, This can be determined by marking a specific area in the memory device 5 when the dump execution unit 35 starts the memory dump, and reading the abnormality detection unit 34.
  • the OS on the processor cores 1, 2, and 3 has the same function.
  • one processor core includes only the core linkage unit and the memory dump execution unit, and is dedicated to the memory dump. If an abnormality occurs during a memory dump of another OS, a similar memory dump method can be obtained by notifying the processor core dedicated to the memory dump.
  • the memory dump execution unit 350 is damaged while the memory dump execution unit 35 of the processor core 2 is executing the memory dump, a part of the data in the memory device 5 is already stored in the HDD device 7 at the time of the damage. Saved. However, since the memory dump execution unit 29 of the processor core 1 cannot confirm which data is stored in the HDD device 7 by the memory dump execution unit 35, regardless of the progress status of the memory dump in the memory dump execution unit 35, Redo the memory dump from the beginning.
  • OS operating systems
  • the OS on each processor core has the following components.
  • Means for detecting abnormality occurring during storage in secondary storage device (c) Called from means of (b) above, etc.
  • Means for notifying the processor core (d) Means for receiving the notification from another processor core and calling the means (a)
  • Embodiment 2 a hardware configuration having a plurality of processor cores and an MMU that converts a logical address space into a physical address space is provided, and a plurality of operating systems (OS) and applications (AP) operate on the hardware configuration.
  • OS operating systems
  • AP applications
  • a memory dump method in the configuration will be described. More specifically, in the memory dump method according to the present embodiment, a processor core dedicated to memory dump processing is provided so that only the memory area used by each other can be referred to as a logical address space except for the processor core dedicated to memory dump processing.
  • the processor core dedicated to memory dump processing makes it possible to refer to the entire memory as a logical address space.
  • a failure occurs in one processor core, and the memory contents are stored in the secondary storage device in the OS operating on the processor core.
  • the processor core that detected the abnormality instructs the memory dump dedicated processor core to perform the memory dump.
  • a processor core dedicated to dump processing stores the memory contents in the secondary storage device.
  • FIG. 7 shows a hardware (H / W) configuration example in the memory dump method according to the present embodiment.
  • MMU Memory Management Unit
  • the MMUs 18, 19 and 20 have a function of converting a logical address into a physical address of the memory device 5, and are used by the processor cores 1, 2, and 3 to logically divide the memory device 5 into an address space.
  • the OS on each processor core can use a part of the memory device 5 as a memory dedicated to the OS so that the OS of another processor core cannot be referred to.
  • three processor cores are illustrated in the present embodiment, there is no need for three, and there is no change in the operation itself in two processor cores or four or more processor cores.
  • FIG. 8 is a diagram illustrating a configuration example of software (S / W) with respect to the H / W configuration illustrated in FIG. 1.
  • the console device 6 is not shown for reasons of drawing, and the internal configuration of the OS 23 of the processor core 3 is not shown.
  • the OS 23 of the processor core 3 has the same internal configuration as the OS 22 of the processor core 2. That is, as described with reference to FIG. 2, the OS 23 includes an OS initialization unit 38, a memory dump setting unit 39, an abnormality detection unit 40, a memory dump execution unit 41, a core cooperation unit 42, a memory dump abnormality detection unit 43, and The map unit 52 is provided.
  • FIG. 8 is a diagram illustrating a configuration example of software (S / W) with respect to the H / W configuration illustrated in FIG. 1.
  • the console device 6 is not shown for reasons of drawing, and the internal configuration of the OS 23 of the processor core 3 is not shown.
  • the OS 23 of the processor core 3 has the same internal configuration as the OS 22 of the processor core 2. That is
  • the core cooperation unit 30, the core cooperation unit 36, and the core cooperation unit 42 are respectively a failure detection unit, a memory dump completion notification unit, and a memory dump.
  • the memory dump abnormality detection unit 37 and the memory dump abnormality detection unit 43 correspond to an example of a memory dump request unit.
  • the OS 21 of the processor core 1 has a function of processing a memory dump exclusively, and includes a memory dump setting unit, an abnormality detection unit, and a memory dump abnormality detection unit. It does not have a configuration.
  • Each OS uses a processor core MMU (MMU 18 (processor core 1), MMU 19 (processor core 2), and MMU 20 (processor core 3) in FIG. 7) to store the memory device 5 in the logical address space.
  • MMU processor core 1
  • MMU 19 processor core 2
  • MMU 20 processor core 3
  • a map unit for enabling reference is provided (the OS 21 includes a map unit 50, the OS 22 includes a map unit 51, and the OS 23 includes a map unit 52 (not shown)).
  • the map units 50, 51, and 52 designate the physical address space of the memory device 5 that can be accessed by each OS. As will be described later, the OS 22 and the OS 23 are set with a logical address space corresponding to a part of the physical address space of the memory device 5 except during a memory dump, and can access only a part of the physical address space. On the other hand, at the time of memory dump, the map units 51 and 52 set the logical addresses for all physical addresses in the memory device 5 to the respective OSs, and the memory dump execution units 35 and 41 in the memory device 5 Make all physical addresses accessible.
  • the map units 51 and 52 are examples of access control units.
  • the memory device 5 also includes a page table, which is a table for the MMU of each processor core to convert the logical address space and the physical address space.
  • the MMU 18 of the processor core 1 is set in the map unit 50 so as to refer to the page table 54 in the OS 21 area 44.
  • the conversion information between the logical address space and the physical address space set in the page table 54 includes the code of each element of the OS 21 (such as the memory dump execution unit 290 and the core cooperation unit 300) and the OS 21 in which the page table 54 is stored.
  • the storage area 44 that is, the entire memory device 5 is set to be referable. As a result, the processor core 1 can refer to the entire memory device 5.
  • the MMU 19 of the processor core 2 is set by the map unit 51 so as to refer to the page table 55 in the OS 22 area 45.
  • the conversion information between the logical address space and the physical address space set in the page table 55 includes the codes of each element of the OS 22 (such as the memory dump execution unit 350 and the core cooperation unit 360) and the OS 22 in which the page table 55 is stored. Only the use area 45 is set to be referable. Thus, the processor core 2 can refer only to the OS 22 area 45, and cannot refer to the memory dump execution unit 290 in the OS 21 area 44 or the OS 23 area 46. By doing so, it is possible to prevent the area for the OS 21 and the area for the OS 23 from being destroyed in the processing in the processor core 2.
  • the MMU 20 of the processor core 3 is set in the map unit 52 so as to refer to the page table 56 in the OS 23 area 46.
  • the conversion information between the logical address space and the physical address space set in the page table 56 includes the code of each element of the OS 23 (memory dump execution unit 410, core cooperation unit 420, etc.) and the OS 23 in which the page table 56 is stored. Only the area for use 46 is set to be referable. As a result, the processor core 3 can refer only to the OS 23 area 46, and cannot refer to the memory dump execution unit 290 in the OS 21 area 44 or the OS 22 area 45. By doing so, it is possible to prevent the area for the OS 21 and the area for the OS 22 from being destroyed in the processing in the processor core 3.
  • the abnormality detection unit 34 of the OS 22 detects the abnormality (S201 in FIG. 11).
  • the abnormality detection unit 34 performs processing such as specifying the cause of the abnormality, and then issues a memory dump instruction to the memory dump execution unit 35 (S202 in FIGS. 9 and 11). .
  • the memory dump execution unit 35 Upon receiving the memory dump instruction, the memory dump execution unit 35, when an exception has occurred so that the abnormality detection unit 34 does not detect the exception of the processor core 2 that occurs during the execution of the memory dump, the memory dump abnormality detection unit 37 After the processor core 2 is set to detect, the location information of the dump file 24 in the HDD device 7 is acquired from the file information storage area 25 in the backup memory device 8 (S203 in FIGS. 9 and 11). . Next, the memory dump execution unit 35 performs processing for writing the contents of the memory device 5 into the dump file 24 in the HDD device 7 based on the acquired position information.
  • the MMU 19 operates using the page table 55 in the OS 22 area 45 of the memory device 5. Therefore, the memory dump execution unit 35 of the OS 22 accesses only the OS 22 area 45 of the memory device 5. I can't do it. For this reason, the process of writing the contents of the memory device 5 is performed as follows. First, the memory dump execution unit 35 determines whether the first page of the physical address space of the memory device 5 (an area obtained by dividing the address space by a certain size (generally 4 Kbytes)) is present in the OS 22 area 45. This is checked (S204 in FIG. 11). This is determined by referring to the page table 55 and determining whether or not a desired physical address is included in the logical address space of the processor core 2.
  • the memory dump execution unit 35 instructs the map unit 51 to set the physical address space on the logical address space of the processor core 2.
  • the map unit 51 sets the page table 55 used by the MMU 19 so that the physical address space can be referred to in the logical address space of the processor core 2.
  • the desired physical address is included in the OS 22 area 45 (YES in S204 in FIG. 11)
  • the physical address can already be referred to in the logical address space, so an instruction is issued to the map unit 51. Absent.
  • the memory dump execution unit 35 next selects the physical address. A page in the logical address space corresponding to the first page of the space is written to the dump file 24 (S206 in FIGS. 9 and 11). If no abnormality has occurred (NO in S207 of FIG. 11), the processing from S204 to S206 is performed on the next page of the physical address space. If the data of the memory dump execution unit 350 in the OS 22 area 45 of the memory device 5 is not destroyed, the operation of the memory dump execution unit 35 is not hindered, so the contents of the memory device 5 in the physical address space. Is completely stored in the dump file 24, the memory dump processing of the memory dump execution unit 35 is normally completed.
  • the operation of the memory dump execution unit 35 becomes abnormal (YES in S207 of FIG. 11), and illegal command execution or illegal The access causes an exception on the processor core 2.
  • the memory dump abnormality detection unit 37 (S208 in FIGS. 9 and 11).
  • the memory dump abnormality detection unit 37 instructs the core cooperation unit 36 to notify another processor core (a notification including a memory dump execution request) (S209 in FIGS. 9 and 11).
  • the core cooperation unit 36 that has received an instruction from the memory dump abnormality detection unit 37 selects a processor core to be transmitted.
  • the core link unit 36 transmits to the processor core 1 (S210 in FIGS. 9 and 11). This notification is received by the core cooperation unit 30 of the processor core 1 (S211 in FIG. 12).
  • the core cooperation unit 30 of the processor core 1 instructs the memory dump execution unit 29 to perform a memory dump (S212 in FIGS. 10 and 12).
  • the memory dump execution unit 29 acquires the position information of the dump file 24 in the HDD device 7 from the file information storage area 25 in the backup memory device 8 (S213 in FIGS. 10 and 12), and the acquired position information is Originally, the contents of the memory device 5 are written into the dump file 24 in the HDD device 7 (S214 in FIGS. 10 and 12). Although the data of the memory dump execution unit 350 in the OS 22 area 45 in the memory device 5 is destroyed, there is no problem in the operation of the memory dump execution unit 290 in the OS 21 area 44 in the memory device 5.
  • the memory dump of the dump execution unit 29 ends normally. Further, the page table 54 in the OS 21 area 44 allows the processor core 1 to refer to all the memory devices 5 in the logical address space, and there is no need to call the map unit 50.
  • the memory dump execution unit 29 notifies the core cooperation unit 30 of the completion of the memory dump (S215 in FIGS. 10 and 12).
  • the core cooperation unit 30 notifies the processing completion to the processor core 2 that is the notification source (S216 in FIGS. 10 and 12). This notification is received by the core cooperation unit 36 of the processor core 2 (S217 in FIG. 11).
  • the core cooperation unit 36 of the processor core 2 When receiving the notification from the core cooperation unit 30 of the processor core 1, the core cooperation unit 36 of the processor core 2 notifies the memory dump abnormality detection unit 37 of the completion of processing (S218 in FIGS. 10 and 11). Upon receiving this notification, the memory dump abnormality detection unit 37 notifies the abnormality detection unit 34 of the completion of processing (S219 in FIGS. 10 and 11). Upon receiving the notification, the abnormality detection unit 34 stops or restarts the apparatus when the memory contents are saved (S220 in FIGS. 10 and 11). The above is the operation when a failure occurs in the memory dump system in this embodiment.
  • an MMU that converts a logical address space to a physical address space is used, each processor core is operated in the logical address space, and a processor core that performs normal operation is operated by the processor core. It is possible to refer only to a specific memory area that can be used by the operating system, and only the processor core dedicated to memory dump can refer to the entire memory.
  • a failure occurs in one processor core, and the memory contents are stored in the secondary storage device by the OS operating on the processor core.
  • the processor core that detected the error instructs the memory core dedicated to memory dump processing to perform a memory dump.
  • the memory dump execution unit on the processor core dedicated to dump processing stores the memory contents in the secondary storage device. For this reason, in the memory dump method according to the second embodiment, even if a failure occurs during the memory dump process, the memory dump can be reliably performed.
  • a processor core that performs normal operation can refer only to a specific memory area that can be used by the OS on which the processor core is operating, and only the processor core that performs memory dump exclusively Since it is possible to refer to the whole, even if an abnormal state that destroys the data in the memory occurs in the processor core that performs normal operation, the code that operates on the processor core that performs dedicated memory dump Has no effect.
  • Each processor core is provided with an MMU (Memory Management Unit) that can divide the memory and manage each memory as a different address space, and the memory dump method including the following components has been described.
  • the OS on one processor core has the following components (a) Means for making the entire memory accessible using the MMU (2) The OS on a processor core other than the above (1) (A) Means for enabling access to only a specific area of the memory using the MMU (b) Means for making the contents of another memory accessible when a failure occurs (c) Saving in a secondary storage device Means for notifying the processor core of (1) above if an abnormality occurs during
  • Embodiment 3 FIG.
  • the processor core dedicated to memory dump processing when the processor core dedicated to memory dump processing periodically monitors the status of other processor cores and detects an abnormality, the processor core dedicated to memory dump processing itself detects the abnormality. Stop the processor core and perform a memory dump. According to the memory dump method according to the present embodiment, even when the processor core itself in which the failure has occurred cannot operate due to a hang-up or the like, the memory dump can be reliably performed.
  • FIG. 13 is a diagram illustrating a configuration example of software (S / W) with respect to the H / W configuration illustrated in FIG. 7.
  • the monitoring unit 60 for monitoring the operation status of the OS 22 of the processor core 2 and the OS 23 of the processor core 3 exists in the OS 21 of the processor core 1.
  • the monitoring unit 60 monitors the counter value of a counter described later. This counter value is updated at a predetermined cycle while other processor cores are operating normally. Then, when the updating of the counter value is stopped, the monitoring unit 60 determines that a failure has occurred in another processor core.
  • the OS 22 of the processor core 2 has a response unit 61 indicating that the OS 22 is operating without any problem, and the OS 23 of the processor core 3 has a similar response unit 62 (not shown). Further, in the memory device 5, the response unit 61 updates the counter value to indicate that the OS 22 is operating, and the response unit 62 indicates the counter value to indicate that the OS 23 is operating. There is a counter 64 to update. That is, the response unit 61 updates the counter value of the counter 63 at a predetermined period while the OS 22 is operating normally, and indicates to the monitoring unit 60 that the processor core 2 is operating normally.
  • the response unit 62 updates the counter value of the counter 64 at a predetermined period while the OS 23 is operating normally, and indicates to the monitoring unit 60 that the processor core 3 is operating normally.
  • the response units 61 and 62 are examples of a counter value update unit.
  • the operation when an abnormality is detected by the processor core 2 and the abnormality detection unit of the processor core 3 is the same as that of the second embodiment, and the arrows in FIGS. 9 and 10 and FIG. This is shown in the flowchart of FIG.
  • FIGS. 14 to 17 illustrate an example in which the processor core 2 hangs up.
  • the operation of the processor core 2 and the processor core 3 in a state where the processor core 2 and the processor core 3 are operating without any problem will be described.
  • the OS 22 of the processor core 2 performs a normal operation in S301 of FIG.
  • it is checked whether a certain time has passed (S302 in FIG. 16). This check may be activated by monitoring the update status of the OS internal time or by an interrupt generated by a time change. If the predetermined time has not elapsed in S302 (NO in S302 of FIG. 16), the process returns to S301 and the normal operation is continued.
  • the predetermined time has elapsed in S302 (YES in S302 of FIG.
  • the response unit 61 operates in the OS 22, and the counter 63 in the OS 22 area 45 of the memory device 5 is incremented by 1 (FIG. 14 and FIG. 14). 17 S303).
  • the counter 63 is incremented at regular intervals, and the monitoring unit 60 can confirm that the OS 22 is operating by looking at the counter 63.
  • the OS 22 After adding the counter 63 in S303, the OS 22 returns to S301 and continues normal operation.
  • the above is the operation of the processor core 2.
  • the operation in the processor core 3 is the same as the operation of the processor core 2 shown in FIGS. 14 and 16 (S301 to S303), and a description thereof will be omitted.
  • the monitoring unit 60 of the OS 21 first checks that a certain time has elapsed (S310 in FIG. 17). If the predetermined time has not elapsed (NO in S310), it is not necessary to check the processor core 2 and the processor core 3 yet, so the process returns to the beginning. If the predetermined time has elapsed in S310 (YES in S310), the counter 63 and the counter 64 are checked (S311 in FIGS. 14 and 17).
  • FIG. 14 shows only that the monitoring unit 60 checks the counter 63 of the OS 22 area 45, but the monitoring unit 60 also checks the counter 64 of the OS 23 area 46 at the same time.
  • the monitoring unit 60 can operate the OS 22 when the monitoring unit 60 checks the update of the counter 63 in S 311. It is determined that an abnormality has not occurred (NO in S312). As a result, the monitoring unit 60 instructs the memory dump execution unit 29 to perform a memory dump (S313 in FIGS. 14 and 17).
  • the memory dump execution unit 29 acquires the position information of the dump file 24 in the HDD device 7 from the file information storage area 25 in the backup memory device 8 (FIGS. 15 and 17). S314), based on the acquired position information, the contents of the memory device 5 are written in the dump file 24 in the HDD device 7 (S315 in FIGS. 15 and 17).
  • the processor core 2 cannot operate, there is no problem in the operation of the memory dump execution unit 290 in the OS 21 area 44 in the memory device 5, so the memory dump of the memory dump execution unit 29 ends normally. Further, the page table 54 in the OS 21 area 44 allows the processor core 1 to refer to all the memory devices 5 in the logical address space, and there is no need to call the map unit 50.
  • the memory dump execution unit 29 notifies the monitoring unit 60 of the completion of the memory dump (S316 in FIGS. 15 and 17). Upon receiving the notification, the monitoring unit 60 stops or restarts the apparatus when the memory contents are saved (S317 in FIGS. 15 and 17). The above is the operation when a failure occurs in the memory dump system in this embodiment.
  • a processor core that performs normal operation is provided with means for updating data in the memory at regular intervals, and the processor core that performs dedicated memory dump has its data constant.
  • a means for instructing execution of the memory dump is provided when the data is referred to every time and the data is not updated. For this reason, in the memory dump method according to the present embodiment, the processor core that performs normal operation is in a H / W hang-up state, and the memory dump can be reliably performed even when the OS abnormality detection unit cannot operate. .
  • whether or not a processor core that performs a normal operation is operating normally is determined by periodically updating data in the memory.
  • a processor core that performs normal operation using communication between processor cores periodically generates a notification interrupt to the processor core that performs memory dump, and the processor core that performs memory dump receives a periodic interrupt. Even if it is determined that the operation is not normally performed and the memory dump is performed, a similar memory dump method can be obtained.
  • a memory dump method including the following components in each processor core has been described.
  • the OS on the processor core that exclusively processes the memory dump described in the second embodiment has the following components.
  • (2) Processor other than the processor core of (1) above The OS on the core has the following components.
  • (A) Counter existing in a memory accessible area in the memory (b) Means for updating the counter at regular intervals during memory dump
  • Embodiment 4 a hardware configuration having a plurality of processor cores and an MMU that converts a logical address space into a physical address space is provided, and a plurality of operating systems (OS) and applications (AP) operate on the hardware configuration.
  • OS operating systems
  • AP applications
  • a memory dump method in the configuration will be described. More specifically, in the memory dump method according to the present embodiment, each processor core can refer to only the memory area used by each processor core as a logical address space, and a failure occurs in one processor core. An error occurs in the processor core that is performing the memory dump when an error occurs in the memory dump process while the memory contents are being saved in the secondary storage device within the OS running on the processor core.
  • the processor core that detects the abnormality instructs another processor core to perform a memory dump, and the OS on the other processor core can refer to the entire memory as a logical address space, and then perform the memory dump. .
  • the memory dump method according to the present embodiment it is possible to reliably perform memory dump without having a processor core dedicated to memory dump processing.
  • the H / W configuration is the same as that in the second embodiment and is shown in FIG.
  • FIG. 18 is a diagram illustrating a configuration example of software (S / W) with respect to the H / W configuration illustrated in FIG. 7.
  • the processor core 1 is not configured to exclusively process a memory dump.
  • the OS 21 of the processor core 1 includes a memory dump setting unit 27, an abnormality detection unit 28, and a memory dump abnormality detection unit 31, as in the first embodiment.
  • the configurations of the OS 22 of the processor core 2 and the OS 23 of the processor core 3 are the same as those in the second embodiment.
  • the configuration of the memory device 5 is different from that of the second embodiment, and the OS 21 area 44 does not indicate the entire memory device 5, and the page table 54 used by the MMU 18 of the processor core 1 is the OS 22 area. 45 and the OS 23 area 46 are set so that only the OS 21 area 44 can be referred to.
  • the processor core 1 is assigned a logical address for a part of the physical address of the memory device 5, and the processor core 1 uses the MMU 18 except for the time of memory dump. Only a part of the physical addresses targeted by the assigned logical address can be accessed.
  • Each OS area in the memory device 5 has an area for referring to a memory area outside the OS area as an area (logical address space) in each OS.
  • the OS area 44 includes a map area 70
  • the OS 22 area 45 includes a map area 71
  • the OS 23 area 46 includes a map area 72.
  • the memory dump execution units 29, 35, and 41 are also examples of the counter value update unit.
  • the map unit 50 is an example of an access control unit.
  • a failure occurs in the OS 22 operating on the processor core 2, and a memory dump is executed in the OS 22 area 45 that is code data on the memory device 5 of the memory dump execution unit 35 of the OS 22.
  • a memory dump is executed in the OS 22 area 45 that is code data on the memory device 5 of the memory dump execution unit 35 of the OS 22.
  • the abnormality detection unit 34 of the OS 22 detects the abnormality (S401 in FIG. 21).
  • the abnormality detection unit 34 performs processing such as specifying the cause of the abnormality, and then issues a memory dump instruction to the memory dump execution unit 35 (S402 in FIGS. 19 and 21). .
  • the memory dump execution unit 35 Upon receiving the memory dump instruction, the memory dump execution unit 35, when an exception occurs so that the exception detection unit 34 does not detect the exception of the processor core 2 that occurs during the memory dump execution, the memory dump abnormality detection unit 37 After the processor core 2 is set to detect, the location information of the dump file 24 in the HDD device 7 is acquired from the file information storage area 25 in the backup memory device 8 (S403 in FIGS. 19 and 21). . Next, the memory dump execution unit 35 performs processing for writing the contents of the memory device 5 into the dump file 24 in the HDD device 7 based on the acquired position information.
  • the MMU 19 operates using the page table 55 in the OS 22 area 45 of the memory device 5. Therefore, the memory dump execution unit 35 of the OS 22 accesses only the OS 22 area 45 of the memory device 5. I can't do it. For this reason, the process of writing the contents of the memory device 5 is performed as follows. First, the memory dump execution unit 35 determines whether the first page of the physical address space of the memory device 5 (an area obtained by dividing the address space by a certain size (generally 4 Kbytes)) is present in the OS 22 area 45. This is checked (S404 in FIG. 21). This is determined by referring to the page table 55 and determining whether or not a desired physical address is included in the logical address space of the processor core 2.
  • the memory dump execution unit 35 instructs the map unit 51 to set the physical address space on the logical address space of the processor core 2.
  • the map unit 51 sets the page table 55 used by the MMU 19 so that the physical address space can be referred to in the logical address space of the processor core 2.
  • FIG. 19 shows an example in which the first page and the OS 21 area 44 are set in the map area 71. However, if the same processing is repeated for other areas, the entire area of the memory device 5 can be referred to. It becomes. If the desired physical address is included in the OS 22 area 45 (YES in S404 in FIG.
  • the physical address can already be referred to in the logical address space, so an instruction is issued to the map unit 51. Absent.
  • the memory dump execution unit 35 next selects the physical address. A page in the logical address space corresponding to the first page of the space is written to the dump file 24 (S406 in FIGS. 19 and 21). If no abnormality has occurred (NO in S407 in FIG. 21), the processing from S404 to S406 is performed on the next page of the physical address space.
  • the core cooperation unit 36 that has received an instruction from the memory dump abnormality detection unit 37 selects a processor core to be transmitted. In the present embodiment, transmission is performed to the processor core 1 (S410 in FIGS. 19 and 21). Regarding the selection of the processor core, a method for predetermining a specific processor core in the same manner as in the first embodiment, and the load state of each processor core is recorded in the memory device 5 so that the processor core with the lowest load is recorded. There are methods such as selecting. In the present embodiment, by such a method, the core cooperation unit 36 of the processor core 2 selects the processor core 1 and transmits a notification to the processor core 1 (S410 in FIGS. 19 and 21). This notification is received by the core cooperation unit 30 of the processor core 1 (S411 in FIG. 22).
  • the core cooperation unit 30 of the processor core 1 instructs the memory dump execution unit 29 to perform a memory dump (S412 in FIGS. 20 and 22).
  • the memory dump execution unit 29 acquires the position information of the dump file 24 in the HDD device 7 from the file information storage area 25 in the backup memory device 8 (S413 in FIGS. 20 and 22), and the acquired position information is Originally, processing for writing the contents of the memory device 5 into the dump file 24 in the HDD device 7 is performed.
  • the MMU 18 is operated using the page table 54 in the OS 21 area 44 of the memory device 5, so the memory dump execution unit 29 of the OS 21 accesses only the OS 21 area 44 of the memory device 5. I can't do it. For this reason, the process of writing the contents of the memory device 5 is performed as follows. First, the memory dump execution unit 29 determines whether the first page of the physical address space of the memory device 5 (an area where the address space is divided by a fixed size (generally 4 Kbytes)) exists in the OS 21 area 44. A check is made (S414 in FIG. 22). This is determined by referring to the page table 54 and determining whether or not a desired physical address is included in the logical address space of the processor core 1.
  • the memory dump execution unit 29 instructs the map unit 50 to set the physical address space as the logical address space of the processor core 1.
  • the map unit 50 sets the page table 54 used by the MMU 18 so that the physical address space can be referred to in the logical address space of the processor core 1.
  • FIG. 20 shows an example in which the first page and the OS 22 area 45 are set in the map area 70. However, if the same processing is repeated for other areas, the entire area of the memory device 5 can be referred to. It becomes.
  • the memory dump execution unit 29 next performs the physical dump. A page in the logical address space corresponding to the first page in the address space is written to the dump file 24 (S416 in FIGS. 20 and 22). Then, it is checked whether or not the memory dump has been performed on all areas of the memory device 5 (S417 in FIG. 22).
  • the memory dump execution unit 29 notifies the core cooperation unit 30 of the completion of the memory dump (FIGS. 20 and 20). 22 S418).
  • the core cooperation unit 30 notifies the processing completion to the processor core 2 that is the notification source (S419 in FIGS. 20 and 22). This notification is received by the core cooperation unit 36 of the processor core 2 (S420 in FIG. 21).
  • the core cooperation unit 36 of the processor core 2 When receiving the notification from the core cooperation unit 30 of the processor core 1, the core cooperation unit 36 of the processor core 2 notifies the memory dump abnormality detection unit 37 of the processing completion (S421 in FIGS. 20 and 21). Upon receiving this notification, the memory dump abnormality detection unit 37 notifies the abnormality detection unit 34 of the completion of processing (S422 in FIGS. 20 and 21). Upon receiving the notification, the abnormality detection unit 34 stops or restarts the apparatus when the memory contents are saved (S423 in FIGS. 20 and 21). The above is the operation when a failure occurs in the memory dump system in this embodiment.
  • an MMU that converts a logical address space into a physical address space is used, each processor core is operated in the logical address space, and a specific OS that can be used by an OS on which the processor core is operating is used. Only the memory area can be referenced.
  • the memory dump method according to the fourth embodiment when a failure occurs in one processor core and the memory contents are stored in the secondary storage device by the OS operating on the processor core, When an abnormality occurs in the memory dump execution unit, after detecting an abnormality in the processor core that is executing the memory dump, the processor core that detected the abnormality instructs the other processor core to perform a memory dump and receives the instruction.
  • the memory dump execution unit on the processor core sets a page table in the logical address space in which the processor core operates so that the memory area that the processor core could not reference can be referred to, and the memory contents in the secondary storage device Save. For this reason, in the memory dump method according to the fourth embodiment, even if a failure occurs during the memory dump process, the memory dump can be reliably performed without the need for a processor core that exclusively processes the memory dump.
  • Each processor core is provided with an MMU (Memory Management Unit) that can divide the memory and manage each memory as a different address space, and the memory dump method including the following components has been described.
  • MMU Memory Management Unit
  • the OS on each processor core has the following components.
  • Embodiment 5 In the memory dump method according to the present embodiment, when an abnormality occurs during memory dump processing in a certain processor core, the failed processor core instructs another processor core to perform a memory dump.
  • the processor core where the error occurred monitors the memory dump of another processor core, and if the memory dump process does not finish within a certain time, the other processor core is stopped and another another processor core is instructed to perform the memory dump. .
  • FIG. 23 is a diagram illustrating a configuration example of software (S / W) with respect to the H / W configuration illustrated in FIG. 1.
  • the monitoring unit 80 is provided for the OS 21, the monitoring unit 81 is provided for the OS 22, and the monitoring unit 82 is provided for the OS 23 (not shown). Is provided.
  • the memory device 5 includes a counter 83 in the OS 21 area 44, a counter 84 in the OS 22 area 45, and a counter 84 in the OS 22 area as counters indicating that the memory dump operation continues in the memory dump process in each processor core.
  • a counter 85 is provided for each area.
  • the core cooperation unit 30, the core cooperation unit 36, and the core cooperation unit 42 correspond to examples of a failure detection unit, a memory dump completion notification unit, and a memory dump request unit, respectively.
  • the memory dump abnormality detection unit 31, the memory dump abnormality detection unit 37, and the memory dump abnormality detection unit 43 correspond to an example of a memory dump request unit.
  • FIG. 24, FIG. 25, and FIG. 26 the processor core 3, the OS 23 area 46 in the memory device 5, and the console device 6 are omitted for reasons of drawing.
  • a failure occurs in the OS 22 operating on the processor core 2 and a memory dump is executed in the OS 22 area 45 which is code data on the memory device 5 of the memory dump execution unit 35 of the OS 22.
  • An example in which the data in the part 350 has been destroyed will be described.
  • the abnormality detection unit 34 of the OS 22 detects the abnormality (S501 in FIG. 27). After performing processing such as specifying the cause of the abnormality, the abnormality detection unit 34 issues a memory dump instruction to the memory dump execution unit 35 (S502 in FIGS. 24 and 27). Upon receiving the memory dump instruction, the memory dump execution unit 35 does not detect the exception of the processor core 2 that occurs during the execution of the memory dump again by the abnormality detection unit 34 (because the memory dump instruction is generated again when detected). The location of the dump file 24 in the HDD device 7 from the file information storage area 25 in the backup memory device 8 is set after the processor core 2 is set so that the memory dump abnormality detection unit 37 detects when an exception occurs.
  • the memory dump execution unit 35 writes the contents of the memory device 5 in the dump file 24 in the HDD device 7 based on the acquired position information (S504 in FIGS. 24 and 27).
  • the data of the memory dump execution unit 350 in the OS 22 area 45 of the memory device 5 is not destroyed, the operation of the memory dump execution unit 35 is not hindered. Finish normally.
  • the memory dump abnormality detection unit 37 instructs the core cooperation unit 36 to notify another processor core (a notification including a memory dump execution request) (S506 in FIGS. 24 and 27).
  • the core cooperation unit 36 that has received an instruction from the memory dump abnormality detection unit 37 selects a processor core to be transmitted.
  • notification is transmitted to the processor core 1 (S507 in FIGS. 24 and 27).
  • the core cooperation unit 36 of the processor core 2 selects the processor core 1 and notifies the processor core 1. This notification is received by the core cooperation unit 30 of the processor core 1 (S508 in FIG. 29).
  • the core cooperation unit 30 of the processor core 1 instructs the memory dump execution unit 29 to perform a memory dump (S509 in FIGS. 25 and 28).
  • the memory dump execution unit 29 acquires the position information of the dump file 24 in the HDD device 7 from the file information storage area 25 in the backup memory device 8 (S510 in FIG. 25 and FIG. 28), and uses the acquired position information.
  • the contents of the memory device 5 are written into the dump file 24 in the HDD device 7. This process is performed as follows. First, the memory dump execution unit 29 stores one page (4 KB) from the top of the memory device 5 in the dump file 24 (S511 in FIGS. 25 and 28).
  • the memory dump execution unit 29 adds 1 to the counter 83 of the OS 21 area 44 in the memory device 5 (S512 in FIGS. 25 and 28).
  • the memory dump execution unit 29 checks whether the memory dump has been completed for all areas of the memory device 5 (S513 in FIG. 29). If the memory dump has not been completed for all areas (NO in S513 in FIG. 29), the memory dump is performed on the next page of the memory device 5 (S511 in FIGS. 25 and 28), and the counter 83 is set. 1 is added again (S512 in FIGS. 25 and 28). This is performed on the entire memory device 5.
  • the processor core 1 ends the process.
  • the data of the memory dump execution unit 350 in the OS 22 area 45 in the memory device 5 is destroyed, there is no problem in the operation of the memory dump execution unit 290 in the OS 21 area 44 in the memory device 5.
  • the memory dump of the dump execution unit 29 ends normally.
  • the memory dump abnormality detection unit 37 of the processor core 2 notifies the monitoring unit 81 of the start of monitoring (FIGS. 26 and 28). S514).
  • the monitoring unit 81 Upon receiving the notification, the monitoring unit 81 first checks whether a certain time has elapsed (S515 in FIG. 28). If the predetermined time has not elapsed (NO in S515), the monitoring unit 81 waits until the time elapses. If it is determined in S515 that the predetermined time has elapsed (YES in S515), the monitoring unit 81 uses the memory dump execution unit 29 of the processor core 1 for the OS 21 of the memory device 5 updated in S512.
  • the counter 83 in the area 44 it is checked whether the value has been updated (S516 in FIGS. 26 and 28).
  • the contents of the counter 83 are incremented by 1 every time a memory dump for one page is performed in the memory dump execution unit 29 of the processor core 1, so that the operation of the memory dump execution unit 29 is not hindered.
  • the value is updated every time the monitoring unit 81 refers to the counter. If it has been updated (YES in S516), the monitoring unit 81 checks whether the memory dump has ended from the value of the counter 83 (S517 in FIG. 28).
  • the process returns to S515, waits for a certain time again (S515), and checks whether the value of the counter 83 has been updated (S516).
  • the monitoring unit 81 notifies the memory dump abnormality detection unit 37 of the processing completion. This is performed (S518 in FIGS. 26 and 28). Receiving the notification, the memory dump abnormality detection unit 37 notifies the abnormality detection unit 34 of the completion of processing (S519 in FIGS. 26 and 28). Upon receiving the notification, the abnormality detection unit 34 stops or restarts the apparatus when the memory contents are saved (S520 in FIGS. 26 and 28).
  • the monitoring unit 81 notifies the memory dump abnormality detection unit 37 that the memory dump process is abnormal (in FIG. 26). S522).
  • the memory dump abnormality detection unit 37 stores the abnormality information in the backup memory device 8 and records the abnormality, and then stops the processor core 1 (S521 in FIG. 28). This makes it possible to determine that the processor core 1 has received a stop instruction by using the core cooperation unit 36 and performing notification of a system different from normal inter-processor core communication. Accordingly, the memory dump abnormality detection unit 37 determines that the memory dump of the processor core 1 could not be normally performed, returns to S506, and transfers the memory to another processor core (processor core 3) via the core cooperation unit 36. Dump instructions are given. As a result, the memory dump is performed by the memory dump execution unit 41 of the processor core 3. The above is the operation when a failure occurs in the memory dump system in this embodiment.
  • a monitoring unit that monitors memory dump processing of other processor cores is provided on each processor core, and memory dump processing is normal during memory dump processing in each processor core.
  • the monitoring unit refers to the counter at regular intervals, and if the value is not updated, determines that there is an abnormality and performs a memory dump to another processor core. . For this reason, an error occurs in the memory dump process in a certain processor core, and when a memory dump is performed in another processor core, the memory dump process of another processor core hangs up. Even if it becomes, the memory dump system which can implement a memory dump reliably can be obtained.
  • a memory dump method including the following components in each processor core has been described.
  • the OS on each processor core has the following components.
  • (A) Counter existing in the memory (b) Means for updating the counter at regular intervals during the memory dump (c) An abnormality occurs during storage in the secondary storage device, and the memory dump is sent to the other processor cores After the notification, the counter value is checked, and if the value is not updated within a certain time, a means to notify the memory dump to another processor core

Abstract

 プロセッサコア2のメモリダンプ実施部35が共有メモリであるメモリ装置5のデータをHDD装置7に保存しているときに異常が発生した場合に、メモリダンプ異常検出部37がメモリダンプ異常を検出し、コア連携部36がプロセッサコア1のコア連携部30にメモリダンプ異常を通知し、プロセッサコア1のメモリダンプ実施部29がコア連携部30からメモリダンプ実施部35のメモリダンプ異常を通知され、メモリダンプ実施部35に代わってメモリ装置5のデータをHDD装置7に保存する。

Description

プロセッサ装置及びプログラム
 本発明は、プロセッサ装置がメモリ装置のデータを二次記憶装置に保存するメモリダンプ技術に関する。
 計算機システムにおいて、障害発生時にメモリ装置(以下、単にメモリともいう)の内容を二次記憶装置に保存(これをメモリダンプと呼ぶ)しておき、障害原因の解析に活用する手法が一般的に利用されている。
 従来のメモリダンプ方式では、障害が発生したプロセッサ装置(以下、単にプロセッサともいう)自身が二次記憶装置に保存するのが一般的であったが、この場合、障害が発生したプロセッサにて二次記憶装置に保存できない場合、メモリダンプを実施することができなかった。
 これを解決する方法として、例えば、特許文献1に記載の方法がある。
 特許文献1の方法では、障害発生プロセッサが二次記憶装置にアクセスできる場合は、障害発生プロセッサが障害処理プログラムを共有メモリにロードし、共有メモリにロードされた障害処理プログラムを用いて固有メモリの内容を二次記憶装置に保存する。
 一方、障害発生プロセッサが二次記憶装置にアクセスできない場合は、まず、健全なプロセッサの中から特定のプロセッサが支援プロセッサとして選定される。
 そして、支援プロセッサが障害処理プログラムを共有メモリにロードし、障害発生プロセッサが共有メモリにロードされた障害処理プログラムを用いて固有メモリの内容を共有メモリにコピーする。
 次に、支援プロセッサが共有メモリにコピーされた障害発生プロセッサの固有メモリのデータを二次記憶装置に保存する。
特開平8-30565号公報
 上記従来技術においては、障害発生プロセッサが固有メモリの内容を二次記憶装置に保存できるか否かは、プロセッサ装置情報に予め設定された構成情報を元に決めている。
 そして、障害発生プロセッサが固有メモリの内容を二次記憶装置に保存できる設定になっている場合に、障害発生プロセッサが障害処理プログラムを用いて固有メモリの内容を二次記憶装置に保存している最中に、障害処理プログラムが異常になると、二次記憶装置への保存ができない。
 障害処理プログラムが異常になるケースとしては、障害処理プログラムが共有メモリに保持されている場合に、プログラムコードに、別コードから書込みが発生し、コードが不正になってしまう(いわゆるプログラムのバグにより発生する)ケースがある。
 更に、障害処理プログラムが異常になるケースとしては、プロセッサが論理アドレス空間を物理アドレス空間に変換するMMU(Memory Management Unit)を備え、障害処理プログラムコードが論理アドレス空間を用いて動作している場合、障害情報(障害発生プロセッサの固有メモリの内容)が保存されている領域の論理アドレス空間をアクセスするための変換テーブルに別コードから書込みが発生し、論理アドレス空間設定が不正になるようなケースが考えられる。
 このようなケースに至った場合、障害発生プロセッサが固有メモリの内容を二次記憶装置に保存できる設定になっていても、二次記憶装置に固有メモリの内容を保存している最中に異常となってしまうため、保存ができない。
 また、支援プロセッサが障害発生プロセッサの固有メモリの内容を二次記憶装置に保存するケースでも、障害発生プロセッサが固有メモリの内容を共有メモリに保存する最中に異常となってしまうと、保存ができない。
 さらには、支援プロセッサが共有メモリから障害発生プロセッサの固有メモリの内容を二次記憶装置に保存する際でも、保存処理を行うプログラムや共有メモリの論理アドレス空間に対して上記のような現象が発生した場合は、二次記憶装置に保存することができなくなる。
 この発明は、上記のような課題を解決することを主な目的とし、複数のプロセッサ装置がメモリ装置を共有する構成において、メモリダンプを試行するプロセッサ装置がメモリダンプを正常に行えない状態になっていても、別のプロセッサ装置によりメモリダンプが確実に実施できる機構を得ることを主な目的とする。
 本発明に係るプロセッサ装置は、
 メモリ装置のメモリダンプを行う他のプロセッサ装置と接続され、前記メモリ装置を前記他のプロセッサ装置と共有しているプロセッサ装置であって、
 前記他のプロセッサ装置においてメモリダンプが正常に行われていないことを検出する障害検出部と、
 前記障害検出部により前記他のプロセッサ装置においてメモリダンプが正常に行われていないことが検出された場合に、前記他のプロセッサ装置に代わって、前記メモリ装置のメモリダンプを行うメモリダンプ実施部とを有することを特徴とする。
 本発明によれば、障害検出部が他のプロセッサ装置においてメモリダンプが正常に行われていないことを検出した場合に、メモリダンプ実施部が他のプロセッサ装置に代わってメモリ装置のメモリダンプを行うため、メモリダンプを試行するプロセッサ装置がメモリダンプを正常に行えない状態になっていても、メモリダンプが確実に実施できる。
実施の形態1に係るハードウェア構成例を示す図。 実施の形態1に係るソフトウェア構成例を示す図。 実施の形態1に係る障害発生時の動作例を示す図。 実施の形態1に係る障害発生時の動作例を示す図。 実施の形態1に係る障害発生時の動作例を示すフローチャート図。 実施の形態1に係る障害発生時の動作例を示すフローチャート図。 実施の形態2に係るハードウェア構成例を示す図。 実施の形態2に係るソフトウェア構成例を示す図。 実施の形態2に係る障害発生時の動作例を示す図。 実施の形態2に係る障害発生時の動作例を示す図。 実施の形態2に係る障害発生時の動作例を示すフローチャート図。 実施の形態2に係る障害発生時の動作例を示すフローチャート図。 実施の形態3に係るソフトウェア構成例を示す図。 実施の形態3に係る障害発生時の動作例を示す図。 実施の形態3に係る障害発生時の動作例を示す図。 実施の形態3に係る障害発生時の動作例を示すフローチャート図。 実施の形態3に係る障害発生時の動作例を示すフローチャート図。 実施の形態4に係るソフトウェア構成例を示す図。 実施の形態4に係る障害発生時の動作例を示す図。 実施の形態4に係る障害発生時の動作例を示す図。 実施の形態4に係る障害発生時の動作例を示すフローチャート図。 実施の形態4に係る障害発生時の動作例を示すフローチャート図。 実施の形態5に係るソフトウェア構成例を示す図。 実施の形態5に係る障害発生時の動作例を示す図。 実施の形態5に係る障害発生時の動作例を示す図。 実施の形態5に係る障害発生時の動作例を示す図。 実施の形態5に係る障害発生時の動作例を示すフローチャート図。 実施の形態5に係る障害発生時の動作例を示すフローチャート図。 実施の形態5に係る障害発生時の動作例を示すフローチャート図。
 実施の形態1.
 本実施の形態では、複数のプロセッサコアがメモリを共有しているハードウェア構成における、メモリダンプ方式を説明する。
 より具体的には、本実施の形態は、各プロセッサコアの上で複数のオペレーティングシステムおよびアプリケーションが動作している構成において、1つのプロセッサコアに障害が発生し、そのプロセッサコア上で動作しているOSにて二次記憶装置にメモリ内容を保存している最中に、当該プロセッサコアにおいて異常が発生した場合のメモリダンプ方式に関する。
 そして、本実施の形態では、メモリダンプを実施しているプロセッサコアにて異常を検出し、異常を検出したプロセッサコアが、別プロセッサコアにメモリダンプを指示し、別プロセッサコアが、二次記憶装置にメモリ内容を保存することにより、メモリダンプ処理中に障害が発生しても、メモリダンプが確実に実施できるメモリダンプ方式を説明する。
 以下、実施の形態1に係るメモリダンプ方式を図を用いて説明する。
 図1は、本実施の形態に係るメモリダンプ方式におけるハードウェア(H/W)構成例を示す。
 図中、1、2、3が演算処理を行うプロセッサコアであり、お互いが、バス4で結合される。
 各プロセッサコアは、プロセッサ装置の例である。
 また、バス4を通して、プロセッサコア1、プロセッサコア2、プロセッサコア3と、メモリ装置5、コンソール装置6、ハードディスク装置(以下、HDD装置とも表記する)7及びバックアップメモリ装置8が結合されている。
 メモリ装置5は、オペレーティングシステム(以下、OSとも表記する)のコードやデータ、およびアプリケーション(以下、APとも表記する)のコードやデータ、およびヒープ/スタックを保持する。
 前述したように、プロセッサコア1、プロセッサコア2、プロセッサコア3は、メモリ装置5を共有している。
 コンソール装置6は、OSやAPからのメッセージを出力する。
 ハードディスク装置7は、メモリダンプ時にメモリ装置5の内容を格納する。
 バックアップメモリ装置8は、HDD装置7上にある、メモリ装置5の内容を保存するためのファイルの情報を保持している。
 プロセッサコア1、プロセッサコア2、プロセッサコア3には、それぞれ、演算処理を行う演算処理部9(プロセッサコア1)、10(プロセッサコア2)、11(プロセッサコア3)、メモリ装置5の内容および演算処理部の処理結果を一時的に保持しておくキャッシュ12(プロセッサコア1)、13(プロセッサコア2)、14(プロセッサコア3)、および、各プロセッサコア間で通信を行うためのプロセッサコア間通信機能15(プロセッサコア1)、16(プロセッサコア2)、17(プロセッサコア3)が存在する。
 プロセッサコア間通信機能については、プロセッサコアに割込みを通知する方法や、メモリ装置5を介して、通信したいプロセッサコアが通信先プロセッサコアが参照するメモリ領域に印をつけ、通信先プロセッサコアがそれを参照することにより、通知を把握する方法などが利用される。
 本実施の形態では、3つのプロセッサコアを図示しているが、3つである必要はなく、2つのプロセッサコアでも、4つ以上のプロセッサコアでも、動作そのものに変更はない。
 図2は、図1で示したH/W構成に対する、ソフトウェア(S/W)の構成例を示す図である。
 図中、プロセッサコア1ではオペレーティングシステム(OS)21が動作する。
 同様に、プロセッサコア2ではOS22が、プロセッサコア3ではOS23が動作する。
 また、HDD装置7には、メモリ装置5の内容を保存するための記憶領域であるダンプファイル24が存在し、バックアップメモリ装置8には、ダンプファイル24のHDD装置7内での位置情報などが格納されたファイル情報格納領域25が存在する。
 プロセッサコア1のOS21には、プロセッサコア1のリセット時に動作し、OS21自身の初期化を行うOS初期化部26、ダンプファイル24の情報をファイル情報格納領域25に設定するメモリダンプ設定部27(ダンプ設定部27とも表記する)、OS21動作中に不正命令が実行されたり、不正アドレスへのアクセスが発生したことによりOS21がこれ以上動作できなくなったときに、その異常を検出する異常検出部28が存在する。
 また、OS21には、異常検出部28からの指示により、ファイル情報格納領域25にあるダンプファイル情報を元に、メモリ装置5の内容をダンプファイル24に書き込むメモリダンプ実施部29(ダンプ実施部29とも表記する)が存在する。
 後述するように、メモリダンプ実施部29は、他のプロセッサコア(例えば、プロセッサコア2)においてメモリダンプが正常に行われていないことが検出された場合に、他のプロセッサコアに代わって、メモリ装置5のメモリダンプを行う。
 更に、OS21には、プロセッサコア間の通信を行うためのコア連携部30と、メモリダンプ実施部29の処理中に異常が発生した場合に、その異常を検出するメモリダンプ異常検出部31(ダンプ異常検出部31とも表記する)が存在する。
 プロセッサコア2のOS22にも、同様な手段として、OS初期化部32、メモリダンプ設定部33(ダンプ設定部33とも表記する)、異常検出部34、メモリダンプ実施部35(以下、ダンプ実施部35とも表記する)、コア連携部36、メモリダンプ異常検出部37(ダンプ異常検出部37とも表記する)が存在する。
 また、図2では、図示を省略しているが、プロセッサコア3のOS23にも、同様な手段として、OS初期化部、メモリダンプ設定部、異常検出部、メモリダンプ実施部、コア連携部、メモリダンプ異常検出部が存在する。
 OS23における各要素を言及する場合には、OS初期化部38、メモリダンプ設定部39、異常検出部40、メモリダンプ実施部41、コア連携部42、メモリダンプ異常検出部43と表記する。
 なお、コア連携部30、コア連携部36及びコア連携部42は、それぞれ、障害検出部、メモリダンプ完了通知部及びメモリダンプ要求部の例に相当する。
 また、メモリダンプ異常検出部31、メモリダンプ異常検出部37及びメモリダンプ異常検出部43は、メモリダンプ要求部の例に相当する。
 後述するように、プロセッサコア2がメモリダンプを試行するケースにおいては、メモリダンプ異常検出部37がメモリダンプ実施部35によるメモリダンプの実施状況を監視する。
 そして、メモリダンプ異常検出部37がメモリダンプ実施部35においてメモリダンプが正常に行われていないことを検出した場合に、コア連携部36が、例えばプロセッサコア1のコア連携部30に、メモリダンプ実施部35の代わりにメモリ装置5のメモリダンプを実施するよう要求する。
 また、コア連携部30は、コア連携部36から、メモリダンプの要求、つまりプロセッサコア2においてメモリダンプが正常に行われていない旨の通知を受け、プロセッサコア2においてメモリダンプが正常に行われていないことを検出する。
 また、プロセッサコア1のメモリダンプ実施部29においてメモリダンプが正常に完了した場合は、コア連携部30はコア連携部36にメモリダンプが正常に完了したことを通知する。
 プロセッサコア1、プロセッサコア2、プロセッサコア3上で動作しているOS21、OS22、OS23の実行コードやデータ、および各OS上で動作するアプリケーション(AP)は、メモリ装置5内に存在する。
 そのため、メモリ装置5には、OS21が利用しているOS21用領域44と、OS22が利用しているOS22用領域と、OS23が利用しているOS23用領域が存在している。
 各OS用領域は、コードやデータが重なるとOSが動作できなくなるため、互いに独立して(異なる物理アドレスにて)メモリ装置5内に配置される。
 また、各OS内の要素も、各OS用領域に存在し、OS21のメモリダンプ実施部29やコア連携部30などのコードやデータは、OS21用領域44のメモリダンプ実施部290(ダンプ実施部290とも表記する)、コア連携部300などとして存在し、同様に、OS22の各要素およびOS23の各要素も、それぞれOS22用領域45、OS23用領域46に存在する。
 OS22用領域45においても、メモリダンプ実施部35やコア連携部36などのコードやデータは、メモリダンプ実施部350(ダンプ実施部350とも表記する)、コア連携部360などとして存在する。
 更に、OS23用領域46においても、メモリダンプ実施部41やコア連携部42などのコードやデータは、メモリダンプ実施部410(ダンプ実施部410とも表記する)、コア連携部420などとして存在する。
 次に、本実施の形態におけるメモリダンプ方式の障害発生時の動作例を、図3、図4内の矢印および図5、図6のフローチャートを用いて説明する。
 なお、図3、図4では、作図上の理由から、プロセッサコア3、メモリ装置5内のOS23用領域46、コンソール装置6の図示を省略している。
 図3~図6では、プロセッサコア2上で動作するOS22に障害が発生し、かつ、OS22のメモリダンプ実施部35のメモリ装置5上のコード・データであるOS22用領域45内のメモリダンプ実施部350のデータが破壊されていた場合の例を説明する。
 まず、OS22動作中に障害が発生すると、OS22の異常検出部34がその異常を検出する(図5のS101)。
 この異常検出は、リソース不足によってOS22が単独で異常と検出できるものや、不正アドレスアクセスや、不正命令実装によって、プロセッサコア2上で例外が発生することによって異常と検出されるものがある。
 これら異常が異常検出部34によって検出されると、異常検出部34は、異常の原因特定などの処理をした後、メモリダンプ実施部35にメモリダンプの指示を出す(図3及び図5のS102)。
 メモリダンプ指示を受けたメモリダンプ実施部35は、メモリダンプ実施中に発生するプロセッサコア2の例外を、再度異常検出部34が検出しない(検出すると、再度メモリダンプ指示が発生するので)ように、例外が発生した場合、メモリダンプ異常検出部37が検出するようにプロセッサコア2を設定した後、バックアップメモリ装置8内にあるファイル情報格納領域25からHDD装置7内にあるダンプファイル24の位置情報を取得する(図3及び図5のS103)。
 次に、メモリダンプ実施部35は、取得した位置情報を元に、HDD装置7内のダンプファイル24にメモリ装置5の内容を書き込む(図3及び図5のS104)。
 ここで、メモリ装置5のOS22用領域45内のメモリダンプ実施部350のデータが破壊されていなければ、メモリダンプ実施部35の動作に支障がないので、メモリダンプ実施部35のメモリダンプ処理は正常に終了する。
 しかし、メモリ装置5のOS22用領域45のメモリダンプ実施部350のデータが破壊されていた場合、メモリダンプ実施部35の動作は不定になり、不正命令実行や不正アクセスにより、プロセッサコア2上で例外が発生する。
 この場合、すでにメモリダンプ実施部35の動作は不正になっているため、再度メモリダンプ実施部35を動作させても、メモリダンプを正常に動作させることができない。
 メモリダンプ異常検出部37は、メモリダンプ実施部35のメモリダンプの実施状況を監視しているため、プロセッサコア2上で例外が発生したことがメモリダンプ異常検出部37によって検出される(図3及び図5のS105)。
 異常を検出すると、メモリダンプ異常検出部37は、コア連携部36に別プロセッサコアへの通知(メモリダンプの実施要求を含む通知)を指示する(図3及び図5のS106)。
 メモリダンプ異常検出部37から指示を受けたコア連携部36は、通知を送信すべきプロセッサコアを選択する。
 ここでは、コア連携部36はプロセッサコア1に通知を行う(図3及び図5のS107)。
 プロセッサコアの選択については、特定のプロセッサコアを予め決めておく方法や、各プロセッサコアの負荷状況をメモリ装置5内に記録するようにし、一番負荷が低いプロセッサコアを選択する、などの方法がある。
 また、プロセッサコアへの通知については、プロセッサコア間割込みを利用するものや、メモリ装置5内の共通領域への読み書きによって同期を取る方法が取られる。
 本実施の形態では、このような方法により、プロセッサコア2のコア連携部36は、プロセッサコア1を選択し、プロセッサコア1へ通知を行う。
 この通知は、プロセッサコア1のコア連携部30が受信する(図6のS108)。
 プロセッサコア1のコア連携部30は、プロセッサコア2のコア連携部36からの通知を受信すると、メモリダンプ実施部29に対し、メモリダンプを指示する(図4及び図6のS109)。
 メモリダンプ実施部29は、バックアップメモリ装置8内にあるファイル情報格納領域25からHDD装置7内にあるダンプファイル24の位置情報を取得し(図4及び図6のS110)、取得した位置情報を元に、HDD装置7内のダンプファイル24にメモリ装置5の内容を書き込む(図4及び図6のS111)。
 メモリ装置5内のOS22用領域45内のメモリダンプ実施部350のデータは破壊されているものの、メモリ装置5内のOS21用領域44のメモリダンプ実施部290の動作には支障がないので、メモリダンプ実施部29のメモリダンプは正常に終了する。
 メモリダンプ実施部29は、メモリダンプが終了すると、コア連携部30に対し、メモリダンプ終了の通知を行う(図4及び図6のS112)。
 コア連携部30は、通知元であるプロセッサコア2に対し処理完了の通知を行う(図4及び図6のS113)。
 この通知は、プロセッサコア2のコア連携部36が受信する(図5のS114)。
 プロセッサコア2のコア連携部36は、プロセッサコア1のコア連携部30からの通知を受信すると、メモリダンプ異常検出部37に処理完了の通知を行う(図4及び図5のS115)。
 この通知を受けて、メモリダンプ異常検出部37は、異常検出部34に処理完了の通知を行う(図4及び図6のS116)。
 通知を受けた異常検出部34は、メモリ内容が保存されたことにより、装置を停止または再起動する(図4及び図6のS117)。
 以上がこの実施の形態におけるメモリダンプ方式の障害発生時の動作である。
 以上のように、実施の形態1によるメモリダンプ方式では、1つのプロセッサコアに障害が発生し、そのプロセッサコア上で動作しているOSにて二次記憶装置にメモリ内容を保存している最中に、メモリダンプ実施部内にて異常が発生した時に、別プロセッサコアにメモリダンプを指示し、別プロセッサコア上にてメモリダンプを実施する。
 このため、メモリダンプ処理中に障害が発生しても、メモリダンプが確実に実施できる。
 なお、プロセッサコア1のメモリダンプ実施部29の処理にて、プロセッサコア2のメモリダンプ実施部35が実施したのと同様に、プロセッサコア1の例外を、メモリダンプ異常検出部31が検出するように、プロセッサコア1に設定し、プロセッサコア1のメモリダンプ実施部29の処理中に異常が発生した時に、さらに別のプロセッサコア(例えば、プロセッサコア3)にメモリダンプを指示するようにしてもよい。
 このようにすることで、メモリダンプがさらに確実に実施できる。
 また、本実施の形態では、プロセッサコア1のメモリダンプ実施部29によるメモリダンプ処理が終了した後、コア連携部30を介して、プロセッサコア2の異常検出部34に処理完了を通知し、プロセッサコア2の異常検出部34にて装置の停止または再起動を実施している。
 これにつき、メモリダンプ実施部29が、プロセッサコア1の異常検出部28に処理完了を通知し、異常検出部28にて装置の停止または再起動を行うことでも、同様なメモリダンプ方式を得ることができる。
 また、本実施の形態では、メモリダンプ実施部35の処理内での異常について、プロセッサコア2の例外発生をメモリダンプ異常検出部37が検出することにより、異常を検出している。
 これにつき、例外発生ではなく、利用したデータが不正であることをメモリダンプ実施部35が検出した時に、メモリダンプ異常検出部37に異常を通知することでも、同様なメモリダンプ方式を得ることができる。
 また、本実施の形態では、メモリダンプ実施部35の処理内での異常について、プロセッサコア2の例外発生をOS22内のメモリダンプ異常検出部37が検出することにより、異常を検出している。
 これをH/Wの仮想化支援機能を利用し、OS22が動作できないような状態(例えば、ダブルフォルト)では、仮想化支援機能にてOS22とは別の機能(仮想化支援コード)が動作し、その中で、プロセッサコア1へのメモリダンプ指示を行うことでも、同様なメモリダンプ方式を得ることができる。
 また、仮想化支援機能とは別に、プロセッサコアの例外発生を、従来からプロセッサコアに備えられているシステム管理モード(System Management Mode:SMM)に遷移するようにし、SMMモードで動作するコード内にて、プロセッサコア1へのメモリダンプ指示を行うことでも、同様なメモリダンプ方式を得ることができる。
 つまり、メモリダンプ実施部35の処理内での異常を検出するのは、OS22(プロセッサコア2)に限らず、OS21(プロセッサコア1)やOS23(プロセッサコア3)を含む、他の機構であってもよい。
 また、本実施の形態では、メモリダンプ実施部35の処理内での異常を、メモリダンプ異常検出部37にて検出するようにしている。
 これにつき、異常検出部34が異常検出時にメモリダンプ実施中か否かを判断し、メモリダンプ実施中でなければ、メモリダンプ実施部35にメモリダンプ指示をし、メモリダンプ実施中であれば、コア連携部36に別プロセッサコアへの通知を指示するようにすることで、メモリダンプ異常検出部37を必要とすることなく、同様なメモリダンプ方式を得ることができる。
 異常検出部34がメモリダンプ実施中か否かを判断する方法としては、異常検出時に実行していたコード位置が、メモリダンプ実施部35のコード内であるか否かを判断することや、メモリダンプ実施部35がメモリダンプ開始時に、メモリ装置5内の特定の領域にマーキングし、それを異常検出部34が読み取ることで判断することができる。
 また、本実施の形態では、プロセッサコア1、2、3上のOSに同様な機能を持たせているが、1つのプロセッサコアにコア連携部およびメモリダンプ実施部のみを備え、メモリダンプ専用とし、他のOSのメモリダンプ中に異常が発生した場合、メモリダンプ専用のプロセッサコアに通知することでも、同様なメモリダンプ方式を得ることができる。
 なお、プロセッサコア2のメモリダンプ実施部35がメモリダンプを実施している最中にメモリダンプ実施部350が破損した場合には、破損時には既にメモリ装置5の一部のデータはHDD装置7に保存されている。
 しかしながら、プロセッサコア1のメモリダンプ実施部29は、メモリダンプ実施部35によりどのデータがHDD装置7に保存されているかを確認できないので、メモリダンプ実施部35におけるメモリダンプの進捗状況にかかわらず、メモリダンプを最初からやり直す。
 以上、本実施の形態では、
 複数のプロセッサコアと、各プロセッサコアが共有するメモリと、障害発生時のメモリ内容を保存する二次記憶装置を備えたハードウェア上にて、複数のオペレーティングシステム(OS)が動作している構成において、以下の構成要素を含む、メモリダンプ方式を説明した。
 (1)各プロセッサコア上のOSに以下の構成要素を持つ。
  (a)障害発生時にメモリ内容を二次記憶装置に保存する手段
  (b)二次記憶装置に保存する間に発生する異常を検出する手段
  (c)上記(b)の手段から呼び出され、他プロセッサコアに通知を行う手段
  (d)他プロセッサコアからの通知を受け、上記(a)の手段を呼び出す手段
 実施の形態2.
 本実施の形態では、複数のプロセッサコアと、論理アドレス空間を物理アドレス空間に変換するMMUを持ったハードウェア構成を備え、その上で複数のオペレーティングシステム(OS)およびアプリケーション(AP)が動作している構成におけるメモリダンプ方式を説明する。
 より具体的には、本実施の形態に係るメモリダンプ方式では、メモリダンプ処理専用プロセッサコアを設け、メモリダンプ処理専用プロセッサコア以外は、各自が使用するメモリ領域のみ論理アドレス空間として参照できるようにし、メモリダンプ処理専用プロセッサコアは、全メモリを論理アドレス空間として参照できるようにしている。
 そして、本実施の形態に係るメモリダンプ方式では、1つのプロセッサコアに障害が発生し、そのプロセッサコア上で動作しているOS内で二次記憶装置にメモリ内容を保存している最中に、メモリダンプ処理において異常が発生した場合に、メモリダンプを実施しているプロセッサコアにて異常を検出した後、異常を検出したプロセッサコアがメモリダンプ処理専用プロセッサコアにメモリダンプを指示し、メモリダンプ処理専用プロセッサコアが、二次記憶装置にメモリ内容を保存する。
 本実施の形態に係るメモリダンプ方式によれば、メモリダンプ処理専用プロセッサコア以外は、各自が使用するメモリ領域のみ論理アドレス空間として参照できるため、メモリダンプ処理専用プロセッサコア上のメモリダンプ処理用のコードが、他プロセッサコアから破壊されることなく、メモリダンプを確実に実施できる。
 図7は、本実施の形態に係るメモリダンプ方式におけるハードウェア(H/W)構成例を示す。
 図7において、MMU(Memory Management Unit)18、19、20以外は、図1に示した要素と同じである。
 ここでは、MMU18、19、20以外の要素の説明を省略する。
 MMU18、19、20は、論理アドレスをメモリ装置5の物理アドレスに変換する機能を有し、プロセッサコア1、2、3がメモリ装置5をアドレス空間として論理的に分割するために用いられる。
 各プロセッサコア上のOSは、このMMUを使用することで、メモリ装置5の一部をそのOS専用のメモリとして使用し、他プロセッサコアのOSが参照できないようにすることができる。
 本実施の形態では、3つのプロセッサコアを図示しているが、3つである必要はなく、2つのプロセッサコアでも、4つ以上のプロセッサコアでも、動作そのものに変更はない。
 図8は、図1で示したH/W構成に対する、ソフトウェア(S/W)の構成例を示す図である。
 図8では、作図上の理由から、コンソール装置6の図示を省略し、また、プロセッサコア3のOS23の内部構成の図示を省略している。
 なお、プロセッサコア3のOS23は、プロセッサコア2のOS22と同様の内部構成である。
 つまり、OS23は、図2について説明したように、OS初期化部38、メモリダンプ設定部39、異常検出部40、メモリダンプ実施部41、コア連携部42、メモリダンプ異常検出部43と、後述するマップ部52を備える。
 また、図8では、記述を省略しているが、本実施の形態においてもコア連携部30、コア連携部36及びコア連携部42は、それぞれ、障害検出部、メモリダンプ完了通知部及びメモリダンプ要求部の例に相当し、メモリダンプ異常検出部37及びメモリダンプ異常検出部43は、メモリダンプ要求部の例に相当する。
 実施の形態2では、プロセッサコア1のOS21は、他のプロセッサコアのOSとは異なり、メモリダンプを専用に処理する機能を有し、メモリダンプ設定部、異常検出部、メモリダンプ異常検出部を持たない構成になっている。
 また、各OSには、プロセッサコアのMMU(図7のMMU18(プロセッサコア1)、MMU19(プロセッサコア2)、MMU20(プロセッサコア3))を使用して、メモリ装置5を論理アドレス空間上で参照可能(マップ)にするためのマップ部を備える(OS21にはマップ部50を、OS22にはマップ部51を、OS23にはマップ部52(不図示)をそれぞれ備える)。
 マップ部50、51、52は、それぞれのOSがアクセスできるメモリ装置5の物理アドレス空間を指定する。
 後述するように、OS22、OS23は、メモリダンプ時以外はメモリ装置5の一部の物理アドレス空間に対応する論理アドレス空間が設定され、一部の物理アドレス空間のみアクセス可能である。
 一方で、メモリダンプ時には、マップ部51、52が、メモリ装置5内の全ての物理アドレスを対象とする論理アドレスをそれぞれのOSに設定し、メモリダンプ実施部35、41がメモリ装置5内の全ての物理アドレスをアクセス可能な状態にする。
 マップ部51、52は、アクセス制御部の例である。
 また、メモリ装置5には、各プロセッサコアのMMUが論理アドレス空間と物理アドレス空間を変換するためのテーブルである、ページテーブルを備える。
 プロセッサコア1のMMU18は、OS21用領域44内にあるページテーブル54を参照するようにマップ部50にて設定される。
 ページテーブル54内で設定されている論理アドレス空間と物理アドレス空間の変換情報は、OS21の各要素のコード(メモリダンプ実施部290、コア連携部300など)およびページテーブル54が格納されているOS21用領域44、すなわちメモリ装置5全体を参照可能にするよう設定される。
 これにより、プロセッサコア1では、メモリ装置5全体を参照可能になる。
 また、プロセッサコア2のMMU19は、OS22用領域45内にあるページテーブル55を参照するようにマップ部51にて設定される。
 ページテーブル55内で設定されている論理アドレス空間と物理アドレス空間の変換情報は、OS22の各要素のコード(メモリダンプ実施部350、コア連携部360など)およびページテーブル55が格納されているOS22用領域45のみを参照可能にするよう設定される。
 これにより、プロセッサコア2では、OS22用領域45のみ参照可能になり、OS21用領域44のメモリダンプ実施部290や、OS23用領域46は参照できない。
 こうすることで、プロセッサコア2内の処理にて、OS21用の領域や、OS23用の領域がデータ破壊されることを防ぐ。
 同様に、プロセッサコア3のMMU20は、OS23用領域46内にあるページテーブル56を参照するようマップ部52にて設定される。
 ページテーブル56内で設定されている論理アドレス空間と物理アドレス空間の変換情報は、OS23の各要素のコード(メモリダンプ実施部410、コア連携部420など)およびページテーブル56が格納されているOS23用領域46のみを参照可能にするよう設定される。
 これにより、プロセッサコア3では、OS23用領域46のみ参照可能になり、OS21用領域44のメモリダンプ実施部290や、OS22用領域45は参照できない。
 こうすることで、プロセッサコア3内の処理にて、OS21用の領域や、OS22用の領域がデータ破壊されることを防ぐ。
 次に、本実施の形態におけるメモリダンプ方式の障害発生時の動作例を、図9、図10内の矢印および図11、図12のフローチャートを用いて説明する。
 なお、図9、図10では、作図上の理由から、プロセッサコア3、メモリ装置5内のOS23用領域46、コンソール装置6の図示を省略している。
 図9~図12では、プロセッサコア2上で動作するOS22に障害が発生し、かつ、OS22のメモリダンプ実施部35のメモリ装置5上のコード・データであるOS22用領域45内のメモリダンプ実施部350のデータが破壊されていた場合の例で説明する。
 まず、OS22動作中に障害が発生すると、OS22の異常検出部34がその異常を検出する(図11のS201)。
 異常が異常検出部34によって検出されると、異常検出部34は、異常の原因特定などの処理をした後、メモリダンプ実施部35にメモリダンプの指示を出す(図9及び図11のS202)。
 メモリダンプ指示を受けたメモリダンプ実施部35は、メモリダンプ実施中に発生するプロセッサコア2の例外を、再度異常検出部34が検出しないように、例外が発生した場合、メモリダンプ異常検出部37が検出するようにプロセッサコア2を設定した後、バックアップメモリ装置8内にあるファイル情報格納領域25からHDD装置7内にあるダンプファイル24の位置情報を取得する(図9及び図11のS203)。
 次にメモリダンプ実施部35は、取得した位置情報を元に、HDD装置7内のダンプファイル24にメモリ装置5の内容を書き込む処理を行う。
 プロセッサコア2では、メモリ装置5のOS22用領域45内にあるページテーブル55を使用してMMU19が動作しているため、OS22のメモリダンプ実施部35は、メモリ装置5のOS22用領域45しかアクセスできないようになっている。
 このため、メモリ装置5の内容を書き込む処理は、以下のようにして行われる。
 まず、メモリダンプ実施部35は、メモリ装置5の物理アドレス空間の先頭ページ(アドレス空間を一定のサイズ(一般的には4Kバイト)で区切った領域)が、OS22用領域45内に存在するかチェックする(図11のS204)。
 これは、ページテーブル55を参照し、プロセッサコア2の論理アドレス空間に、所望の物理アドレスが含まれているか否かで判断される。
 所望の物理アドレスが、OS22用領域45に含まれていない場合(図11のS204でNO)、メモリダンプ実施部35はマップ部51に指示し、物理アドレス空間をプロセッサコア2の論理アドレス空間上(マップ領域57)で参照可能にする(図9及び図11のS205)。
 マップ部51は、物理アドレス空間をプロセッサコア2の論理アドレス空間で参照できるように、MMU19が使用しているページテーブル55を設定する。
 所望の物理アドレスが、OS22用領域45に含まれている場合(図11のS204でYES)は、論理アドレス空間上で物理アドレスが既に参照可能になっているため、マップ部51に指示は出さない。
 OS22用領域へのマップ(図9及び図11のS205)が完了した、または、既に参照可能になっている(図11のS204でYES)場合は、次にメモリダンプ実施部35は、物理アドレス空間の先頭ページに対応する論理アドレス空間のページをダンプファイル24に書き込む(図9及び図11のS206)。
 そして、異常が発生していない(図11のS207でNO)場合は、物理アドレス空間の次のページにてS204からS206の処理を行う。
 ここで、メモリ装置5のOS22用領域45内のメモリダンプ実施部350のデータが破壊されていなければ、メモリダンプ実施部35の動作に支障がないので、物理アドレス空間内のメモリ装置5の内容が全てダンプファイル24に格納された時点で、メモリダンプ実施部35のメモリダンプ処理は正常に終了する。
 しかし、メモリ装置5のOS22用領域45のメモリダンプ実施部350のデータが破壊されていた場合、メモリダンプ実施部35の動作は異常(図11のS207でYES)になり、不正命令実行や不正アクセスにより、プロセッサコア2上で例外が発生する。
 この場合、すでにメモリダンプ実施部35の動作は不正になっているため、再度メモリダンプ実施部35を動作させても、メモリダンプを正常に動作させることができない。
 プロセッサコア2上で例外が発生したことは、メモリダンプ異常検出部37によって検出される(図9及び図11のS208)。
 異常を検出すると、メモリダンプ異常検出部37は、コア連携部36に別プロセッサコアへの通知(メモリダンプの実施要求を含む通知)を指示する(図9及び図11のS209)。
 メモリダンプ異常検出部37から指示を受けたコア連携部36は、送信すべきプロセッサコアを選択する。
 本実施の形態ではプロセッサコア1を、メモリダンプを専用に処理する機能としているので、コア連携部36はプロセッサコア1に送信を行う(図9及び図11のS210)。
 この通知は、プロセッサコア1のコア連携部30が受信する(図12のS211)。
 プロセッサコア1のコア連携部30は、プロセッサコア2のコア連携部36からの通知を受信すると、メモリダンプ実施部29に対し、メモリダンプを指示する(図10及び図12のS212)。
 メモリダンプ実施部29は、バックアップメモリ装置8内にあるファイル情報格納領域25からHDD装置7内にあるダンプファイル24の位置情報を取得し(図10及び図12のS213)、取得した位置情報を元に、HDD装置7内のダンプファイル24にメモリ装置5の内容を書き込む(図10及び図12のS214)。
 メモリ装置5内のOS22用領域45内のメモリダンプ実施部350のデータは破壊されているものの、メモリ装置5内のOS21用領域44のメモリダンプ実施部290の動作には支障がないので、メモリダンプ実施部29のメモリダンプは正常に終了する。
 また、OS21用領域44のページテーブル54により、プロセッサコア1では、論理アドレス空間にメモリ装置5が全て参照可能になっており、マップ部50を呼び出す必要はない。
 メモリダンプ実施部29は、メモリダンプが終了すると、コア連携部30に対し、メモリダンプ終了の通知を行う(図10及び図12のS215)。
 コア連携部30は、通知元であるプロセッサコア2に対し処理完了の通知を行う(図10及び図12のS216)。
 この通知は、プロセッサコア2のコア連携部36が受信する(図11のS217)。
 プロセッサコア2のコア連携部36は、プロセッサコア1のコア連携部30からの通知を受信すると、メモリダンプ異常検出部37に処理完了の通知を行う(図10及び図11のS218)。
 この通知を受けて、メモリダンプ異常検出部37は、異常検出部34に処理完了の通知を行う(図10及び図11のS219)。
 通知を受けた異常検出部34は、メモリ内容が保存されたことにより、装置を停止または再起動する(図10及び図11のS220)。
 以上がこの実施の形態におけるメモリダンプ方式の障害発生時の動作である。
 実施の形態2によるメモリダンプ方式では、論理アドレス空間を物理アドレス空間に変換するMMUを利用し、各プロセッサコアを論理アドレス空間で動作させ、通常の動作を行うプロセッサコアは、そのプロセッサコアが動作しているOSが利用できる特定のメモリ領域だけを参照可能し、メモリダンプを専用に行うプロセッサコアのみメモリ全体を参照できるようにしている。
 また、実施の形態2によるメモリダンプ方式では、1つのプロセッサコアに障害が発生し、そのプロセッサコア上で動作しているOSにて二次記憶装置にメモリ内容を保存している最中に、メモリダンプ実施部内にて異常が発生した時に、メモリダンプを実施しているプロセッサコアにて異常を検出した後、異常を検出したプロセッサコアがメモリダンプ処理専用プロセッサコアにメモリダンプを指示し、メモリダンプ処理専用プロセッサコア上のメモリダンプ実施部にて、二次記憶装置にメモリ内容を保存する。
 このため、実施の形態2によるメモリダンプ方式では、メモリダンプ処理中に障害が発生しても、メモリダンプが確実に実施できる。
 なお、本実施の形態では、通常の動作を行うプロセッサコアは、そのプロセッサコアが動作しているOSが利用できる特定のメモリ領域だけを参照可能であり、メモリダンプを専用に行うプロセッサコアのみメモリ全体を参照できるようにしたので、通常の動作を行うプロセッサコアにて、メモリ内のデータを破壊するような異常状態が発生しても、メモリダンプを専用に行うプロセッサコア上で動作するコードには影響を与えない。
 以上、本実施の形態では、
 各プロセッサコアは、メモリを分割して、各メモリを異なるアドレス空間として管理することができるMMU(Memory Management Unit)を備え、以下の構成要素を含むメモリダンプ方式を説明した。
 (1)1つのプロセッサコア上のOSに以下の構成要素を持つ
  (a)MMUを使って、メモリ全体をアクセス可能にする手段
 (2)上記(1)以外のプロセッサコア上のOSに以下の構成要素を持つ
 (a)MMUを使って、メモリの特定の領域のみアクセス可能にする手段
 (b)障害発生時に、他メモリの内容をアクセス可能にする手段
 (c)二次記憶装置に保存する間に異常が発生した場合、上記(1)のプロセッサコアに通知を行う手段
 実施の形態3.
 本実施の形態に係るメモリダンプ方式では、メモリダンプ処理専用プロセッサコアが、定期的に他プロセッサコアの状態を監視し、異常を検出した場合、メモリダンプ処理専用プロセッサコア自身が、異常が検出されたプロセッサコアを停止し、メモリダンプを実施する。
 本実施の形態に係るメモリダンプ方式によれば、障害が発生したプロセッサコア自身がハングアップ等で動作できない場合でも、メモリダンプを確実に実施できる。
 実施の形態3では、H/W構成は実施の形態2と同じであり、図7で示される。
 図13は、図7で示したH/W構成に対する、ソフトウェア(S/W)の構成例を示す図である。
 実施の形態3では、プロセッサコア1のOS21に、プロセッサコア2のOS22およびプロセッサコア3のOS23の動作状況を監視するための監視部60が存在する。
 監視部60は、後述するカウンタのカウンタ値を監視する。このカウンタ値は、他のプロセッサコアが正常に動作している間は所定の周期で更新される。
 そして、監視部60は、カウンタ値の更新が停止した場合に、他のプロセッサコアに障害が発生したと判断する。
 また、プロセッサコア2のOS22に、OS22が問題なく動作していることを示す応答部61が存在し、プロセッサコア3のOS23にも同様な応答部62(不図示)が存在する。
 また、メモリ装置5には、OS22が動作していることを示すために応答部61がカウンタ値を更新するカウンタ63と、OS23が動作していることを示すために応答部62がカウンタ値を更新するカウンタ64が存在する。
 つまり、応答部61は、OS22が正常に動作している間はカウンタ63のカウンタ値を所定の周期で更新して、プロセッサコア2が正常に動作していることを監視部60に示す。
 同様に、応答部62は、OS23が正常に動作している間はカウンタ64のカウンタ値を所定の周期で更新して、プロセッサコア3が正常に動作していることを監視部60に示す。
 応答部61、62は、カウンタ値更新部の例である。
 なお、実施の形態3では、プロセッサコア2およびプロセッサコア3の異常検出部にて異常が検出された場合の動作は、実施の形態2と同じであり、図9、図10の矢印および図11、図12のフローチャートで示される。
 次に、本実施の形態におけるメモリダンプ方式の障害発生時の動作例を説明する。
 具体的には、プロセッサコアがハングアップ、すなわち、突然動作できなくなる状態に陥ったケースでの動作例を図14、図15内の矢印および図16、図17のフローチャートを用いて説明する。
 なお、図14、図15では、作図上の理由から、プロセッサコア3、メモリ装置5内のOS23用領域46、コンソール装置6の図示を省略している。
 図14~図17では、プロセッサコア2がハングアップする場合の例を説明する。
 まず、プロセッサコア2およびプロセッサコア3が問題なく動作している状態でのプロセッサコア2およびプロセッサコア3の動作を説明する。
 プロセッサコア2が問題なく動作している場合では、図16のS301にてプロセッサコア2のOS22は通常の動作を実施している。
 そして一定時間が経過しているかチェックされる(図16のS302)。
 このチェックは、OS内部時刻の更新状況を監視することや、時刻変化によって発生する割り込みによって起動されてもよい。
 S302にて、一定時間が経過していない場合(図16のS302でNO)は、S301に戻って通常の動作を継続する。
 S302にて一定時間が経過している場合(図16のS302でYES)、OS22では応答部61が動作し、メモリ装置5のOS22用領域45にあるカウンタ63を1加算する(図14及び図17のS303)。
 これにより、カウンタ63は一定時間毎に加算され、監視部60はカウンタ63を見ることで、OS22が動作していることが確認できる。
 S303にてカウンタ63を加算した後は、OS22は、S301に戻って通常の動作を継続する。
 以上がプロセッサコア2の動作である。
 なお、プロセッサコア3における動作は、図14及び図16に示したプロセッサコア2の動作(S301~S303)と同様であり、説明を省略する。
 次に、プロセッサコア1の動作を説明する。
 プロセッサコア1では、まずOS21の監視部60が、一定時間経過したをチェックする(図17のS310)。
 一定時間経過していない場合(S310でNO)は、まだ、プロセッサコア2およびプロセッサコア3のチェックを行う必要がないので、最初に戻る。
 S310にて一定時間経過している場合(S310でYES)、カウンタ63およびカウンタ64がチェックされる(図14及び図17のS311)。
 図14では、監視部60がOS22用領域45のカウンタ63をチェックすることのみが図示されているが、監視部60は同時にOS23用領域46のカウンタ64もチェックする。
 ここで、一定時間経過時にカウンタ63およびカウンタ64の値が正しく更新(カウントアップ)されている場合(図17のS311でYES)、プロセッサコア2およびプロセッサコア3が正常に動作していると判断し、最初に戻る。
 プロセッサコア2が動作できていない場合は、OS22の応答部61にてカウンタ63の更新が実施されないため、監視部60によるS311でのカウンタ63の更新チェックにて、監視部60はOS22が動作できていない、すなわち異常が発生したと判断される(S312でNO)。
 これにより、監視部60は、メモリダンプ実施部29にメモリダンプを指示する(図14及び図17のS313)。
 メモリダンプ実施部29は、監視部60からの指示に基づき、バックアップメモリ装置8内にあるファイル情報格納領域25からHDD装置7内にあるダンプファイル24の位置情報を取得し(図15及び図17のS314)、取得した位置情報を元に、HDD装置7内のダンプファイル24にメモリ装置5の内容を書き込む(図15及び図17のS315)。
 プロセッサコア2は動作できていないもののメモリ装置5内のOS21用領域44のメモリダンプ実施部290の動作には支障がないので、メモリダンプ実施部29のメモリダンプは正常に終了する。
 また、OS21用領域44のページテーブル54により、プロセッサコア1では、論理アドレス空間にメモリ装置5が全て参照可能になっており、マップ部50を呼び出す必要はない。
 メモリダンプ実施部29は、メモリダンプが終了すると、監視部60に対し、メモリダンプ終了の通知を行う(図15及び図17のS316)。
 通知を受けた監視部60は、メモリ内容が保存されたことにより、装置を停止または再起動する(図15及び図17のS317)。
 以上がこの実施の形態におけるメモリダンプ方式の障害発生時の動作である。
 実施の形態3によるメモリダンプ方式では、通常の動作を行うプロセッサコアには、一定時間毎にメモリ内のデータを更新する手段を設け、メモリダンプを専用に行うプロセッサコアには、そのデータを一定時間毎に参照し、データが更新されていない場合、メモリダンプの実施を指示する手段を設けている。
 このため、本実施の形態によるメモリダンプ方式では、通常の動作を行うプロセッサコアにてH/W的にハングアップ状態となり、OSの異常検知部が動作できない状態でも、メモリダンプが確実に実施できる。
 なお、本実施の形態では、通常の動作を行うプロセッサコアが正常に動作しているか否かについて、メモリ内のデータを定期的に更新することで判断している。
 これを、プロセッサコア間通信を使い、通常の動作を行うプロセッサコアは、定期的に、メモリダンプを行うプロセッサコアに通知割込みを発生させ、メモリダンプを行うプロセッサコアは、定期的な割込みが来ない場合に、正常に動作していないと判断し、メモリダンプを実施するようにしても、同様なメモリダンプ方式を得ることができる。
 以上、本実施の形態では、
 各プロセッサコアに、以下の構成要素を含むメモリダンプ方式を説明した。
 (1)実施の形態2に記載のメモリダンプを専用に処理するプロセッサコア上のOSに以下の構成要素を持つ。
  (a)下記の(2)(a)をチェックし、一定時間内に値が更新されない場合、メモリ内容を二次記憶装置に保存する手段
 (2)上記の(1)のプロセッサコア以外のプロセッサコア上のOSに以下の構成要素を持つ。
  (a)メモリ内の、自身がアクセス可能な領域に存在するカウンタ
  (b)メモリダンプ中に、カウンタを一定時間毎に更新する手段
 実施の形態4.
 本実施の形態では、複数のプロセッサコアと、論理アドレス空間を物理アドレス空間に変換するMMUを持ったハードウェア構成を備え、その上で複数のオペレーティングシステム(OS)およびアプリケーション(AP)が動作している構成におけるメモリダンプ方式を説明する。
 より具体的には、本実施の形態に係るメモリダンプ方式では、各プロセッサコアは、各自が使用するメモリ領域のみ、論理アドレス空間として参照できるようにし、1つのプロセッサコアに障害が発生し、そのプロセッサコア上で動作しているOS内で二次記憶装置にメモリ内容を保存している最中に、メモリダンプ処理において異常が発生した場合に、メモリダンプを実施しているプロセッサコアにて異常を検出した後、異常を検出したプロセッサコアが別のプロセッサコアにメモリダンプを指示し、別プロセッサコア上のOSが、全メモリを論理アドレス空間として参照できるようにしてから、メモリダンプを実施する。
 本実施の形態に係るメモリダンプ方式によれば、メモリダンプ処理専用プロセッサコアを持つことなく、メモリダンプを確実に実施できる。
 実施の形態4では、H/W構成は実施の形態2と同じであり、図7で示される。
 図18は、図7で示したH/W構成に対する、ソフトウェア(S/W)の構成例を示す図である。
 実施の形態4では、実施の形態2と異なり、プロセッサコア1はメモリダンプを専用に処理する構成ではない。
 このため、プロセッサコア1のOS21には、実施の形態1と同様に、メモリダンプ設定部27、異常検出部28、メモリダンプ異常検出部31を備える。
 プロセッサコア2のOS22およびプロセッサコア3のOS23の構成は、実施の形態2と同じである。
 また、メモリ装置5の構成も、実施の形態2と異なり、OS21用領域44は、メモリ装置5全体を示すようにはならず、プロセッサコア1のMMU18が使用するページテーブル54は、OS22用領域45やOS23用領域46とは重複せず、OS21用領域44のみを参照できるように設定される。
 つまり、本実施の形態では、プロセッサコア1には、メモリ装置5の一部の物理アドレスをを対象とする論理アドレスが割り当てられ、メモリダンプ時以外は、プロセッサコア1は、MMU18を用いて、割り当てられている論理アドレスが対象としている一部の物理アドレスにのみアクセス可能である。
 また、メモリ装置5内の各OS用領域には、OS用領域外のメモリ領域を各OS内の領域(論理アドレス空間)で参照するための領域を持っている。
 OS21用領域44にはマップ領域70を、OS22用領域45にはマップ領域71を、OS23用領域46にはマップ領域72を、それぞれ備える。
 なお、本実施の形態では、メモリダンプ実施部29、35、41が、カウンタ値更新部の例でもある。
 また、本実施の形態では、マップ部51、52の他、マップ部50もアクセス制御部の例となる。
 次に、本実施の形態におけるメモリダンプ方式の障害発生時の動作について、図19、図20内の矢印および図21、図22のフローチャートを用いて説明する。
 なお、図19、図20では、作図上の理由から、プロセッサコア3、メモリ装置5内のOS23用領域46、コンソール装置6の図示を省略している。
 図19~図22では、プロセッサコア2上で動作するOS22に障害が発生し、かつ、OS22のメモリダンプ実施部35のメモリ装置5上のコード・データであるOS22用領域45内のメモリダンプ実施部350のデータが破壊されていた場合の例で説明する。
 まず、OS22動作中に障害が発生すると、OS22の異常検出部34がその異常を検出する(図21のS401)。
 異常が異常検出部34によって検出されると、異常検出部34は、異常の原因特定などの処理をした後、メモリダンプ実施部35にメモリダンプの指示を出す(図19及び図21のS402)。
 メモリダンプ指示を受けたメモリダンプ実施部35は、メモリダンプ実施中に発生するプロセッサコア2の例外を、再度異常検出部34が検出しないように、例外が発生した場合、メモリダンプ異常検出部37が検出するようにプロセッサコア2を設定した後、バックアップメモリ装置8内にあるファイル情報格納領域25からHDD装置7内にあるダンプファイル24の位置情報を取得する(図19及び図21のS403)。
 次にメモリダンプ実施部35は、取得した位置情報を元に、HDD装置7内のダンプファイル24にメモリ装置5の内容を書き込む処理を行う。
 プロセッサコア2では、メモリ装置5のOS22用領域45内にあるページテーブル55を使用してMMU19が動作しているため、OS22のメモリダンプ実施部35は、メモリ装置5のOS22用領域45しかアクセスできないようになっている。
 このため、メモリ装置5の内容を書き込む処理は、以下のようにして行われる。
 まず、メモリダンプ実施部35は、メモリ装置5の物理アドレス空間の先頭ページ(アドレス空間を一定のサイズ(一般的には4Kバイト)で区切った領域)が、OS22用領域45内に存在するかチェックする(図21のS404)。
 これは、ページテーブル55を参照し、プロセッサコア2の論理アドレス空間に、所望の物理アドレスが含まれているか否かで判断される。
 所望の物理アドレスが、OS22用領域45に含まれていない場合(図21のS404でNO)、メモリダンプ実施部35はマップ部51に指示し、物理アドレス空間をプロセッサコア2の論理アドレス空間上(マップ領域71)で参照可能にする(図19及び図21のS405)。
 マップ部51は、物理アドレス空間をプロセッサコア2の論理アドレス空間で参照できるように、MMU19が使用しているページテーブル55を設定する。
 なお、図19では、先頭ページ及びOS21用領域44をマップ領域71に設定している例を示しているが、他の領域についても同様の処理を繰り返すと、メモリ装置5の全領域が参照可能となる。
 所望の物理アドレスが、OS22用領域45に含まれている場合(図21のS404でYES)は、論理アドレス空間上で物理アドレスが既に参照可能になっているため、マップ部51に指示は出さない。
 OS22用領域45へのマップ(図19及び図21のS405)が完了した、または、既に参照可能になっている(図21のS404でYES)場合、次にメモリダンプ実施部35は、物理アドレス空間の先頭ページに対応する論理アドレス空間のページをダンプファイル24に書き込む(図19及び図21のS406)。
 そして、異常が発生していない(図21のS407でNO)場合は、物理アドレス空間の次のページにてS404からS406の処理を行う。
 ここで、メモリ装置5のOS22用領域45内のメモリダンプ実施部350のデータが破壊されていなければ、メモリダンプ実施部35の動作に支障がないので、物理アドレス空間内のメモリ装置5の内容が全てダンプファイル24に格納された時点で、メモリダンプ実施部35のメモリダンプ処理は正常に終了する。
 しかし、メモリ装置5のOS22用領域45のメモリダンプ実施部350のデータが破壊されていた場合、メモリダンプ実施部35の動作は異常(図21のS407でYES)になり、不正命令実行や不正アクセスにより、プロセッサコア2上で例外が発生する。
 この場合、すでにメモリダンプ実施部35の動作は不正になっているため、再度メモリダンプ実施部35を動作させても、メモリダンプを正常に動作させることができない。
 プロセッサコア2上で例外が発生したことは、メモリダンプ異常検出部37によって検出される(図19及び図21のS408)。
 異常を検出すると、メモリダンプ異常検出部37は、コア連携部36に別プロセッサコアへの通知(メモリダンプの実施要求を含む通知)を指示する(図19及び図21のS409)。
 メモリダンプ異常検出部37から指示を受けたコア連携部36は、送信すべきプロセッサコアを選択する。
 本実施の形態ではプロセッサコア1に送信を行う(図19及び図21のS410)。
 プロセッサコアの選択については、実施の形態1と同様に特定のプロセッサコアを予め決めておく方法や、各プロセッサコアの負荷状況をメモリ装置5内に記録するようにし、一番負荷が低いプロセッサコアを選択する、などの方法がある。
 本実施の形態では、このような方法により、プロセッサコア2のコア連携部36は、プロセッサコア1を選択し、プロセッサコア1に通知の送信を行う(図19及び図21のS410)。
 この通知は、プロセッサコア1のコア連携部30が受信する(図22のS411)。
 プロセッサコア1のコア連携部30は、プロセッサコア2のコア連携部36からの通知を受信すると、メモリダンプ実施部29に対し、メモリダンプを指示する(図20及び図22のS412)。
 メモリダンプ実施部29は、バックアップメモリ装置8内にあるファイル情報格納領域25からHDD装置7内にあるダンプファイル24の位置情報を取得し(図20及び図22のS413)、取得した位置情報を元に、HDD装置7内のダンプファイル24にメモリ装置5の内容を書き込む処理を行う。
 プロセッサコア1では、メモリ装置5のOS21用領域44内にあるページテーブル54を使用してMMU18が動作しているため、OS21のメモリダンプ実施部29は、メモリ装置5のOS21用領域44しかアクセスできないようになっている。
 このため、メモリ装置5の内容を書き込む処理は、以下のようにして行われる。
 まず、メモリダンプ実施部29は、メモリ装置5の物理アドレス空間の先頭ページ(アドレス空間を一定のサイズ(一般的には4Kバイト)で区切った領域)が、OS21用領域44内に存在するかチェックする(図22のS414)。
 これは、ページテーブル54を参照し、プロセッサコア1の論理アドレス空間に、所望の物理アドレスが含まれているか否かで判断される。
 所望の物理アドレスが、OS21用領域44に含まれていない場合(図22のS414でNO)は、メモリダンプ実施部29はマップ部50に指示し、物理アドレス空間をプロセッサコア1の論理アドレス空間上(マップ領域70)で参照可能にする(図20及び図22のS415)。
 マップ部50は、物理アドレス空間をプロセッサコア1の論理アドレス空間で参照できるように、MMU18が使用しているページテーブル54を設定する。
 なお、図20では、先頭ページ及びOS22用領域45をマップ領域70に設定している例を示しているが、他の領域についても同様の処理を繰り返すと、メモリ装置5の全領域が参照可能となる。
 所望の物理アドレスが、OS21用領域44に含まれている場合(図22のS414でYES)は、論理アドレス空間上で物理アドレスが既に参照可能になっているため、マップ部50に指示は出さない。
 OS21用領域44へのマップ(図20及び図22のS415)が完了した、または、既に参照可能になっている(図22のS414でYES)場合は、次にメモリダンプ実施部29は、物理アドレス空間の先頭ページに対応する論理アドレス空間のページをダンプファイル24に書き込む(図20及び図22のS416)。
 そして、メモリダンプがメモリ装置5のすべての領域に対して行われたかチェック(図22のS417)し、すべての領域に対して行われていない場合(図22のS417でNO)は、物理アドレス空間の次のページにてS414からS416の処理を行う。
 メモリ装置5内のOS22用領域45内のメモリダンプ実施部350のデータは破壊されているものの、メモリ装置5内のOS21用領域44のメモリダンプ実施部290の動作には支障がないので、メモリダンプ実施部29のメモリダンプは正常に終了する。
 メモリダンプ実施部29は、メモリ装置5の全ての領域に対してメモリダンプが終了すると(図22のS417でYES)、コア連携部30に対し、メモリダンプ終了の通知を行う(図20及び図22のS418)。
 コア連携部30は、通知元であるプロセッサコア2に対し処理完了の通知を行う(図20及び図22のS419)。
 この通知は、プロセッサコア2のコア連携部36が受信する(図21のS420)。
 プロセッサコア2のコア連携部36は、プロセッサコア1のコア連携部30からの通知を受信すると、メモリダンプ異常検出部37に処理完了の通知を行う(図20及び図21のS421)。
 この通知を受けて、メモリダンプ異常検出部37は、異常検出部34に処理完了の通知を行う(図20及び図21のS422)。
 通知を受けた異常検出部34は、メモリ内容が保存されたことにより、装置を停止または再起動する(図20及び図21のS423)。
 以上がこの実施の形態におけるメモリダンプ方式の障害発生時の動作である。
 実施の形態4によるメモリダンプ方式では、論理アドレス空間を物理アドレス空間に変換するMMUを利用し、各プロセッサコアを論理アドレス空間で動作させ、そのプロセッサコアが動作しているOSが利用できる特定のメモリ領域だけを参照できるようにしている。
 また、実施の形態4によるメモリダンプ方式では、1つのプロセッサコアに障害が発生し、そのプロセッサコア上で動作しているOSにて二次記憶装置にメモリ内容を保存している最中に、メモリダンプ実施部内にて異常が発生した時に、メモリダンプを実施しているプロセッサコアにて異常を検出した後、異常を検出したプロセッサコアが他のプロセッサコアにメモリダンプを指示し、指示を受けたプロセッサコア上のメモリダンプ実施部は、そのプロセッサコアが動作する論理アドレス空間に、そのプロセッサコアが参照できなかったメモリ領域を参照できるようにページテーブルを設定し、二次記憶装置にメモリ内容を保存する。
 このため、実施の形態4によるメモリダンプ方式では、メモリダンプ処理中に障害が発生しても、メモリダンプを専用に処理するプロセッサコアを必要とせずに、メモリダンプが確実に実施できる。
 以上、本実施の形態では、
 各プロセッサコアは、メモリを分割して、各メモリを異なるアドレス空間として管理することができるMMU(Memory Management Unit)を備え、以下の構成要素を含むメモリダンプ方式を説明した。
 (1)各プロセッサコア上のOSに以下の構成要素を持つ。
  (a)MMUを使って、メモリの特定の領域のみアクセス可能にする手段
  (b)障害発生時に、他メモリの内容をアクセス可能にする手段。
 実施の形態5.
 本実施の形態に係るメモリダンプ方式では、あるプロセッサコアにおいてメモリダンプ処理を行っている際に異常が発生した際に、障害が発生したプロセッサコアが別のプロセッサコアにメモリダンプを指示し、障害が発生したプロセッサコアが別プロセッサコアのメモリダンプを監視し、一定時間内にメモリダンプ処理が終了しない場合は、その別プロセッサコアを停止させ、もう1つの別のプロセッサコアにメモリダンプを指示する。
 実施の形態5では、H/W構成は実施の形態1と同じであり、図1で示される。
 図23は、図1で示したH/W構成に対する、ソフトウェア(S/W)の構成例を示す図である。
 実施の形態5では、他プロセッサコアにて実施されているメモリダンプ処理を監視するために、OS21には監視部80が、OS22には監視部81が、OS23には監視部82(不図示)がそれぞれ備わる。
 また、メモリ装置5には、各プロセッサコアでのメモリダンプ処理にて、メモリダンプが動作し続けることを示すカウンタとして、OS21用領域44にカウンタ83が、OS22用領域45にカウンタ84が、OS23用領域にカウンタ85が、それぞれ備わる。
 それ以外の構成は、実施の形態1と同じである。
 なお、本実施の形態においても、コア連携部30、コア連携部36及びコア連携部42は、それぞれ、障害検出部、メモリダンプ完了通知部及びメモリダンプ要求部の例に相当する。
 また、本実施の形態においても、メモリダンプ異常検出部31、メモリダンプ異常検出部37及びメモリダンプ異常検出部43は、メモリダンプ要求部の例に相当する。
 次に、本実施の形態におけるメモリダンプ方式の障害発生時の動作について、図24、図25、図26の矢印および図27、図28、図29のフローチャートを用いて説明する。
 なお、図24、図25、図26では、作図上の理由から、プロセッサコア3、メモリ装置5内のOS23用領域46、コンソール装置6の図示を省略している。
 図24~図29では、プロセッサコア2上で動作するOS22に障害が発生し、かつ、OS22のメモリダンプ実施部35のメモリ装置5上のコード・データであるOS22用領域45内のメモリダンプ実施部350のデータが破壊されていた場合の例を説明する。
 まず、OS22動作中に障害が発生すると、OS22の異常検出部34がその異常を検出する(図27のS501)。
 異常検出部34は、異常の原因特定などの処理をした後、メモリダンプ実施部35にメモリダンプの指示を出す(図24及び図27のS502)。
 メモリダンプ指示を受けたメモリダンプ実施部35は、メモリダンプ実施中に発生するプロセッサコア2の例外を、再度異常検出部34が検出しない(検出すると、再度メモリダンプ指示が発生するので)ように、例外が発生した場合、メモリダンプ異常検出部37が検出するようにプロセッサコア2を設定した後、バックアップメモリ装置8内にあるファイル情報格納領域25からHDD装置7内にあるダンプファイル24の位置情報を取得する(図24及び図27のS503)。
 次にメモリダンプ実施部35は、取得した位置情報を元に、HDD装置7内のダンプファイル24にメモリ装置5の内容を書き込む(図24及び図27のS504)。
 ここで、メモリ装置5のOS22用領域45内のメモリダンプ実施部350のデータが破壊されていなければ、メモリダンプ実施部35の動作に支障がないので、メモリダンプ実施部35のメモリダンプ処理は正常に終了する。
 しかし、メモリ装置5のOS22用領域45のメモリダンプ実施部350のデータが破壊されていた場合、メモリダンプ実施部35の動作は不定になり、不正命令実行や不正アクセスにより、プロセッサコア2上で例外が発生する。
 プロセッサコア2上で例外が発生したことは、メモリダンプ異常検出部37によって検出される(図24及び図27のS505)。
 異常を検出すると、メモリダンプ異常検出部37は、コア連携部36に別プロセッサコアへの通知(メモリダンプの実施要求を含む通知)を指示する(図24及び図27のS506)。
 メモリダンプ異常検出部37から指示を受けたコア連携部36は、送信すべきプロセッサコアを選択する。
 本実施の形態ではプロセッサコア1に通知の送信を行う(図24及び図27のS507)。
 プロセッサコア2のコア連携部36は、プロセッサコア1を選択し、プロセッサコア1へ通知を行う。
 この通知は、プロセッサコア1のコア連携部30が受信する(図29のS508)。
 プロセッサコア1のコア連携部30は、プロセッサコア2のコア連携部36からの通知を受信すると、メモリダンプ実施部29に対し、メモリダンプを指示する(図25及び図28のS509)。
 メモリダンプ実施部29は、バックアップメモリ装置8内にあるファイル情報格納領域25からHDD装置7内にあるダンプファイル24の位置情報を取得し(図25及び図28のS510)、取得した位置情報を元に、HDD装置7内のダンプファイル24にメモリ装置5の内容を書き込む。
 この処理は、以下のようにして行われる。
 まず、メモリダンプ実施部29は、メモリ装置5の先頭から1ページ分(4KB)をダンプファイル24に保存する(図25及び図28のS511)。
 そしてメモリダンプ実施部29は、メモリ装置5にあるOS21用領域44のカウンタ83を1加算する(図25及び図28のS512)。
 次に、メモリダンプ実施部29は、メモリダンプがメモリ装置5の全ての領域に対して終了したかチェックする(図29のS513)。
 まだメモリダンプが全ての領域に対して終了していない場合(図29のS513でNO)、メモリ装置5の次のページに対しメモリダンプを行い(図25及び図28のS511)、カウンタ83を再度1加算する(図25及び図28のS512)。
 これをメモリ装置5全体に対して実施する。
 メモリダンプがメモリ装置5の全ての領域に対して終了した場合(図29のS513でYES)、プロセッサコア1は処理を終了する。
 メモリ装置5内のOS22用領域45内のメモリダンプ実施部350のデータは破壊されているものの、メモリ装置5内のOS21用領域44のメモリダンプ実施部290の動作には支障がないので、メモリダンプ実施部29のメモリダンプは正常に終了する。
 S507にて、プロセッサコア2のコア連携部36がプロセッサコア1への通知を行うと、プロセッサコア2のメモリダンプ異常検出部37は監視部81に監視の開始を通知する(図26及び図28のS514)。
 通知を受けた監視部81は、まず、一定時間経過したかチェックする(図28のS515)。
 一定時間が経過していなければ(S515でNO)、監視部81は、時間が経過するまで待つ。
 S515にて一定時間が経過していることが判明した場合(S515でYES)、監視部81は、プロセッサコア1のメモリダンプ実施部29が、S512にて更新しているメモリ装置5のOS21用領域44内にあるカウンタ83を参照し、値が更新されているかチェックする(図26及び図28のS516)。
 カウンタ83の内容は、プロセッサコア1のメモリダンプ実施部29にて、1ページ分のメモリダンプを実施する毎に1加算するようになっているので、メモリダンプ実施部29の動作に支障がなければ、監視部81がカウンタを参照する毎に値は更新されている。
 更新されている場合(S516でYES)、監視部81は、カウンタ83の値から、メモリダンプが終了したかチェックする(図28のS517)。
 プロセッサコア1のメモリダンプ実施部29では、1ページ(4KB)毎にカウンタ83を1加算しているので、メモリ装置5全体でメモリダンプが実施されたときのカウンタ値は、
 カウンタ83の値=メモリ実装量÷4KB
にて算出でき、カウンタ83がこの値になった時、メモリダンプがメモリ装置5全体に対し終了したと判断することができる。
 メモリ装置5全体に対し、まだメモリダンプが終了していない場合(S517でNO)、S515に戻り、再度一定時間待って(S515)、カウンタ83の値が更新されたかをチェックする(S516)。
 S517にて、カウンタ83の値が、メモリ装置5全体に対してメモリダンプを実施したことを意味する値になった時、監視部81は、メモリダンプ異常検出部37に、処理完了の通知を行う(図26及び図28のS518)。
 通知を受けたメモリダンプ異常検出部37は、異常検出部34に処理完了の通知を行う(図26及び図28のS519)。
 通知を受けた異常検出部34は、メモリ内容が保存されたことにより、装置を停止または再起動する(図26及び図28のS520)。
 S516にて、カウンタ83の値が更新されていない場合(S516でNO)、監視部81は、メモリダンプ異常検出部37にメモリダンプ処理が異常であることを意味する通知を行う(図26のS522)。
 メモリダンプ異常検出部37は、異常情報をバックアップメモリ装置8内に保存するなどし、異常の記録をした後、プロセッサコア1の停止を行う(図28のS521)。
 これは、コア連携部36を用い、通常のプロセッサコア間通信とは別系統の通知を行うことで、プロセッサコア1で停止指示が来たことを判断できるようにする。
 メモリダンプ異常検出部37は、これにより、プロセッサコア1のメモリダンプは正常にできなかったと判断し、S506に戻り、別のプロセッサコア(プロセッサコア3)に、コア連携部36を介して、メモリダンプ指示を行う。
 これにより、プロセッサコア3のメモリダンプ実施部41にてメモリダンプが実施される。以上がこの実施の形態におけるメモリダンプ方式の障害発生時の動作である。
 実施の形態5によるメモリダンプ方式では、各プロセッサコア上にて、他プロセッサコアのメモリダンプ処理を監視する監視部を設けるとともに、各プロセッサコアでのメモリダンプ処理中には、メモリダンプ処理が正常に動作していることを意味するカウンタを設け、監視部は、そのカウンタを一定時間毎に参照し、値が更新されていない場合、異常と判断し、別のプロセッサコアにメモリダンプを実施する。
 このため、あるプロセッサコアにおけるメモリダンプ処理にて異常が発生し、別プロセッサコアにてメモリダンプを実施した際に、別プロセッサコアのメモリダンプ処理でもハングアップするような状態に陥るような状況になっても、メモリダンプが確実に実施できる、メモリダンプ方式を得ることができる。
 以上、本実施の形態では、
 各プロセッサコアに、以下の構成要素を含むメモリダンプ方式を説明した。
 (1)各プロセッサコア上のOSに以下の構成要素を持つ。
  (a)メモリ内に存在するカウンタ
  (b)メモリダンプ中に、カウンタを一定時間毎に更新する手段
  (c)二次記憶装置に保存する間に異常が発生し、他プロセッサコアにメモリダンプを通知した後、カウンタ値をチェックし、一定時間内に値が更新されない場合、別プロセッサコアにメモリダンプを通知する手段
 1 プロセッサコア、2 プロセッサコア、3 プロセッサコア、4 バス、5 メモリ装置、6 コンソール装置、7 HDD装置、8 バックアップメモリ装置、9 演算処理部、10 演算処理部、11 演算処理部、12 キャッシュ、13 キャッシュ、14 キャッシュ、15 プロセッサコア間通信機能、16 プロセッサコア間通信機能、17 プロセッサコア間通信機能、18 MMU、19 MMU、20 MMU、21 OS、22 OS、23 OS、24 ダンプファイル、25 ファイル情報格納領域、26 OS初期化部、27 メモリダンプ設定部、28 異常検出部、29 メモリダンプ実施部、30 コア連携部、31 メモリダンプ異常検出部、32 OS初期化部、33 メモリダンプ設定部、34 異常検出部、35 メモリダンプ実施部、36 コア連携部、37 メモリダンプ異常検出部、44 OS21用領域、45 OS22用領域、46 OS23用領域、50 マップ部、51 マップ部、54 ページテーブル、55 ページテーブル、56 ページテーブル、60 監視部、61 応答部、63 カウンタ、64 カウンタ、70 マップ領域、71 マップ領域、72 マップ領域、80 監視部、81 監視部、83 カウンタ、84 カウンタ、85 カウンタ、290 メモリダンプ実施部、300 コア連携部、350 メモリダンプ実施部、360 コア連携部、410 メモリダンプ実施部、420 コア連携部。

Claims (16)

  1.  メモリ装置のメモリダンプを行う他のプロセッサ装置と接続され、前記メモリ装置を前記他のプロセッサ装置と共有しているプロセッサ装置であって、
     前記他のプロセッサ装置においてメモリダンプが正常に行われていないことを検出する障害検出部と、
     前記障害検出部により前記他のプロセッサ装置においてメモリダンプが正常に行われていないことが検出された場合に、前記他のプロセッサ装置に代わって、前記メモリ装置のメモリダンプを行うメモリダンプ実施部とを有することを特徴とするプロセッサ装置。
  2.  前記障害検出部は、
     前記他のプロセッサ装置からメモリダンプが正常に行われていない旨の通知を受信し、前記他のプロセッサ装置においてメモリダンプが正常に行われていないことを検出することを特徴とする請求項1に記載のプロセッサ装置。
  3.  前記プロセッサ装置は、更に、
     前記他のプロセッサ装置が正常に動作している間は前記他のプロセッサ装置により所定の周期で更新されるカウンタ値を監視し、前記カウンタ値の更新が停止した場合に、前記他のプロセッサ装置が正常に動作していないと判断し、前記メモリダンプ実施部に前記メモリ装置のメモリダンプを行うよう指示する監視部を有し、
     前記メモリダンプ実施部は、
     前記監視部からの指示に基づき、前記メモリ装置のメモリダンプを行うことを特徴とする請求項1又は2に記載のプロセッサ装置。
  4.  前記プロセッサ装置は、更に、
     前記メモリダンプ実施部によるメモリダンプが正常に完了した場合に、前記他のプロセッサ装置に前記メモリダンプ実施部によるメモリダンプが正常に完了したことを通知するメモリダンプ完了通知部を有することを特徴とする請求項1~3のいずれかに記載のプロセッサ装置。
  5.  前記プロセッサ装置は、
     論理アドレスを前記メモリ装置の物理アドレスに変換するMMU(Memory Management Unit)に接続され、前記メモリ装置内の一部の物理アドレスを対象とする論理アドレスが割り当てられ、メモリダンプ時以外は、前記MMUを用いて、割り当てられている論理アドレスが対象としている一部の物理アドレスにのみアクセス可能な他のプロセッサ装置に接続されていることを特徴とする請求項1~4のいずれかに記載のプロセッサ装置。
  6.  前記プロセッサ装置は、
     論理アドレスを前記メモリ装置の物理アドレスに変換するMMU(Memory Management Unit)に接続され、前記メモリ装置内の全ての物理アドレスを対象とする論理アドレスが割り当てられ、
     前記メモリダンプ実施部は、
     前記MMUを用いて、前記メモリ装置内の全ての物理アドレスにアクセスしてメモリダンプを行うことを特徴とする請求項1~5のいずれかに記載のプロセッサ装置。
  7.  前記プロセッサ装置は、
     論理アドレスを前記メモリ装置の物理アドレスに変換するMMU(Memory Management Unit)に接続され、前記メモリ装置内の一部の物理アドレスを対象とする論理アドレスが割り当てられ、メモリダンプ時以外は、前記MMUを用いて、割り当てられている論理アドレスが対象としている一部の物理アドレスにのみアクセス可能であり、
     前記プロセッサ装置は、更に、
     メモリダンプ時に、前記メモリ装置内の全ての物理アドレスを対象とする論理アドレスを設定し、前記メモリダンプ実施部が前記メモリ装置内の全ての物理アドレスをアクセス可能な状態にするアクセス制御部を有し、
     前記メモリダンプ実施部は、
     前記MMUを用いて、前記メモリ装置内の全ての物理アドレスにアクセスしてメモリダンプを行うことを特徴とする請求項1~6のいずれかに記載のプロセッサ装置。
  8.  前記プロセッサ装置は、
     それぞれが前記メモリ装置を共有し、前記メモリ装置のメモリダンプを行う2以上の他のプロセッサ装置に接続されており、
     前記プロセッサ装置は、更に、
     前記メモリダンプ実施部によるメモリダンプの実施状況を監視し、前記メモリダンプ実施部においてメモリダンプが正常に行われていないことを検出した場合に、前記障害検出部によりメモリダンプが正常に行われていないことが検出されたプロセッサ装置以外の他のプロセッサ装置に、前記メモリダンプ実施部の代わりに前記メモリ装置のメモリダンプを実施するよう要求するメモリダンプ要求部を有することを特徴とする請求項1~7のいずれかに記載のプロセッサ装置。
  9.  前記プロセッサ装置は、
     それぞれが前記メモリ装置を共有し、前記メモリ装置のメモリダンプを行う2以上の他のプロセッサ装置に接続されており、
     前記プロセッサ装置は、更に、
     少なくともいずれかの他のプロセッサ装置により更新状況が監視されるカウンタ値を、前記メモリダンプ実施部によりメモリダンプが正常に行われている間は所定の周期で更新するカウンタ値更新部を有することを特徴とする請求項1~8のいずれかに記載のプロセッサ装置。
  10.  他のプロセッサ装置と接続され、前記他のプロセッサ装置とメモリ装置を共有しているプロセッサ装置であって、
     所定の場合に、前記メモリ装置のメモリダンプを行うメモリダンプ実施部と、
     前記メモリダンプ実施部によるメモリダンプの実施状況を監視し、前記メモリダンプ実施部においてメモリダンプが正常に行われていないことを検出した場合に、前記他のプロセッサ装置に、前記メモリダンプ実施部の代わりに前記メモリ装置のメモリダンプを実施するよう要求するメモリダンプ要求部とを有することを特徴とするプロセッサ装置。
  11.  前記プロセッサ装置は、更に、
     前記他のプロセッサ装置により更新状況が監視されるカウンタ値を、所定の周期で更新するカウンタ値更新部を有することを特徴とする請求項10に記載のプロセッサ装置。
  12.  前記プロセッサ装置は、更に、
     前記メモリダンプ要求部が前記他のプロセッサ装置にメモリダンプを実施するよう要求した後に、前記他のプロセッサ装置においてメモリダンプが正常に行われている間は前記他のプロセッサ装置により所定の周期で更新されるカウンタ値を監視し、前記カウンタ値の更新が停止した場合に、前記他のプロセッサ装置においてメモリダンプが正常に行われていないと判断する監視部を有することを特徴とする請求項10又は11に記載のプロセッサ装置。
  13.  前記プロセッサ装置は、
     それぞれが前記メモリ装置を共有し、前記メモリ装置のメモリダンプを行う2以上の他のプロセッサ装置に接続されており、
     前記メモリダンプ要求部は、
     メモリダンプの実施を要求したプロセッサ装置においてメモリダンプが正常に行われていないと前記監視部により判断された場合に、前記監視部によりメモリダンプが正常に行われていないと判断されたプロセッサ装置以外の他のプロセッサ装置に前記メモリ装置のメモリダンプを実施するよう要求することを特徴とする請求項12に記載のプロセッサ装置。
  14.  前記プロセッサ装置は、
     論理アドレスを前記メモリ装置の物理アドレスに変換するMMU(Memory Management Unit)に接続され、前記メモリ装置内の一部の物理アドレスを対象とする論理アドレスが割り当てられ、メモリダンプ時以外は、前記MMUを用いて、割り当てられている論理アドレスが対象としている一部の物理アドレスにのみアクセス可能であり、
     前記プロセッサ装置は、更に、
     メモリダンプ時に、前記メモリ装置内の全ての物理アドレスを対象とする論理アドレスを設定し、前記メモリダンプ実施部が前記メモリ装置内の全ての物理アドレスをアクセス可能な状態にするアクセス制御部を有し、
     前記メモリダンプ実施部は、
     前記MMUを用いて、前記メモリ装置内の全ての物理アドレスにアクセスしてメモリダンプを行うことを特徴とする請求項10~13のいずれかに記載のプロセッサ装置。
  15.  メモリ装置のメモリダンプを行う他のプロセッサ装置と接続され、前記メモリ装置を前記他のプロセッサ装置と共有しているプロセッサ装置に、
     前記他のプロセッサ装置においてメモリダンプが正常に行われていないことを検出する障害検出処理と、
     前記障害検出処理により前記他のプロセッサ装置においてメモリダンプが正常に行われていないことが検出された場合に、前記他のプロセッサ装置に代わって、前記メモリ装置のメモリダンプを行うメモリダンプ実施処理とを実行させることを特徴とするプログラム。
  16.  他のプロセッサ装置と接続され、前記他のプロセッサ装置とメモリ装置を共有しているプロセッサ装置であって、
     所定の場合に、前記メモリ装置のメモリダンプを行うメモリダンプ実施処理と、
     前記メモリダンプ実施処理によるメモリダンプの実施状況を監視し、前記メモリダンプ実施処理においてメモリダンプが正常に行われていないことを検出した場合に、前記他のプロセッサ装置に、前記メモリダンプ実施処理の代わりに前記メモリ装置のメモリダンプを実施するよう要求するメモリダンプ要求処理とを実行させることを特徴とするプログラム。
PCT/JP2010/061436 2010-07-06 2010-07-06 プロセッサ装置及びプログラム WO2012004854A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
PCT/JP2010/061436 WO2012004854A1 (ja) 2010-07-06 2010-07-06 プロセッサ装置及びプログラム
EP10854409.9A EP2592557A4 (en) 2010-07-06 2010-07-06 PROCESSOR AND PROGRAM
JP2012523458A JP5225515B2 (ja) 2010-07-06 2010-07-06 プロセッサ装置及びプログラム
US13/808,754 US8583960B2 (en) 2010-07-06 2010-07-06 Processor device and program
CN201080067910.1A CN102971715B (zh) 2010-07-06 2010-07-06 处理器装置以及程序

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2010/061436 WO2012004854A1 (ja) 2010-07-06 2010-07-06 プロセッサ装置及びプログラム

Publications (1)

Publication Number Publication Date
WO2012004854A1 true WO2012004854A1 (ja) 2012-01-12

Family

ID=45440856

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2010/061436 WO2012004854A1 (ja) 2010-07-06 2010-07-06 プロセッサ装置及びプログラム

Country Status (5)

Country Link
US (1) US8583960B2 (ja)
EP (1) EP2592557A4 (ja)
JP (1) JP5225515B2 (ja)
CN (1) CN102971715B (ja)
WO (1) WO2012004854A1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014010711A (ja) * 2012-06-29 2014-01-20 Fujitsu Ltd ストレージシステムおよびストレージシステムの制御方法
JP2014010710A (ja) * 2012-06-29 2014-01-20 Fujitsu Ltd ストレージシステムおよびストレージシステムの制御方法
JP2014154017A (ja) * 2013-02-12 2014-08-25 Nec Computertechno Ltd 障害ログ採取装置、障害ログ採取方法、及び、障害ログ採取プログラム
KR20140105034A (ko) * 2012-02-13 2014-08-29 미쓰비시덴키 가부시키가이샤 프로세서 시스템
JP7404223B2 (ja) 2020-01-10 2023-12-25 アクロニス・インターナショナル・ゲーエムベーハー 不正なメモリダンプ改変を防ぐシステムおよび方法

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2701063A4 (en) * 2011-04-22 2014-05-07 Fujitsu Ltd INFORMATION PROCESSING DEVICE, METHOD OF PROCESSING INFORMATION PROCESSING DEVICE
US9417947B1 (en) * 2013-03-15 2016-08-16 Twitter, Inc. System and method for robust storage of error event information
WO2014204437A2 (en) * 2013-06-18 2014-12-24 Empire Technology Development Llc Tracking core-level instruction set capabilities in a chip multiprocessor
TWI625622B (zh) * 2013-10-31 2018-06-01 聯想企業解決方案(新加坡)有限公司 在多核心處理器系統與運作多核心處理器系統的電腦實施方法
JP6221702B2 (ja) * 2013-12-05 2017-11-01 富士通株式会社 情報処理装置、情報処理方法、及び情報処理プログラム
US9740551B2 (en) 2014-12-02 2017-08-22 International Business Machines Corporation Enhanced restart of a core dumping application
US10216562B2 (en) * 2016-02-23 2019-02-26 International Business Machines Corporation Generating diagnostic data
US9690508B1 (en) * 2016-09-27 2017-06-27 International Business Machines Corporation PDSE physical dump anonymizer
KR20190037666A (ko) * 2017-09-29 2019-04-08 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
JP2022118489A (ja) 2021-02-02 2022-08-15 キオクシア株式会社 メモリシステム
US11644999B2 (en) * 2021-09-10 2023-05-09 Qualcomm Incorporated Protecting memory regions based on occurrence of an event

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61260338A (ja) * 1985-05-14 1986-11-18 Fujitsu Ltd メモリダンプ方式
JPH03216742A (ja) * 1990-01-20 1991-09-24 Fujitsu Ltd メモリダンプシステム
JPH0830565A (ja) 1994-07-18 1996-02-02 Fuji Xerox Co Ltd マルチプロセッサ装置およびその障害情報収集方法
JP2000148544A (ja) * 1998-11-05 2000-05-30 Nec Eng Ltd ダンプ出力方式
JP2006040001A (ja) * 2004-07-28 2006-02-09 Mitsubishi Heavy Ind Ltd コンピュータシステム及びメモリダンプ方法
WO2007077604A1 (ja) * 2005-12-28 2007-07-12 Fujitsu Limited 情報処理装置及びハングアップ監視方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59148492A (ja) 1983-02-14 1984-08-25 Hitachi Ltd 二重化構成電子交換機の再開処理方式
JPS63200242A (ja) 1987-02-16 1988-08-18 Nec Corp ホツトスタンバイシステムの系切替え方式
JPS6476230A (en) 1987-09-18 1989-03-22 Nec Corp Fault information dumping system in duplexed constitution multi-processor
JPH02257358A (ja) 1989-03-30 1990-10-18 Nec Commun Syst Ltd マルチプロセッサシステムにおける障害情報収集方式
JP2570104B2 (ja) 1993-05-31 1997-01-08 日本電気株式会社 情報処理装置に於ける障害情報採取方式
US5761739A (en) * 1993-06-08 1998-06-02 International Business Machines Corporation Methods and systems for creating a storage dump within a coupling facility of a multisystem enviroment
JPH07234808A (ja) 1994-02-24 1995-09-05 Toshiba Corp システムダンプ採取方式
JPH09330253A (ja) 1996-06-10 1997-12-22 Nec Corp メモリダンプ方法及びそれを適用したメモリダンプシステム
US6779132B2 (en) * 2001-08-31 2004-08-17 Bull Hn Information Systems Inc. Preserving dump capability after a fault-on-fault or related type failure in a fault tolerant computer system
US7308609B2 (en) * 2004-04-08 2007-12-11 International Business Machines Corporation Method, data processing system, and computer program product for collecting first failure data capture information
CN1755660B (zh) * 2004-09-28 2010-09-29 惠普开发有限公司 冗余处理器中的诊断存储器转储方法
JP2006172100A (ja) 2004-12-15 2006-06-29 Hitachi Ltd オペレーティングシステムの高速切替え方式及びその方法
WO2006082657A1 (ja) * 2005-02-07 2006-08-10 Fujitsu Limited マルチcpuコンピュータおよびシステム再起動方法
US8375386B2 (en) * 2005-06-29 2013-02-12 Microsoft Corporation Failure management for a virtualized computing environment
US7478272B2 (en) * 2005-09-30 2009-01-13 International Business Machines Corporation Replacing a failing physical processor
US7788537B1 (en) * 2006-01-31 2010-08-31 Emc Corporation Techniques for collecting critical information from a memory dump
JP2007226413A (ja) * 2006-02-22 2007-09-06 Hitachi Ltd メモリダンプ方法、メモリダンププログラム、及び、計算機システム
JP2007334403A (ja) 2006-06-12 2007-12-27 Mitsubishi Electric Corp 計算機システム障害対応方式及び計算機システム障害対応方法
CN101295268B (zh) * 2007-04-27 2011-03-02 国际商业机器公司 面向软件系统的分区存储器转储方法和装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61260338A (ja) * 1985-05-14 1986-11-18 Fujitsu Ltd メモリダンプ方式
JPH03216742A (ja) * 1990-01-20 1991-09-24 Fujitsu Ltd メモリダンプシステム
JPH0830565A (ja) 1994-07-18 1996-02-02 Fuji Xerox Co Ltd マルチプロセッサ装置およびその障害情報収集方法
JP2000148544A (ja) * 1998-11-05 2000-05-30 Nec Eng Ltd ダンプ出力方式
JP2006040001A (ja) * 2004-07-28 2006-02-09 Mitsubishi Heavy Ind Ltd コンピュータシステム及びメモリダンプ方法
WO2007077604A1 (ja) * 2005-12-28 2007-07-12 Fujitsu Limited 情報処理装置及びハングアップ監視方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2592557A4

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140105034A (ko) * 2012-02-13 2014-08-29 미쓰비시덴키 가부시키가이샤 프로세서 시스템
CN104137077A (zh) * 2012-02-13 2014-11-05 三菱电机株式会社 处理器系统
KR101581608B1 (ko) * 2012-02-13 2015-12-30 미쓰비시덴키 가부시키가이샤 프로세서 시스템
EP2816480A4 (en) * 2012-02-13 2016-05-04 Mitsubishi Electric Corp PROCESSOR SYSTEM
JP2014010711A (ja) * 2012-06-29 2014-01-20 Fujitsu Ltd ストレージシステムおよびストレージシステムの制御方法
JP2014010710A (ja) * 2012-06-29 2014-01-20 Fujitsu Ltd ストレージシステムおよびストレージシステムの制御方法
JP2014154017A (ja) * 2013-02-12 2014-08-25 Nec Computertechno Ltd 障害ログ採取装置、障害ログ採取方法、及び、障害ログ採取プログラム
JP7404223B2 (ja) 2020-01-10 2023-12-25 アクロニス・インターナショナル・ゲーエムベーハー 不正なメモリダンプ改変を防ぐシステムおよび方法

Also Published As

Publication number Publication date
US20130111264A1 (en) 2013-05-02
EP2592557A4 (en) 2014-03-26
CN102971715B (zh) 2015-07-08
JP5225515B2 (ja) 2013-07-03
JPWO2012004854A1 (ja) 2013-09-02
CN102971715A (zh) 2013-03-13
EP2592557A1 (en) 2013-05-15
US8583960B2 (en) 2013-11-12

Similar Documents

Publication Publication Date Title
JP5225515B2 (ja) プロセッサ装置及びプログラム
JP4923990B2 (ja) フェイルオーバ方法、およびその計算機システム。
US9652332B2 (en) Information processing apparatus and virtual machine migration method
CN108121630B (zh) 电子装置、重新启动方法及记录媒介
EP2634696B1 (en) Information processing apparatus, control method, and control program
JP2016518654A (ja) サーバ制御方法及びサーバ制御装置
JP4926009B2 (ja) 情報処理装置の障害処理システム
JP2010186242A (ja) 計算機システム
US20140025903A1 (en) Multi-core processor system
JP4653838B2 (ja) 演算処理装置、演算処理装置の制御方法及び制御プログラム
CN105247491B (zh) 计算机系统和控制方法
JP4985512B2 (ja) 分散共有メモリ型マルチプロセッサシステム及びマルチプロセッサシステムにおける負荷分散方法
US20140040670A1 (en) Information processing device and processing method for information processing device
JP5557612B2 (ja) 計算機及び転送プログラム
WO2012137239A1 (ja) 計算機システム
JP2006252429A (ja) コンピュータシステム、コンピュータシステムの診断方法およびコンピュータシステムの制御プログラム
US20080307190A1 (en) System and Method for Improved Virtual Real Memory
JP2011070528A (ja) マルチプロセッサシステム及びメモリアクセス制御方法
JP4787551B2 (ja) デバッグシステム、デバッグ方法およびプログラム
JP6269673B2 (ja) 情報処理装置、i/oシステム、及び、i/o制御方法
JP4937200B2 (ja) イメージ検査装置、os装置及びイメージ検査方法
JP2008077388A (ja) マルチプロセッサ制御システム、方法、およびプログラム
WO2012001788A1 (ja) マルチコアプロセッサシステム、復元プログラム、および復元方法
JP2000347758A (ja) 情報処理装置
JP6438381B2 (ja) 電子制御装置

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201080067910.1

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10854409

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2012523458

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 13808754

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2010854409

Country of ref document: EP