WO2012066622A1 - アクセス方法、およびマルチコアプロセッサシステム - Google Patents

アクセス方法、およびマルチコアプロセッサシステム Download PDF

Info

Publication number
WO2012066622A1
WO2012066622A1 PCT/JP2010/070319 JP2010070319W WO2012066622A1 WO 2012066622 A1 WO2012066622 A1 WO 2012066622A1 JP 2010070319 W JP2010070319 W JP 2010070319W WO 2012066622 A1 WO2012066622 A1 WO 2012066622A1
Authority
WO
WIPO (PCT)
Prior art keywords
access
application
core processor
cpu
processor system
Prior art date
Application number
PCT/JP2010/070319
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/070319 priority Critical patent/WO2012066622A1/ja
Priority to CN201080070131.7A priority patent/CN103210381B/zh
Priority to EP10859635.4A priority patent/EP2642399A1/en
Priority to JP2012544021A priority patent/JP5541368B2/ja
Publication of WO2012066622A1 publication Critical patent/WO2012066622A1/ja
Priority to US13/894,022 priority patent/US9164823B2/en

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/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/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • 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/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3041Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is an input/output interface
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3419Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3485Performance evaluation by tracing or monitoring for I/O devices

Definitions

  • the present invention relates to an access method for accessing a device to be monitored and a multi-core processor system.
  • a control device is provided in a multiple CPU and multiple I / O (Input / Output) sharing system, and a control signal is stored if the startup I / O is in operation.
  • I / O Input / Output
  • a technique of transmitting a dummy I / O after the operation is completed is disclosed (for example, see Patent Document 3 below).
  • Patent Document 1 and Patent Document 2 are intended for abnormality due to hardware failure.
  • a failure that occurs due to access to a device by software is determined to be normal by the techniques according to Patent Documents 1 and 2, and an abnormal state is overlooked.
  • the problematic application software (hereinafter referred to as an application) stalls while acquiring access rights to the shared device, and other applications have access rights to the shared device.
  • the state that cannot be obtained occurs.
  • stalls occurred in a chain, that is, other apps for which access rights could not be acquired.
  • it is necessary to determine which of the stalled applications is problematic software.
  • An object of the present invention is to provide an access method and a multi-core processor system capable of detecting an application stall caused by access to a shared device in order to solve the above-described problems caused by the prior art.
  • the disclosed access method activates a driver corresponding to the first CPU based on the start of execution of the first application, and measures the access time based on access to the peripheral device. When the access time exceeds a predetermined time, a detection signal for resetting the driver is output and writing to a register holding data to be written from the first CPU to the peripheral device is prohibited.
  • This access method and multi-core processor system have the effect of being able to detect application stalls that occur due to access to shared devices.
  • FIG. 3 is a block diagram illustrating functions of a device monitoring apparatus 103.
  • FIG. 4 is an explanatory diagram showing an operation during normal operation of the multi-core processor system 100.
  • FIG. 6 is an explanatory diagram showing an operation before an abnormal state occurs in the multi-core processor system 100.
  • FIG. 11 is an explanatory diagram showing an operation after occurrence of an abnormal state of the multi-core processor system 100.
  • FIG. 11 is an explanatory diagram illustrating a restoration operation from an abnormal state of the multi-core processor system 100.
  • 4 is a flowchart showing processing until an abnormal state of the multi-core processor system 100 is detected.
  • 4 is a flowchart showing a restoration process from an abnormal state of the multi-core processor system 100.
  • the multi-core processor system 100 includes shared devices 105_0 to 105_3.
  • the shared device 105_0 and the shared device 105_1 are connected to the bus 104 via the device monitoring apparatus 103_0, and the shared device 105_2 is connected to the bus 104 via the device monitoring apparatus 103_1.
  • the shared device 105_3 is directly connected to the bus 104.
  • the CPUs 101 # 0 to 101 # n include INT (Interrupt) terminals 106 # 0 to 106 # n, which are interrupt input terminals, respectively.
  • n is an integer of 0 or more.
  • the suffix “#n” indicates a symbol for the nth CPU.
  • the INT terminal 106 # n indicates that it is an interrupt input terminal included in the CPU # n.
  • the device monitoring apparatus 103_0 and the device monitoring apparatus 103_1 include the dummy register 107_0 and the dummy register 107_1, and can access the device response time DB 108_0 and the device response time DB 108_1.
  • the shared devices 105_0 to 105_3 include a control register 109_0 to a control register 109_3 that control the operation of the shared device 105.
  • the CPUs 101 # 0 to 101 # n are responsible for overall control of the multi-core processor system 100.
  • the multi-core processor system 100 is a multi-core processor system including a plurality of cores.
  • the multi-core processor system 100 may be a single-core processor system having one core.
  • the CPUs 101 # 0 to 101 # n include a cache memory and a register.
  • the device monitoring device 103_0 and the device monitoring device 103_1 are devices that monitor the shared device 105_0 to the shared device 105_3. Further, the device monitoring apparatus 103 sets the priority of the shared device 105 to be monitored, monitors the shared device 105 having a higher priority by one device monitoring apparatus 103 alone, and sets other shared devices 105 as 1 One device monitoring apparatus 103 may monitor all at once.
  • the multi-core processor system 100 is designed not to monitor the shared device 105_3 by the device monitoring apparatus 103.
  • the shared device 105_0 and the shared device 105_1 are defined as the shared device 105 whose control is relatively slow, and the monitoring priority is set to the middle.
  • the multi-core processor system 100 is designed such that the device monitoring apparatus 103_0 collectively monitors the shared device 105_0 and the shared device 105_1.
  • the device monitoring apparatus 103 is connected to the bus 104 and the shared device 105 to be monitored, and has the same number of control lines 110, control lines 112, data lines 111, and data lines 113 as the shared devices 105 to be monitored.
  • the device monitoring apparatus 103_0 includes a control line 110_0 and a data line 111_0 on the bus 104 side, a control line 112_0 and a data line 113_0 on the shared device 105_0 side corresponding to the shared device 105_0 that is the first monitoring target.
  • the device monitoring apparatus 103_0 includes a control line 110_1 and a data line 111_1 on the bus 104 side, a control line 112_1 on the shared device 105_1 side, and a data line 113_1 corresponding to the shared device 105_1 that is the second monitoring target.
  • the function of the device monitoring apparatus 103 will be described later with reference to FIG.
  • Shared device 105_0 and shared device 105_3 are peripheral devices used by CPU 101 # 0 to CPU 101 # 3. Specifically, a communication unit, a camera device, an audio device, a display, a keyboard, and the like.
  • a specific example of the shared device 105_2 that is set to have a high monitoring priority for the device monitoring apparatus 103 includes a communication unit.
  • Specific examples of the shared device 105_0 and the shared device 105_1 in which the monitoring priority for the device monitoring apparatus 103 is set to the middle include a camera device and an audio device.
  • the INT terminals 106 # 0 to 106 # n are interrupt input terminals that receive an interrupt signal from the device monitoring apparatus 103. Although not shown in FIG. 1, the INT terminals 106 # 0 to 106 # n also receive an interrupt signal from the shared device 105 or the like.
  • the dummy registers 107_0 to 107_2 hold information written to the control registers 109_0 to 109_2 by the CPUs 101 # 0 to 101 # n.
  • the dummy register 107_0 holds write information for the control register 109_0.
  • the dummy register 107 may hold write information corresponding to any bit of the control register 109 or may hold write information corresponding to some bits of the control register 109.
  • the device response time DB 108_0 and the device response time DB 108_1 are storage areas for storing the response time when written in the control register 109 of the shared device 105.
  • the entity of the device response time DB 108 — 0 and the device response time DB 108 — 1 may exist in the RAM, ROM, flash ROM connected to the bus 104 described above, or in a storage area that exists in the device monitoring apparatus 103. May be present.
  • the software of the multi-core processor system 100 includes an OS (Operating System) 121 # 0 to OS121 # n, a driver 122 # 0_0 to a driver 122 # n_1, and an application 123_0 to an application 123_5.
  • OS Operating System
  • OS 121 # 0 to OS121 # n are software for controlling CPU 101 # 0 to CPU 101 # n.
  • the OS 121 # 0 includes software such as a scheduler that determines an app to be assigned to the CPU 101 # 0 among the apps 123_0 and 123_1, a dispatcher that assigns the determined app to the CPU 101 # 0, and the like.
  • the OS 121 # 0 to OS121 # n perform exclusive control processing for the shared device 105.
  • the drivers 122 # 0_0 to 122 # n_1 are one of the functions provided by the OS 121 # 0 to OS121 # n, and are software for accessing the shared device 105.
  • the drivers 122 # 0_0 to 122 # n_1 are activated by calls from the applications 123_0 to 123_5, and access the corresponding shared device 105.
  • the driver 122 # 0_0, the driver 122 # 1_0,..., The driver 122 # n_0 is software that accesses the shared device 105_0.
  • the driver 122 # 0_1, the driver 122 # 1_1,..., The driver 122 # n_1 is software that accesses the shared device 105_1.
  • drivers 122 for the shared device 105_2 and the shared device 105_3 are also present in the OS 121 # 0 to OS 121 # n.
  • the CPU 101 # 0 to CPU 101 #n can access the single shared device 105 by calling the respective drivers 122.
  • the multi-core processor system 100 is designed so that access to one shared device 105 does not compete by exclusive control processing.
  • Application 123_0 to application 123_5 are software groups that provide services to users of the multi-core processor system 100.
  • the applications 123_0 to 123_5 are a music playback application, a game application, a camera application, and the like.
  • the applications 123_0 to 123_5 operate the shared devices 105_0 to 105_3 by calling the drivers 122 # 0_0 to 122 # n_1.
  • the app 123_3 is a music playback app and the shared device 105_1 is an audio device.
  • the application 123_0 calls the driver 122 # 1_1, operates the audio device, and realizes music reproduction.
  • FIG. 2 is a block diagram illustrating functions of the device monitoring apparatus 103.
  • the device monitoring apparatus 103 includes a setting unit 201_0, a setting unit 201_1, a time difference detection unit 202, an abnormality detection unit 203, an ACK output unit 204, a device control unit 205, a writing unit 206, and a timer 207.
  • the device monitoring apparatus 103 and the shared device 105 receive a clock input from the outside.
  • the CPU 101 # n detects a write request to the shared device 105_1, and sets the timer 207 to start measuring access time.
  • the setting unit 201_0 and the setting unit 201_1 may stop measuring the access time when a response signal for access is output from the shared device 105.
  • the response signal is an ACK (ACKnowledgement) signal.
  • the setting unit 201_0 detects access to the shared device 105_0
  • the setting unit 201_1 detects access to the shared device 105_1.
  • the set information is stored in a storage area such as a storage area of the device monitoring apparatus 103 or a setting register of the timer 207.
  • the ACK output unit 204 has a function of outputting a dummy ACK signal to the second CPU that has accessed the shared device 105 while the first CPU is accessing the shared device 105.
  • the dummy ACK signal has the same contents as the ACK signal.
  • the ACK output unit 204 outputs a dummy ACK signal to the CPU 101 # 1 that has accessed the shared device 105_1 while the CPU 101 # n is accessing the shared device 105_1.
  • the information that the dummy ACK signal has been output may be stored in the storage area of the device monitoring apparatus 103.
  • Timer 207 has a function of measuring access time. For example, the timer 207 measures the access time by counting an externally input clock from the access start time. The timer 207 starts and stops measurement by the setting unit 201_0 and the setting unit 201_1.
  • the application 123_3 is assumed to be a music playback application
  • the application 123_5 is assumed to be a game application that generates sound
  • the shared device 105_1 is assumed to be an audio device.
  • the application 123_3 performs music data decoding and DA conversion, and writes the conversion result to the control register 109_1 through the driver 122 # 1_1, thereby causing the shared device 105_1 to play music.
  • the application 123_5 causes the shared device 105_1 to reproduce sound by writing the sound data to the control register 109_1 through the driver 122 # n_1.
  • the user is in a state where a sound in which the audio data emitted from the application 123_5 and the music data emitted from the application 123_3 are combined is heard.
  • the device monitoring apparatus 103 when receiving a write request from the driver 122 # 1_1, the device monitoring apparatus 103 during normal operation writes the write target data to the control register 109_1 and also writes the write target data to the corresponding dummy register 107_1. .
  • the setting unit 201_1 sets the start of measuring the access time until a response signal corresponding to the write request by the timer 207 is generated.
  • the setting unit 201_1 sets the stop of access time measurement by the timer 207.
  • FIG. 4 is an explanatory diagram showing an operation before the abnormal state of the multi-core processor system 100 occurs.
  • the application 123_5 is stalled due to a failure.
  • the application 123_5 writes an invalid value to the shared device 105_1 via the driver 122 # n_1.
  • the application 123_5 may stall while acquiring the access right to the shared device 105_1 that is a shared resource of the multi-core processor system 100.
  • the shared device 105_1 does not have a failure, so the watchdog timer 102 cannot detect an abnormal state.
  • the driver 122 # n_1 is locked by the application 123_5.
  • the multi-core processor system 100 prevents such a state where no response signal is returned or access cannot be performed.
  • the setting unit 201_1 sets the measurement start of the timer 207 at the time of writing by the application 123_5.
  • FIG. 5 is an explanatory diagram showing an operation after the abnormal state of the multi-core processor system 100 occurs.
  • the application 123_5 writes the audio data to the audio data FIFO (First In, First Out), and sets a flag indicating completion of data set in the control register 109_1. This is the case.
  • the abnormality detection unit 203 When the time difference detection unit 202 detects that the elapsed time from the write request has exceeded 500 [microseconds], the abnormality detection unit 203 outputs a detection signal indicating an abnormal state to the watchdog timer 102. The abnormality detection unit 203 also notifies the INT terminal 106 of a detection signal indicating the abnormal state of the shared device 105_1. Note that the CPU 101 that has received the detection signal from the INT terminal 106 executes an interrupt handler that detects software that locks the driver 122 # n_1. The software detection request may be broadcasted to the INT terminals 106 # 0 to 106 # n, or may be transmitted only to the INT terminal 106 # 1 for the CPU 101 # 1 that has accessed.
  • the ACK output unit 204 transmits a dummy ACK signal to the CPU 101 # 1 to prevent the application 123_3 from being stopped.
  • the OS 121 detects a timeout without returning an ACK signal and abnormally terminates the application 123_3.
  • the timeout by the OS 121 takes several seconds or the OS 121 stalls without timing out.
  • the abnormal termination of the application 123_3 can be avoided by transmitting a dummy ACK signal.
  • the CPU 101 # n that has received the detection signal from the INT terminal 106 # n executes an interrupt handler that detects software that locks the driver 122 # n_1, and detects the application 123_5. After the detection, the CPU 101 # n forcibly terminates the detected application 123_5.
  • the writing unit 206 writes the data written in the dummy register 107_1 into the control register 109_1.
  • the response times of the shared device 105_0 and the shared device 105_1 are stored as 400 [microseconds] and 500 [microseconds] in the device response time DB 108_0 corresponding to the shared device 105 whose monitoring priority is intermediate, respectively. Has been.
  • the response time of the shared device 105_2 is stored as 10 [milliseconds] in the device response time DB 108_1 corresponding to the shared device 105 having a high monitoring priority.
  • the response time field may be freely changed by the user.
  • the device monitoring apparatus 103 Based on the function of the device monitoring apparatus 103 shown in FIG. 2 and the stored contents of the device response time DB 108 shown in FIG. 7, the device monitoring apparatus 103 performs restoration processing from the abnormal state. 8 and 9, the device monitoring apparatus 103 detects an abnormal state, and then shows a flowchart of the restoration process.
  • the application 123_5 is stalled by a write request to the shared device 105_1 of the application 123_5, and then the application 123_3 makes a write request to the shared device 105_1.
  • the application 123_5 and the driver 122 # n_1 are executed by the CPU 101 # n, and the application 123_3 is executed by the CPU 101 # 1.
  • the application 123_3 calls the driver 122 # 1_1.
  • the process of the driver 122 # 1_1 is the same as the driver 122 # n_1. Quote and explain.
  • FIG. 8 is a flowchart showing processing until an abnormal state of the multi-core processor system 100 is detected.
  • the application 123_5 opens the driver 122 # n_1 (step S801).
  • the opened driver 122 # n_1 acquires the access right to the shared device 105_1 (step S802).
  • the driver 122 # n_1 saves / restores the control register 109_1 (step S803).
  • the application 123_5 calls the driver 122 # n_1 to execute a write request for the control register 109_1 (step S804).
  • the called driver 122 # n_1 makes a write request to the control register 109_1 (step S805).
  • the device monitoring apparatus 103_0 that has received the write request sets the measurement start of the timer 207 by the setting unit 201_1 (step S806). Subsequently, the device monitoring apparatus 103_0 writes data serving as a write request to the dummy register 107_1 and the control register 109_1 (step S807).
  • the application 123_5 determines whether or not an abnormality has been detected (step S808). If an abnormality has occurred (step S808: Yes), the application 123_5 determines whether software recovery is possible (step S809). When software recovery is possible (step S809: Yes), the application 123_5 performs software recovery (step S810). When software recovery is impossible (step S809: No), the application 123_5 enters an abnormal state (step S811), and thereafter, the application 123_5 enters a stalled state.
  • the application 123_3 accesses the shared device 105_1 while the application 123_5 is stalled.
  • the application 123_3 opens the driver 122 # 1_1 (step S812).
  • the driver 122 # 1_1 is executed after the process of step S812, and the process of the driver 122 # 1_1 after the process of step S812 is the same as the processes of step S802 and step S803.
  • the application 123_5 has stalled while having the access right to the shared device 105_1, the application 123_3 cannot acquire the access right to the shared device 105_1. Therefore, the driver 122 # 1_1 cannot complete the saving / restoring of the control register 109_1, which is the process of step S803, and fails.
  • step S813 the application 123_3 calls the driver 122 # 1_1 to execute a write request for the control register 109_1 (step S813).
  • step S813 the driver 122 # 1_1 is executed, and as the process, the same process as the process of step S805 is executed.
  • step S814 The device monitoring apparatus 103_0 that has received a write request to the control register 109_1 from the driver 122 # 1_1 writes to the dummy register 107_1 (step S814). Note that in the process of step S814, the application 123_3 does not have the access right to the shared device 105_1, and thus the write request is not reflected in the control register 109_1.
  • FIG. 9 is a flowchart showing a restoration process from an abnormal state of the multi-core processor system 100.
  • the time difference detection unit 202 detects that the access time measured by the timer 207 exceeds the response time, and detects it as an abnormal state (step S901).
  • the device monitoring apparatus 103_0 causes the ACK output unit 204 to output a dummy ACK signal to the CPU 101 # 1 (step S902).
  • the CPU 101 # 1 normally executes the application 123_3 (step S903).
  • the device monitoring apparatus 103_0 After detecting the abnormal state, the device monitoring apparatus 103_0 outputs a detection signal to the watchdog timer 102 and the INT terminal 106 by the abnormality detection unit 203 (step S904).
  • the CPU 101 # n that has received the detection signal from the INT terminal 106 # n forcibly terminates the application 123_5 (step S905). Further, the driver 122 # n_1 releases the access right to the shared device 105_1 by the warm start of the OS 121 # n that has received the detection signal by the watchdog timer 102 (step S906).
  • the device monitoring apparatus 103_0 prohibits writing to the dummy register 107_1 by the abnormality detection unit 203 (step S907).
  • the device monitoring apparatus 103 instructs the shared device 105_1 to reset by the device control unit 205 (step S908).
  • the device monitoring apparatus 103_0 writes the contents of the dummy register 107_1 into the control register 109_1 by the writing unit 206 (step S909).
  • the device monitoring apparatus 103_0 cancels the prohibition of writing to the dummy register 107 (step S910).
  • the problematic application 123_3 accesses the shared device 105_1. Even if any application does not access the shared device 105_1 after the problematic application 123_5 is stalled, the multi-core processor system 100 can restore the abnormal state. When no app accesses the shared device 105_1, the device monitoring apparatus 103_0 does not perform the processes of step S814, step S902, and step S909.
  • the device monitoring device detects that the shared device is in an abnormal state when a predetermined time elapses without returning a response signal after the access start time by the driver from the CPU. Output a signal.
  • the multi-core processor system can detect a stall that occurs when the driver accesses the shared device.
  • the device monitoring apparatus may refer to a predetermined time from a memory that stores a response time that is a specification of the shared device.
  • the multi-core processor system can detect the abnormal state in accordance with the operation of the shared device having different response times.
  • the multi-core processor system may change the predetermined time according to a user instruction or the like.
  • the device monitoring apparatus stops comparing the predetermined time with the access time from the access start time.
  • the multi-core processor system can be prevented from being detected as an abnormal state when the shared device is operating normally.
  • the device monitoring apparatus may have a storage area for storing data written from the CPU to the shared device, and may prohibit the storage in the storage area when an abnormal state is detected.
  • the multi-core processor system can protect data that has become abnormal and has not been written to the shared device from being overwritten by another CPU or the like.
  • the device monitoring apparatus may hold the data written in the storage area before detecting an abnormal state even after detecting the abnormality.
  • the multi-core processor system can hold data that is in an abnormal state and has not been written to the control register of the shared device.
  • the device monitoring apparatus may write the data held in the storage area to the control register of the shared device after the driver is reset based on the detection signal.
  • the multi-core processor system can be restored from the abnormal state, and data generated by a problem-free application different from the application that has generated the abnormal state can be written to the shared device.
  • the device monitoring apparatus writes data held in the storage area to the shared device, and then from another application executed by another CPU different from the CPU that executed the application that caused the abnormal state. You may accept access to other shared devices.
  • the multi-core processor system can avoid a stall from occurring in a chain without causing another application to stall.
  • the OS detects that there is no response from the application as an abnormal state.
  • the abnormal state can be detected in a short time, which is the response time of the shared device, so that the abnormal state can be detected before the stall chain occurs, and the abnormal state also occurs for the user. The effect is that it is difficult to notice what has been done.
  • the problematic application since the problematic application is forcibly terminated and the other applications execute normally, the user does not have the illusion that the device is faulty. Easy to judge. As a result, if there is a failure report, the device does not have to be recovered, and the developer can respond by redistributing the problematic application. can do.
  • the device monitoring apparatus 103 described in the present embodiment is a PLD (Programmable) such as a standard cell or a specific application IC (hereinafter simply referred to as “ASIC”) such as a structured ASIC (Application Specific Integrated Circuit). It can also be realized by Logic Device. Specifically, for example, the function (setting unit 201 to timer 207) of the device monitoring apparatus 103 described above is function-defined by HDL description, and the HDL description is logically synthesized and given to the ASIC or PLD. 103 can be manufactured.
  • ASIC Application Specific Integrated Circuit

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

 共有デバイス105へのアクセスによって発生するアプリのストールを検出する。デバイス監視装置(103_0)は、設定部(201_0)、設定部(201_1)によって、第1CPUによる共有デバイス(105_1)へのアクセスに基づいて、タイマー(207)に対しアクセス時間の計測開始を設定する。タイマー(207)による計測開始後、デバイス監視装置(103_0)は、アクセス時間が共有デバイス応答時間DB(108_0)に格納されている所定時間を超えることを検出する。アクセス時間が所定時間を超えたことを検出後、デバイス監視装置(103_0)は、異常検出部(203)によって、検出信号を出力する。

Description

アクセス方法、およびマルチコアプロセッサシステム
 本発明は、監視対象となるデバイスにアクセスするアクセス方法、およびマルチコアプロセッサシステムに関する。
 従来から、情報処理装置内外に接続されたデバイスを監視する装置として、ウォッチドッグタイマーや、ダイアグノーシス装置といった装置が存在する。これらの装置を利用し、周期的に各デバイスを点検し、デバイスの異常を検出する技術も存在する。また、バックアップシステムをメインシステムとは別に管理しておき、メインシステム内のデバイスの異常を検出した場合に、メインシステムとバックアップシステムを切り替える技術が存在する。
 また、異常が発生した際の技術として、複数のコアを含むマルチコアプロセッサシステムの入出力装置の付加装置を設け、起動CPU(Central Processing Unit)番号を記録するという技術が開示されている(たとえば、下記特許文献1を参照。)。また、異常発生後の復元の技術として、CPUの補助を行うコプロセッサ制御において、ハングアップを検出し、ハングアップしたコプロセッサをリセットするという技術が開示されている(たとえば、下記特許文献2を参照。)。
 また、デバイス間の応答時間を短縮させる技術として、複数CPUと、複数I/O(Input/Output)共有システムにおいて制御装置を設け、起動I/Oが動作中であれば制御信号を記憶し、動作完了後、ダミーI/Oを送信するという技術が開示されている(たとえば、下記特許文献3を参照。)。
特開昭55-108026号公報 特表2007-507034号公報 特開平6-208536号公報
 上述した従来技術において、特許文献1、特許文献2にかかる技術では、ハードウェアの障害による異常を対象としていた。しかしながら、ソフトウェアによるデバイスへのアクセスにより発生する障害については、特許文献1、特許文献2にかかる技術では正常と判断されてしまい、異常状態を見落としてしまうという問題があった。
 また、異常状態を見落としてしまうと、マルチコアプロセッサシステムの場合、問題のあるアプリケーションソフトウェア(以下、アプリ)が共有デバイスへのアクセス権を取得したままストールし、他のアプリが共有デバイスへのアクセス権を取得できない状態が発生する。結果、アクセス権を取得できなかった他のアプリもストールするという、ストールが連鎖的に発生するという問題があった。また、ストールが連鎖的に発生した場合、ストールしたアプリのうち、何れのアプリが問題のあるソフトウェアであるのかを切り分けなければならないという問題があった。
 本発明は、上述した従来技術による問題点を解消するため、共有デバイスへのアクセスによって発生するアプリのストールを検出できるアクセス方法、およびマルチコアプロセッサシステムを提供することを目的とする。
 上述した課題を解決し、目的を達成するため、開示のアクセス方法は、第1アプリケーションの実行開始に基づいて第1CPUに対応するドライバを活性化し、周辺デバイスへのアクセスに基づいてアクセス時間の計測を開始し、アクセス時間が所定時間を超える場合にはドライバをリセットするための検出信号を出力するとともに、第1CPUから周辺デバイスに書き込まれるデータを保持するレジスタへの書き込みを禁止する。
 本アクセス方法、およびマルチコアプロセッサシステムによれば、共有デバイスへのアクセスによって発生するアプリのストールを検出できるという効果を奏する。
実施の形態にかかるマルチコアプロセッサシステム100のハードウェアとソフトウェアを示すブロック図である。 デバイス監視装置103の機能を示すブロック図である。 マルチコアプロセッサシステム100の通常運用時の動作を示す説明図である。 マルチコアプロセッサシステム100の異常状態が発生する前の動作を示す説明図である。 マルチコアプロセッサシステム100の異常状態が発生した後の動作を示す説明図である。 マルチコアプロセッサシステム100の異常状態からの復元動作を示す説明図である。 デバイス応答時間DB108の記憶内容の一例を示す説明図である。 マルチコアプロセッサシステム100の異常状態を検出するまでの処理を示すフローチャートである。 マルチコアプロセッサシステム100の異常状態からの復元処理を示すフローチャートである。
 以下に添付図面を参照して、開示のアクセス方法、およびマルチコアプロセッサシステムの好適な実施の形態を詳細に説明する。
(マルチコアプロセッサシステム100のハードウェアおよびソフトウェア)
 図1は、実施の形態にかかるマルチコアプロセッサシステム100のハードウェアとソフトウェアを示すブロック図である。図1において、マルチコアプロセッサシステム100は、CPU101#0~CPU101#nと、ウォッチドッグタイマー102と、デバイス監視装置103_0、デバイス監視装置103_1と、を含む。各部は、バス104によってそれぞれ接続されている。本実施の形態にかかるマルチコアプロセッサシステム100は、携帯電話等といった、小型の端末装置を想定している。また、図1に図示していないが、バス104には、ROM(Read‐Only Memory)、RAM(Random Access Memory)、フラッシュROMといった、記憶装置が接続されている。
 また、マルチコアプロセッサシステム100は、共有デバイス105_0~共有デバイス105_3を含む。共有デバイス105_0、共有デバイス105_1は、デバイス監視装置103_0を経由してバス104と接続しており、共有デバイス105_2は、デバイス監視装置103_1を経由してバス104と接続している。共有デバイス105_3は、直接バス104と接続している。
 また、CPU101#0~CPU101#nは、それぞれ、割込入力端子であるINT(INTerrupt)端子106#0~INT端子106#nを含む。ここで、nは0以上の整数である。なお、接尾記号“#n”は、n番目のCPUに対する記号であることを示している。たとえば、INT端子106#nは、CPU#nに含まれる割込入力端子であることを示している。
 続けて、デバイス監視装置103_0、デバイス監視装置103_1は、ダミーレジスタ107_0、ダミーレジスタ107_1を含み、デバイス応答時間DB108_0、デバイス応答時間DB108_1にアクセス可能である。また、共有デバイス105_0~共有デバイス105_3は、共有デバイス105の動作を制御する制御レジスタ109_0~制御レジスタ109_3を含む。
 CPU101#0~CPU101#nは、マルチコアプロセッサシステム100の全体の制御を司る。ここで、マルチコアプロセッサシステム100は、複数のコアを含むマルチコアプロセッサシステムとなる。また、マルチコアプロセッサシステム100は、コアが1つであるシングルコアプロセッサシステムであってもよい。また、CPU101#0~CPU101#nは、キャッシュメモリやレジスタを含む。
 ウォッチドッグタイマー102は、CPU101#0~CPU101#n、共有デバイス105_0~共有デバイス105_3などが停止していないかを監視する診断回路である。たとえば、ウォッチドッグタイマー102は、CPU101、共有デバイス105等が、過電圧を受けて停止した際に、CPU101、共有デバイス105等の異常を検出する。また、ウォッチドッグタイマー102は、デバイス監視装置103から、共有デバイス105の異常状態の通知を受ける。
 デバイス監視装置103_0、デバイス監視装置103_1は、共有デバイス105_0~共有デバイス105_3を監視する装置である。また、デバイス監視装置103は、監視対象となる共有デバイス105の優先度を設定し、優先度が高い共有デバイス105を1つのデバイス監視装置103単独で監視し、他の共有デバイス105群を、1つのデバイス監視装置103が一括して監視してもよい。
 具体的には、共有デバイス105_2は、停止状態が好ましくないため、監視の優先度が高い。したがって、マルチコアプロセッサシステム100は、共有デバイス105_2に対してデバイス監視装置103_1単独による監視を行うように設計されている。また、共有デバイス105_3は、停止状態であってもマルチコアプロセッサシステム100の動作に影響しなく、監視の優先度が低い。
 したがって、マルチコアプロセッサシステム100は、共有デバイス105_3に対してデバイス監視装置103による監視を行わないように設計されている。共有デバイス105_0、共有デバイス105_1は、比較的制御が緩慢な共有デバイス105として定義されており、監視の優先度が中間に設定されている。マルチコアプロセッサシステム100は、共有デバイス105_0、共有デバイス105_1に対してデバイス監視装置103_0が一括して監視を行うように設計されている。
 また、デバイス監視装置103は、バス104、監視対象の共有デバイス105と接続されており、監視対象の共有デバイス105と等しい数分となる制御線110、制御線112、データ線111、データ線113を有する。
 たとえば、デバイス監視装置103_0は、1つ目の監視対象である共有デバイス105_0に対応する、バス104側の制御線110_0、データ線111_0と、共有デバイス105_0側の制御線112_0、データ線113_0を有する。さらに、デバイス監視装置103_0は、2つ目の監視対象である共有デバイス105_1に対応する、バス104側の制御線110_1、データ線111_1と、共有デバイス105_1側の制御線112_1、データ線113_1を有する。なお、デバイス監視装置103の機能については、図2にて後述する。
 共有デバイス105_0、共有デバイス105_3は、CPU101#0~CPU101#3から利用される周辺デバイスである。具体的には、通信ユニット、カメラデバイス、オーディオデバイス、ディスプレイ、キーボード等である。また、デバイス監視装置103に対する監視の優先度が高く設定されている共有デバイス105_2の具体例としては、通信ユニット等が挙げられる。デバイス監視装置103に対する監視の優先度が中間に設定されている共有デバイス105_0、共有デバイス105_1の具体例としては、カメラデバイス、オーディオデバイス等が挙げられる。
 INT端子106#0~INT端子106#nは、デバイス監視装置103からの割込信号を受信する割込入力端子である。また、図1にて図示していないが、INT端子106#0~INT端子106#nは、共有デバイス105等からも割込信号を受信する。
 ダミーレジスタ107_0~ダミーレジスタ107_2は、CPU101#0~CPU101#nによる制御レジスタ109_0~制御レジスタ109_2に対する書き込み情報を保持する。たとえば、ダミーレジスタ107_0は、制御レジスタ109_0に対する書き込み情報を保持する。なお、ダミーレジスタ107は、制御レジスタ109の何れのビットに対応する書き込み情報を保持してもよいし、制御レジスタ109の一部のビットに対応する書き込み情報を保持してもよい。
 なお、共有デバイス105には、制御レジスタ109以外の他のレジスタが存在し、他のレジスタもダミーレジスタ107の保持対象としてもよい。他のレジスタとはたとえば、共有デバイス105の動作状況が格納されているステータスレジスタ等である。
 デバイス応答時間DB108_0、デバイス応答時間DB108_1は、共有デバイス105の制御レジスタ109に書き込まれた際の応答時間を記憶する記憶領域である。なお、デバイス応答時間DB108_0、デバイス応答時間DB108_1の実体は、前述したバス104に接続されたRAM、ROM、フラッシュROMに存在してもよいし、または、デバイス監視装置103内に存在する記憶領域に存在してもよい。
 続いて、マルチコアプロセッサシステム100のソフトウェアとしては、OS(Operating System)121#0~OS121#n、ドライバ122#0_0~ドライバ122#n_1、アプリ123_0~アプリ123_5を含む。
 OS121#0~OS121#nは、CPU101#0~CPU101#nを制御するソフトウェアである。たとえば、OS121#0には、アプリ123_0、アプリ123_1のうち、CPU101#0に割り当てるアプリを決定するスケジューラや、決定されたアプリをCPU101#0に割り当てるディスパッチャ等といったソフトウェアが含まれる。また、OS121#0~OS121#nは、共有デバイス105に対する排他制御処理を行う。
 ドライバ122#0_0~ドライバ122#n_1は、OS121#0~OS121#nの提供する機能の一つであり、共有デバイス105にアクセスするソフトウェアである。ドライバ122#0_0~ドライバ122#n_1は、アプリ123_0~アプリ123_5からの呼び出しによって活性化し、対応する共有デバイス105にアクセスする。
 なお、図1では、ドライバ122#0_0、ドライバ122#1_0、…、ドライバ122#n_0が共有デバイス105_0にアクセスするソフトウェアである。同様に、ドライバ122#0_1、ドライバ122#1_1、…、ドライバ122#n_1が共有デバイス105_1にアクセスするソフトウェアである。また図1に図示していないが、共有デバイス105_2、共有デバイス105_3に対するドライバ122も、OS121#0~OS121#n内に存在する。
 このように、CPU101#0~CPU101#nがそれぞれのドライバ122を呼び出すことで、1つの共有デバイス105に対してアクセスできる。同時のアクセスによる不具合を発生させないため、マルチコアプロセッサシステム100は、排他制御処理によって、1つの共有デバイス105に対してアクセスが競合しないように設計されている。
 アプリ123_0~アプリ123_5は、マルチコアプロセッサシステム100のユーザにサービスを提供するソフトウェア群である。具体的に、アプリ123_0~アプリ123_5は、音楽再生アプリ、ゲームアプリ、カメラアプリ等である。アプリ123_0~アプリ123_5は、ドライバ122#0_0~ドライバ122#n_1を呼び出すことにより、共有デバイス105_0~共有デバイス105_3を操作する。たとえば、アプリ123_3が音楽再生アプリ、共有デバイス105_1がオーディオデバイスであると想定する。このとき、アプリ123_0は、ドライバ122#1_1を呼び出して、オーディオデバイスを操作し、音楽再生を実現する。
 図2は、デバイス監視装置103の機能を示すブロック図である。デバイス監視装置103は、設定部201_0、設定部201_1、時差検出部202、異常検出部203、ACK出力部204、デバイス制御部205、書込部206、タイマー207を含む。また、デバイス監視装置103、共有デバイス105は、外部からクロック入力を受けている。
 設定部201_0、設定部201_1は、CPU101#0~CPU101#nのうち、第1CPUによる共有デバイス105へのアクセスに基づいて、タイマー207に対しアクセス時間の計測開始を設定する機能を有する。アクセス時間とは、共有デバイス105へのアクセス時刻を開始時刻とし、共有デバイス105からのアクセスに対する応答信号が発生した時刻を終了時刻とした時間である。
 たとえば、設定部201_1は、CPU101#nが共有デバイス105_1に対する書き込み要求を検出し、タイマー207に対しアクセス時間の計測開始を設定する。また、設定部201_0、設定部201_1は、共有デバイス105から、アクセスに対する応答信号が出力された場合、アクセス時間の計測を停止してもよい。また、応答信号とは、ACK(ACKnowledgement)信号である。なお、設定部201_0は、共有デバイス105_0に対するアクセスを検出し、設定部201_1は、共有デバイス105_1に対するアクセスを検出する。なお、設定された情報は、デバイス監視装置103の記憶領域、タイマー207の設定レジスタ、などの記憶領域に記憶される。
 時差検出部202は、アクセス時間が所定時間を超えることを検出する機能を有する。なお、所定時間とは、共有デバイス105の仕様となる応答時間であり、デバイス応答時間DB108に格納されている。たとえば、時差検出部202は、共有デバイス105_1に対する書き込み要求の時刻を開始時刻とするアクセス時間が共有デバイス105_1の応答時間500[マイクロ秒]を超えたことを検出する。なお、検出結果は、デバイス監視装置103の記憶領域に記憶される。
 異常検出部203は、時差検出部202によってアクセス時間が所定時間を超えたことが検出された場合、検出信号を出力する機能を有する。検出信号としては、ウォッチドッグタイマー102に対して異常状態を示す検出信号と、INT端子106に対して異常状態を示す検出信号とがある。たとえば、異常検出部203は、共有デバイス105_1の仕様となる応答時間500[マイクロ秒]を超えた場合に、ウォッチドッグタイマー102とINT端子106に対して検出信号を出力する。
 ACK出力部204は、第1のCPUが共有デバイス105にアクセス中に、共有デバイス105にアクセスしてきた第2のCPUに対し、ダミーACK信号を出力する機能を有する。ダミーACK信号は、ACK信号と同内容の信号である。たとえば、ACK出力部204は、CPU101#nが共有デバイス105_1にアクセス中に、共有デバイス105_1にアクセスしてきたCPU101#1に対し、ダミーACK信号を出力する。なお、ダミーACK信号を出力したという情報は、デバイス監視装置103の記憶領域に記憶されてもよい。
 デバイス制御部205は、第1のCPUに対するアクセスの応答信号がない共有デバイス105に対し、リセットの指示を行う機能を有する。たとえば、デバイス制御部205は、CPU101#nに対するアクセスの応答信号がない共有デバイス105_1に対し、リセットの指示を行う。なお、リセットの指示が行われたという情報は、デバイス監視装置103の記憶領域に記憶される。
 書込部206は、デバイス制御部205によって共有デバイス105がリセット完了した後、ダミーレジスタ107の内容を制御レジスタ109に書き込む機能を有する。たとえば、書込部206は、共有デバイス105_1がリセット完了した後に、ダミーレジスタ107_1の内容を制御レジスタ109_1に書き込む。なお、書き込んだという情報は、デバイス監視装置103の記憶領域に記憶されてもよい。
 タイマー207は、アクセス時間を計測する機能を有する。たとえば、タイマー207は、アクセス開始時刻から、外部から入力されたクロックを計数することで、アクセス時間を計測する。また、タイマー207は、設定部201_0、設定部201_1によって計測開始、計測停止する。
 以下、デバイス監視装置103の機能を用いて、図3~図6にて、マルチコアプロセッサシステム100が通常運用状態から、異常状態となり、さらに異常状態からの復元動作までの一連の動作について説明を行う。また、図3~図6では、アプリ123_3を音楽再生アプリと想定し、アプリ123_5を音声が発生するゲームアプリと想定し、共有デバイス105_1をオーディオデバイスと想定する。
 図3は、マルチコアプロセッサシステム100の通常運用時の動作を示す説明図である。通常運用時におけるマルチコアプロセッサシステム100は、OS121#0~OS121#nがドライバ122#0_0~ドライバ122#n_1を調停、切り替えながら動作している。
 具体的には、アプリ123_3は、音楽データのデコードおよびDA変換を行い、変換結果をドライバ122#1_1を通じて制御レジスタ109_1に書き込むことにより、共有デバイス105_1に音楽を再生させている。また、アプリ123_5は、音声データをドライバ122#n_1を通じて制御レジスタ109_1に書き込むことにより、共有デバイス105_1に音声を再生させている。ユーザには、アプリ123_5から発せられる音声データと、アプリ123_3から発せられる音楽データとが合わさった音が聞こえている状態である。
 通常運用時におけるデバイス監視装置103は、たとえば、ドライバ122#1_1からの書き込み要求を受けると、制御レジスタ109_1に、書き込み対象のデータを書き込むとともに、対応するダミーレジスタ107_1にも書き込み対象のデータを書き込む。書き込み要求を受けると、設定部201_1は、タイマー207による書き込み要求に対応する応答信号が発生するまでのアクセス時間の計測開始を設定する。
 図3で示すマルチコアプロセッサシステム100は通常運用時であるため、共有デバイス105_1は、仕様である応答時間=500[マイクロ秒]以内に書き込み要求に対応する応答信号をCPU101#1に送信する。応答信号となるACK信号が共有デバイス105_1から発生すると、設定部201_1は、タイマー207によるアクセス時間の計測停止を設定する。
 図4は、マルチコアプロセッサシステム100の異常状態が発生する前の動作を示す説明図である。図4で示すマルチコアプロセッサシステム100では、アプリ123_5が障害によりストールした状態を示している。障害の内容として、たとえば、アプリ123_5が不正な値をドライバ122#n_1を経由して共有デバイス105_1に書き込んだ場合である。
 このとき、アプリ123_5が、マルチコアプロセッサシステム100の共有資源である、共有デバイス105_1へのアクセス権を取得したままストールしてしまうことがある。なお、図4の状態では、共有デバイス105_1が故障しているわけではないため、ウォッチドッグタイマー102では、異常状態を検出することができない。また、ドライバ122#n_1は、アプリ123_5によってロックされた状態である。
 もし、マルチコアプロセッサシステム100がシングルコアプロセッサシステムであれば、アプリ123_5のストールとともに、OS121がストールすることになる。コアが複数存在するマルチコアプロセッサシステム100は、CPU101ごとに独立したOSを動作させることにより、ストールの影響を最小限に食い止めることが可能である。しかし、CPU101#1上のアプリ123_3が共有デバイス105_1にアクセスを行おうとした場合、応答信号が返らない状態、または、アクセスが行えない状態となる。
 本実施の形態にかかるマルチコアプロセッサシステム100は、このような、応答信号が返らない状態、または、アクセスが行えない状態を防ぐ。初めに、設定部201_1は、アプリ123_5による書き込み時に、タイマー207の計測開始を設定する。
 図5は、マルチコアプロセッサシステム100の異常状態が発生した後の動作を示す説明図である。図5で示すマルチコアプロセッサシステム100は、図4にて計測開始したタイマー207の経過時間が、デバイス応答時間DB108で設定されている応答時間=500[マイクロ秒]を超えた場合を示している。具体的には、マルチコアプロセッサシステム100が図4で示す状態にて、アプリ123_5が、音声データFIFO(First In、First Out)に音声データを書き込み、制御レジスタ109_1にデータセット完了を意味するフラグを設定した場合である。このとき、共有デバイス105_1の仕様として、共有デバイス105_1は、フラグ設定から500[マイクロ秒]にて受信完了を示すACK信号を発行すると定められている場合を想定している。
 書き込み要求からの経過時間が500[マイクロ秒]を超えたことが時差検出部202によって検出された場合、異常検出部203は、ウォッチドッグタイマー102に対して異常状態を示す検出信号を出力する。また、異常検出部203は、INT端子106に対しても、共有デバイス105_1の異常状態を示す検出信号を通知する。なお、INT端子106から検出信号を受信したCPU101は、ドライバ122#n_1をロックしているソフトウェアを検出する割込ハンドラを実行する。なお、ソフトウェアの検出要求は、INT端子106#0~INT端子106#nにブロードキャスト送信してもよいし、アクセスを行ったCPU101#1に対するINT端子106#1のみに送信してもよい。
 また、CPU101#1に応答信号が返らない状態である場合、ACK出力部204が、ダミーACK信号をCPU101#1に送信し、アプリ123_3の停止を防ぐ。従来例にかかるマルチコアプロセッサシステム100では、ACK信号が返らずにOS121がタイムアウトを検出し、アプリ123_3を異常終了するという対応が取られていた。しかし、OS121によるタイムアウトが数秒かかる場合や、または、OS121がタイムアウトせずに、ストールする場合も存在していた。本実施の形態にかかるマルチコアプロセッサシステム100では、ダミーACK信号を送信することで、アプリ123_3の異常終了を避けることができる。
 図6は、マルチコアプロセッサシステム100の異常状態からの復元動作を示す説明図である。図6で示すマルチコアプロセッサシステム100は、図5にて異常検出部203、ACK出力部204が動作した後である。図5にて異常状態の通知を受けたウォッチドッグタイマー102が、CPU101#nのウォームスタート要求を通知する。ウォームスタート要求を受信したCPU101#nはソフトリセットが行われる。また、ドライバ122#n_1は、ロックが解除され、共有デバイス105_1へのアクセス権を解放する。
 また、INT端子106#nから検出信号を受信したCPU101#nは、ドライバ122#n_1をロックしているソフトウェアを検出する割込ハンドラを実行し、アプリ123_5を検出する。検出後、CPU101#nは、検出されたアプリ123_5を強制終了させる。
 また、デバイス制御部205が共有デバイス105_1に対して、リセットを行った後に、書込部206がダミーレジスタ107_1に書き込まれていたデータを制御レジスタ109_1に書き込む。以上の動作により、マルチコアプロセッサシステム100は、異常状態から復旧することになる。問題のあったアプリ123_5が強制終了し、アプリ123_3については正常に処理を続行することができる。
 図7は、デバイス応答時間DB108の記憶内容の一例を示す説明図である。デバイス応答時間DB108は、デバイス名、応答時間という2つのフィールドを含む。デバイス名フィールドには、共有デバイス105の名称が格納される。また、共有デバイス105が一意に特定できるID(IDentification)であってもよい。応答時間フィールドには、共有デバイス105の応答時間が格納される。
 たとえば、監視の優先度が中間の共有デバイス105に対応するデバイス応答時間DB108_0には、共有デバイス105_0、共有デバイス105_1の応答時間が、それぞれ、400[マイクロ秒]、500[マイクロ秒]、と格納されている。また、監視の優先度が高い共有デバイス105に対応するデバイス応答時間DB108_1には、共有デバイス105_2の応答時間が、10[ミリ秒]と格納されている。また、応答時間フィールドに関しては、ユーザによって自由に変更されてもよい。
 図2で示したデバイス監視装置103の機能、および図7で示したデバイス応答時間DB108の記憶内容に基づいて、デバイス監視装置103は、異常状態からの復元処理を行う。図8、図9にて、デバイス監視装置103は、異常状態を検出し、続けて復元処理のフローチャートを示す。
 また、図8、図9で示すフローチャートでは、アプリ123_5の共有デバイス105_1に対する書き込み要求によって、アプリ123_5がストールし、その後、アプリ123_3が共有デバイス105_1に対して書き込み要求を行うことを想定する。また、アプリ123_5、ドライバ122#n_1は、CPU101#nによって実行され、アプリ123_3は、CPU101#1によって実行される。なお、アプリ123_3は、ドライバ122#1_1を呼び出すが、図8、図9では、ドライバ122#1_1の処理については、ドライバ122#n_1と等しいため、図示せず、ドライバ122#n_1の処理番号を引用して説明する。
 図8は、マルチコアプロセッサシステム100の異常状態を検出するまでの処理を示すフローチャートである。アプリ123_5は、ドライバ122#n_1をオープンする(ステップS801)。オープンされたドライバ122#n_1は、共有デバイス105_1に対するアクセス権を取得する(ステップS802)。続けて、ドライバ122#n_1は、制御レジスタ109_1の退避・復元を行う(ステップS803)。
 制御レジスタ109_1の退避・復元が行われた後、アプリ123_5は、ドライバ122#n_1を呼び出して、制御レジスタ109_1の書き込み要求を実行する(ステップS804)。呼び出されたドライバ122#n_1は、制御レジスタ109_1に書き込み要求を行う(ステップS805)。
 書き込み要求を受信したデバイス監視装置103_0は、設定部201_1によって、タイマー207の計測開始を設定する(ステップS806)。続けて、デバイス監視装置103_0は、ダミーレジスタ107_1と制御レジスタ109_1に書き込み要求となるデータを書き込む(ステップS807)。
 書き込み要求後、アプリ123_5は、異常発生を検出したかを判断する(ステップS808)。異常が発生した場合(ステップS808:Yes)、アプリ123_5は、ソフトウェアリカバリ可能か否かを判断する(ステップS809)。ソフトウェアリカバリ可能である場合(ステップS809:Yes)、アプリ123_5は、ソフトウェアリカバリを実行する(ステップS810)。ソフトウェアリカバリ不可能である場合(ステップS809:No)、アプリ123_5は、異常状態となり(ステップS811)、以後、アプリ123_5はストールした状態となる。
 異常発生を検出していない場合(ステップS808:No)、アプリ123_5は、ステップS804の処理に移行する。なお、ステップS808:Noとなった場合、共有デバイス105_1よりACK信号が送られるため、ステップS806で設定されたタイマー207の計測が停止する。ステップS810実行後も、アプリ123_5は、ステップS804の処理に移行する。
 続けて、アプリ123_5がストール中にアプリ123_3による共有デバイス105_1へのアクセスが行われる場合を想定する。アプリ123_3は、ドライバ122#1_1をオープンする(ステップS812)。ステップS812の処理後、ドライバ122#1_1が実行されるが、ステップS812の処理後のドライバ122#1_1の処理は、ステップS802、ステップS803の処理と等しい。しかしながら、アプリ123_5が共有デバイス105_1に対するアクセス権を有したままストールしたために、アプリ123_3は、共有デバイス105_1に対するアクセス権を取得できない。したがって、ドライバ122#1_1は、ステップS803の処理である、制御レジスタ109_1の退避・復元を完了できず、失敗することになる。
 続けて、アプリ123_3は、ドライバ122#1_1を呼び出して、制御レジスタ109_1の書き込み要求を実行する(ステップS813)。ステップS813の処理後、ドライバ122#1_1が実行され、処理としては、ステップS805の処理と同内容の処理が実行される。
 ドライバ122#1_1より制御レジスタ109_1への書き込み要求を受けたデバイス監視装置103_0は、ダミーレジスタ107_1に書き込む(ステップS814)。なお、ステップS814の処理にて、アプリ123_3は共有デバイス105_1に対するアクセス権を有していないため、制御レジスタ109_1に書き込み要求が反映されない。
 図9は、マルチコアプロセッサシステム100の異常状態からの復元処理を示すフローチャートである。デバイス監視装置103_0は、時差検出部202によって、タイマー207の計測によるアクセス時間が応答時間を超えたことを検出し、異常状態として検出する(ステップS901)。異常状態を検出後、デバイス監視装置103_0は、ACK出力部204によって、ダミーACK信号をCPU101#1に出力する(ステップS902)。ダミーACK信号を受けたCPU101#1は、アプリ123_3を正常実行する(ステップS903)。
 また、異常状態を検出後、デバイス監視装置103_0は、異常検出部203によって、検出信号をウォッチドッグタイマー102とINT端子106に出力する(ステップS904)。
 INT端子106#nより、検出信号を受信したCPU101#nが、アプリ123_5を強制終了する(ステップS905)。また、ドライバ122#n_1は、ウォッチドッグタイマー102によって検出信号を受信したOS121#nのウォームスタートにより、共有デバイス105_1に対するアクセス権を解放する(ステップS906)。
 続けて、デバイス監視装置103_0は、異常検出部203によって、ダミーレジスタ107_1に対する書き込みを禁止する(ステップS907)。書き込み禁止後、デバイス監視装置103は、デバイス制御部205によって、共有デバイス105_1に対してリセットの指示を行う(ステップS908)。共有デバイス105_1のリセット完了後、デバイス監視装置103_0は、書込部206によって、ダミーレジスタ107_1の内容を、制御レジスタ109_1に書き込む(ステップS909)。書き込み後、デバイス監視装置103_0は、ダミーレジスタ107に対する書き込み禁止を解除する(ステップS910)。
 なお、図8、図9に示したフローチャートでは、問題のあるアプリ123_5がストールした後、問題のないアプリ123_3が共有デバイス105_1にアクセスしている。もし、問題のあるアプリ123_5がストールした後に、何れのアプリも共有デバイス105_1にアクセスしない場合でも、マルチコアプロセッサシステム100は、異常状態を復元することができる。何れのアプリも共有デバイス105_1にアクセスしない場合、デバイス監視装置103_0は、ステップS814、ステップS902、ステップS909の処理を行わない。
 以上説明したように、アクセス方法、およびマルチコアプロセッサシステムによれば、CPUからドライバによるアクセス開始時刻以後、応答信号が返らずに所定時間が経過した場合、デバイス監視装置が共有デバイスの異常状態として検出信号を出力する。これにより、マルチコアプロセッサシステムは、ドライバが共有デバイスへのアクセスによって発生するストールを検出できる。
 また、デバイス監視装置は、所定時間について、共有デバイスの仕様となる応答時間を格納するメモリから参照してもよい。これにより、マルチコアプロセッサシステムは、応答時間の異なる共有デバイスの動作に合わせて、異常状態を検出できる。また、マルチコアプロセッサシステムは、ユーザの指示等により、所定時間を変更してもよい。
 また、デバイス監視装置は、共有デバイスからアクセスに対する応答信号が出力される場合には、所定時間とアクセス開始時刻からのアクセス時間との比較を停止する。これにより、マルチコアプロセッサシステムは、共有デバイスが正常に動作している場合に異常状態として検出してしまうことがないようにできる。
 また、デバイス監視装置は、CPUから共有デバイスに対して書き込まれるデータを保持する記憶領域を有し、異常状態を検出した場合に、記憶領域に対する保持を禁止してもよい。これにより、マルチコアプロセッサシステムは、異常状態となって共有デバイスに書き込まれなかったデータを、他のCPU等からによる上書きから保護することができる。
 また、デバイス監視装置は、異常状態を検出する前に記憶領域に書き込まれたデータを、異常検出後も保持していてもよい。これにより、マルチコアプロセッサシステムは、異常状態となって共有デバイスの制御レジスタに書き込まれなかったデータを保持することができる。
 また、デバイス監視装置は、検出信号に基づいてドライバがリセットされた後、記憶領域に保持していたデータを、共有デバイスの制御レジスタに書き込んでもよい。これにより、マルチコアプロセッサシステムは、異常状態から復元でき、異常状態を発生させたアプリとは異なる、問題のないアプリによって発生したデータを、共有デバイスに書き込ませることができる。
 また、デバイス監視装置は、記憶領域に保持していたデータを共有デバイスに書き込んだ後、異常状態を発生させたアプリを実行していたCPUとは異なる他のCPUによって実行される別のアプリからの共有デバイスへのアクセスを受け付けてもよい。これにより、マルチコアプロセッサシステムは、別のアプリがストールすることがなく、ストールが連鎖的に発生することを避けることができる。
 また、従来例にかかるマルチコアプロセッサシステムでは、OSがアプリからの応答がないことを異常状態として検出していた。この場合、異常状態として検出できるまでに数秒かかってしまうため、ストールの連鎖が発生してしまい、また、ユーザの利便性が下がるといった問題があった。本実施の形態にかかるマルチコアプロセッサシステムでは、共有デバイスの応答時間という、短い時間で異常状態を検出できるため、ストールの連鎖が発生する前に異常状態を検出できるうえ、ユーザにも異常状態が発生したことを気づかれにくいという効果がある。
 また、従来例にかかるマルチコアプロセッサシステムでは、ストールが連鎖的に発生した場合に、ユーザが装置の故障と錯覚する可能性がある。錯覚した結果、設計者等が故障に対する対応が発生するという問題があった。装置の故障となった場合、故障の点検のために装置を回収することになり、対応にかかるコストが大きくなるという問題もあった。また、ソフトウェアによる異常発生は、様々な条件が重なったときに発生することもあり、異常状態の再現が困難であるという問題もあった。
 しかし、本実施の形態にかかるマルチコアプロセッサシステムでは、問題のあるアプリが強制終了し、他のアプリは正常実行するために、ユーザは装置の故障と錯覚せずにアプリに問題があるということを容易に判断できる。これにより、障害のレポートがあった場合、装置の回収をしなくてもよく、開発者は問題のあるアプリの再配布を行うことで対応できるため、マルチコアプロセッサシステは、対応にかかるコストを小さくすることができる。
 また、本実施の形態で説明したデバイス監視装置103は、スタンダードセルやストラクチャードASIC(Application Specific Integrated Circuit)などの特定用途向けIC(以下、単に「ASIC」と称す。)やFPGAなどのPLD(Programmable Logic Device)によっても実現することができる。具体的には、たとえば、上述したデバイス監視装置103の機能(設定部201~タイマー207)をHDL記述によって機能定義し、そのHDL記述を論理合成してASICやPLDに与えることにより、デバイス監視装置103を製造することができる。
 102 ウォッチドッグタイマー
 103 デバイス監視装置
 105 共有デバイス
 107 ダミーレジスタ
 108 デバイス応答時間DB
 109 制御レジスタ
 110、112 制御線
 111、113 データ線
 201 設定部
 202 時差検出部
 203 異常検出部
 204 ACK出力部
 205 デバイス制御部
 206 書込部
 207 タイマー

Claims (9)

  1.  第1アプリケーションの実行開始に基づいて第1CPUに対応するドライバを活性化し、
     周辺デバイスへのアクセスに基づいてアクセス時間の計測を開始し、
     前記アクセス時間が所定時間を超える場合には前記ドライバをリセットするための検出信号を出力するとともに、前記第1CPUから前記周辺デバイスに書き込まれるデータを保持するレジスタへの書き込みを禁止すること
     を特徴とするアクセス方法。
  2.  前記所定時間は、前記周辺デバイスの応答時間を格納するメモリから参照されること
     を特徴とする請求項1に記載のアクセス方法。
  3.  前記周辺デバイスから前記アクセスに対する応答信号が出力される場合には、前記所定時間と前記アクセス時間との比較を停止すること
     を特徴とする請求項1または請求項2に記載のアクセス方法。
  4.  前記レジスタは書き込みが禁止される前に書き込まれたデータを保持すること
     を特徴とする請求項1乃至請求項3の何れか一の請求項に記載のアクセス方法。
  5.  前記検出信号に基づいて前記ドライバがリセットされた後に前記レジスタに保持されるデータが前記周辺デバイスに書き込まれること
     を特徴とする請求項1乃至請求項4の何れか一の請求項に記載のアクセス方法。
  6.  前記レジスタのデータが前記周辺デバイスに書き込まれた後に、第2CPUによって実行される第2アプリケーションが前記周辺デバイスへアクセスすること
     を特徴とする請求項5に記載のアクセス方法。
  7.  第1アプリケーションを実行する第1CPUと、
     前記第1アプリケーションによってアクセスされる周辺デバイスと、
     を含み、
     前記周辺デバイスに、タイマーと第1検出回路と第2検出回路とレジスタとを含む仮想レジスタを設定し、
     前記タイマーは前記アクセスに応答してアクセス時間を計測し、
     前記第1検出回路は前記アクセス時間と所定時間とを比較し、
     前記第2検出回路は前記アクセス時間が前記所定時間を超えているときに検出信号を出力し、前記第1CPUから前記周辺デバイスに書き込まれるデータの前記レジスタへの書き込みを停止すること
     を特徴とするマルチコアプロセッサシステム。
  8.  前記検出信号に基づいて、前記第1CPUに対応するドライバがリセットされること
     を特徴とする請求項7に記載のマルチコアプロセッサシステム。
  9.  前記レジスタに保持されるデータが前記周辺デバイスに書き込まれること
     を特徴とする請求項8に記載のマルチコアプロセッサシステム。
PCT/JP2010/070319 2010-11-15 2010-11-15 アクセス方法、およびマルチコアプロセッサシステム WO2012066622A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
PCT/JP2010/070319 WO2012066622A1 (ja) 2010-11-15 2010-11-15 アクセス方法、およびマルチコアプロセッサシステム
CN201080070131.7A CN103210381B (zh) 2010-11-15 2010-11-15 访问方法以及多核处理器***
EP10859635.4A EP2642399A1 (en) 2010-11-15 2010-11-15 Access method, and multi-core processor system
JP2012544021A JP5541368B2 (ja) 2010-11-15 2010-11-15 アクセス方法、およびマルチコアプロセッサシステム
US13/894,022 US9164823B2 (en) 2010-11-15 2013-05-14 Resetting a peripheral driver and prohibiting writing into a register retaining data to be written into a peripheral on exceeding a predetermined time period

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2010/070319 WO2012066622A1 (ja) 2010-11-15 2010-11-15 アクセス方法、およびマルチコアプロセッサシステム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US13/894,022 Continuation US9164823B2 (en) 2010-11-15 2013-05-14 Resetting a peripheral driver and prohibiting writing into a register retaining data to be written into a peripheral on exceeding a predetermined time period

Publications (1)

Publication Number Publication Date
WO2012066622A1 true WO2012066622A1 (ja) 2012-05-24

Family

ID=46083588

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2010/070319 WO2012066622A1 (ja) 2010-11-15 2010-11-15 アクセス方法、およびマルチコアプロセッサシステム

Country Status (5)

Country Link
US (1) US9164823B2 (ja)
EP (1) EP2642399A1 (ja)
JP (1) JP5541368B2 (ja)
CN (1) CN103210381B (ja)
WO (1) WO2012066622A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018522357A (ja) * 2015-07-29 2018-08-09 メイコム コネクティビティ ソリューションズ,エルエルシーMacom Connectivity Solutions,Llc データリクエストに関連するクロックカウンタに基づくタイムアウト信号の生成
WO2018225641A1 (ja) * 2017-06-06 2018-12-13 日本電気株式会社 通信制御方法、記録媒体および通信制御装置
JP2020536306A (ja) * 2017-09-30 2020-12-10 ホアウェイ・テクノロジーズ・カンパニー・リミテッド システムサービスタイムアウト処理方法および装置

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9612893B2 (en) 2015-05-11 2017-04-04 Silicon Laboratories Inc. Peripheral watchdog timer
CN106407032A (zh) * 2016-09-18 2017-02-15 深圳震有科技股份有限公司 一种基于多核***的硬件看门狗控制方法及***
US10585755B2 (en) * 2016-11-29 2020-03-10 Ricoh Company, Ltd. Electronic apparatus and method for restarting a central processing unit (CPU) in response to detecting an abnormality
JP6645467B2 (ja) * 2017-03-28 2020-02-14 株式会社デンソー マイクロコンピュータ
JP6796040B2 (ja) * 2017-08-29 2020-12-02 日立オートモティブシステムズ株式会社 アクセス制御装置
US11263332B2 (en) * 2018-07-31 2022-03-01 International Business Machines Corporation Methods to discourage unauthorized register access
CN111274093B (zh) * 2020-01-23 2023-12-01 湖南快乐阳光互动娱乐传媒有限公司 一种应用程序的排序方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS55108026A (en) 1979-02-13 1980-08-19 Hitachi Ltd Common use system for input and output unit
JPH04273561A (ja) * 1991-02-28 1992-09-29 Nec Corp 入出力装置の占有制御方法および占有制御装置
JPH06208536A (ja) 1993-01-11 1994-07-26 Mitsubishi Electric Corp 配線設定装置
JP2001109646A (ja) * 1999-10-12 2001-04-20 Alps Electric Co Ltd ハードウェア初期化システム
JP2007507034A (ja) 2003-09-26 2007-03-22 エイティーアイ・テクノロジーズ,インコーポレイテッド コプロセッサを監視及びリセットするための方法及び装置
JP2008269335A (ja) * 2007-04-20 2008-11-06 Ricoh Co Ltd データ転送集積回路およびデータ転送装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2290891B (en) * 1994-06-29 1999-02-17 Mitsubishi Electric Corp Multiprocessor system
US20030140261A1 (en) * 2002-01-24 2003-07-24 Minoru Takasaki Control apparatus
US7146542B2 (en) * 2002-12-20 2006-12-05 Hewlett-Packard Development Company, L.P. Method and apparatus for diagnosis and repair of computer devices and device drivers
US7366944B2 (en) * 2005-01-14 2008-04-29 Microsoft Corporation Increasing software fault tolerance by employing surprise-removal paths
US7610445B1 (en) * 2005-07-18 2009-10-27 Palm, Inc. System and method for improving data integrity and memory performance using non-volatile media
US8001425B2 (en) * 2009-04-08 2011-08-16 Hewlett-Packard Development Company, L.P, Preserving state information of a storage subsystem in response to communication loss to the storage subsystem
JP4660604B2 (ja) * 2009-05-28 2011-03-30 株式会社東芝 情報処理装置および環境設定方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS55108026A (en) 1979-02-13 1980-08-19 Hitachi Ltd Common use system for input and output unit
JPH04273561A (ja) * 1991-02-28 1992-09-29 Nec Corp 入出力装置の占有制御方法および占有制御装置
JPH06208536A (ja) 1993-01-11 1994-07-26 Mitsubishi Electric Corp 配線設定装置
JP2001109646A (ja) * 1999-10-12 2001-04-20 Alps Electric Co Ltd ハードウェア初期化システム
JP2007507034A (ja) 2003-09-26 2007-03-22 エイティーアイ・テクノロジーズ,インコーポレイテッド コプロセッサを監視及びリセットするための方法及び装置
JP2008269335A (ja) * 2007-04-20 2008-11-06 Ricoh Co Ltd データ転送集積回路およびデータ転送装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018522357A (ja) * 2015-07-29 2018-08-09 メイコム コネクティビティ ソリューションズ,エルエルシーMacom Connectivity Solutions,Llc データリクエストに関連するクロックカウンタに基づくタイムアウト信号の生成
WO2018225641A1 (ja) * 2017-06-06 2018-12-13 日本電気株式会社 通信制御方法、記録媒体および通信制御装置
JP2018206105A (ja) * 2017-06-06 2018-12-27 日本電気株式会社 通信制御方法、プログラムおよび装置
JP7009786B2 (ja) 2017-06-06 2022-01-26 日本電気株式会社 通信制御方法、プログラムおよび装置
JP2020536306A (ja) * 2017-09-30 2020-12-10 ホアウェイ・テクノロジーズ・カンパニー・リミテッド システムサービスタイムアウト処理方法および装置
JP7006780B2 (ja) 2017-09-30 2022-01-24 ホアウェイ・テクノロジーズ・カンパニー・リミテッド システムサービスタイムアウト処理方法および装置
US11693701B2 (en) 2017-09-30 2023-07-04 Huawei Technologies Co., Ltd. System service timeout processing method, and apparatus

Also Published As

Publication number Publication date
US20130254598A1 (en) 2013-09-26
JP5541368B2 (ja) 2014-07-09
CN103210381A (zh) 2013-07-17
CN103210381B (zh) 2015-11-25
JPWO2012066622A1 (ja) 2014-05-12
EP2642399A1 (en) 2013-09-25
US9164823B2 (en) 2015-10-20

Similar Documents

Publication Publication Date Title
JP5541368B2 (ja) アクセス方法、およびマルチコアプロセッサシステム
US8892944B2 (en) Handling a failed processor of multiprocessor information handling system
US10585755B2 (en) Electronic apparatus and method for restarting a central processing unit (CPU) in response to detecting an abnormality
US11068360B2 (en) Error recovery method and apparatus based on a lockup mechanism
JP2006309760A (ja) データプロセッサの異常動作を検出するためのモニタリング論理及びモニタリング方法
US20110185153A1 (en) Simultaneous execution resumption of multiple processor cores after core state information dump to facilitate debugging via multi-core processor simulator using the state information
JP2018116679A (ja) バスハング検出
EP3360044B1 (en) System and method for providing operating system independent error control in a computing device
US20150006978A1 (en) Processor system
US8787155B2 (en) Sideband error signaling
JP2003511756A (ja) コンピュータにおいて故障分離および診断を改善する機構
US20140025903A1 (en) Multi-core processor system
US10318466B2 (en) Method and apparatus for handling outstanding interconnect transactions
JP5788611B2 (ja) リセット後の評価のためにリセットより前の状態を保存するための方法および装置
US20120311206A1 (en) Facilitating processing in a communications environment using stop signaling
JP4644720B2 (ja) 制御方法、情報処理装置及びストレージシステム
US20040078649A1 (en) Computer system
CN108415788B (zh) 用于对无响应处理电路作出响应的数据处理设备和方法
JPH02205956A (ja) マルチプロセッサシステムにおけるデュアルポートメモリの故障診断装置
TW200846901A (en) Method for diagnosing system abnormality
JP6992295B2 (ja) 電子装置
JP3230798B2 (ja) 冗長システム
CN115132262A (zh) 一种快速ram检测方法、***、检测设备及存储介质

Legal Events

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

Ref document number: 10859635

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2012544021

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 2010859635

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE