KR20140015030A - Firmware operating apparatus and method therefor - Google Patents
Firmware operating apparatus and method therefor Download PDFInfo
- Publication number
- KR20140015030A KR20140015030A KR1020120082677A KR20120082677A KR20140015030A KR 20140015030 A KR20140015030 A KR 20140015030A KR 1020120082677 A KR1020120082677 A KR 1020120082677A KR 20120082677 A KR20120082677 A KR 20120082677A KR 20140015030 A KR20140015030 A KR 20140015030A
- Authority
- KR
- South Korea
- Prior art keywords
- firmware
- mcu
- error count
- partner
- converter
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/24—Resetting means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/654—Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
Abstract
A firmware driving device and a driving method thereof are disclosed. According to an aspect of the present invention, there is provided a firmware driving apparatus comprising: a converter for converting an analog (AD) conversion corresponding to each hardware device; A plurality of micro control units (MCUs) each receiving an AD converted signal by a converter; And an external shared memory which is connected to each MCU in common and updates and stores valid firmware of each MCU at the end of the system. Here, each MCU receives valid firmware from the external shared memory based on the AD converted signal received from the converter and the AD converted signal received from the converter by the partner MCU to recover the firmware stored in the internal memory.
Description
The present invention relates to a firmware driving device and a method for driving the same, and manages while updating a valid backup firmware image in a secondary memory at every boot in a system using multiple MCUs, and detects a firmware error in real time through monitoring between MCUs. The present invention relates to a firmware driving apparatus and a driving method thereof capable of improving stability and reliability of firmware by performing immediate recovery when an error occurs in any one of them.
Firmware generally refers to a microprocessor program stored in a ROM to control hardware. Firmware is the same as software in terms of programs, but it is distinguished from general application software in that it is closely related to hardware. In this sense, firmware has both software and hardware characteristics.
For example, if you create a hardware that performs a certain function, if you make all the circuits that control it only as hardware, the structure becomes very complicated and even logical expressions become difficult. In such a case, a large part of the software can be replaced, but the memory stored in the software is configured as a central part of the control circuit of the hardware, which can solve the problem very simply and at low cost. The hardware software is called firmware. In this case, the hardware has a software characteristic because it does not have a separate logic circuit, but from the software perspective, it can be described as having a hardware characteristic because the micro program controls the hardware.
If the function of the software can be changed by the firmware, the speed is significantly increased. Therefore, a program requiring high speed processing may be used by the firmware. Also, changing the hardware function to firmware is slower, but it has the advantage of being cheaper and more convenient to implement and use than designing and using the logic circuit for the function.
On the other hand, since a problem may occur in the operation of the system when such an error occurs in the firmware, the general firmware drive device is the same as the two or more micro Crontrol Unit (MCU) (10, 20) as shown in FIG. The firmware is stored to operate each
In this case, the
Similarly, the controller 24 of the MCU
However, such a firmware driving device has a problem in that it takes a lot of time when valid firmware is searched and transmitted because each MCU independently stores an external memory and stores a copy of the firmware image.
In addition, in the determination of whether the effective firmware is necessary using the heartbeat function, there is a trade off according to the heartbeat time interval setting. Therefore, in the case where the heartbeat time interval is long, the determination of the need of the effective firmware is delayed. Therefore, as a result, failure diagnosis is delayed, and when the heartbeat time interval is short, the heartbeat message communication becomes frequent and the MCU occupancy increases, resulting in a decrease in performance of the original function.
In addition, even in response to an incorrect value generated due to a malfunction of the
In addition, when there is an error in the firmware itself stored in the external memory, there is a problem that an error occurs in the firmware to be recovered by using it.
The present invention was devised to solve the above-described problem, and manages while updating a valid backup firmware image in the sub-memory at every boot in a system using multiple MCUs, and detects firmware errors in real time through monitoring between the MCUs. It is an object of the present invention to provide a firmware driving apparatus and a driving method thereof, which can improve the stability and reliability of firmware by performing immediate recovery when an error occurs in any one of them.
A firmware driving device according to an embodiment of the present invention for achieving the above object, a converter for converting the AD (Analog Digital) corresponding to each hardware device; A plurality of micro control units (MCUs) each receiving an AD converted signal by a converter; And an external shared memory which is connected to each MCU in common and updates and stores valid firmware of each MCU at the end of the system. Here, each MCU receives valid firmware from the external shared memory based on the AD converted signal received from the converter and the AD converted signal received from the converter by the partner MCU to recover the firmware stored in the internal memory.
Each MCU includes a comparison unit for comparing the difference between the AD converted signal received from the converter and the AD converted signal received from the converter by the partner MCU, wherein the difference between the signals compared by the comparison unit is greater than the set difference value. In this case, you can restore the firmware.
Each MCU further includes an error count increasing unit that increases the error count by a set increment value when the difference of signals compared by the comparing unit is greater than the set difference value, wherein the error count increased by the error count increasing unit is increased. You can restore the firmware if it is more than the set parameter.
Each MCU further includes an error count reduction unit that decreases the error count by a set decrease value when the difference between the signals compared by the comparison unit is equal to or less than the set difference value and the error count increased by the error count increase unit is 0 or more. can do.
Each MCU may include a firmware search unit for searching for valid firmware from an external shared memory when the error count increased by the error count increasing unit is equal to or greater than a set integer; And a firmware transmission unit configured to transmit the valid firmware retrieved by the firmware search unit to the partner MCU.
Each MCU may directly update the firmware of the partner MCU when the internal memory of the partner MCU is accessible.
Each MCU changes and resets the boot mode of the partner MCU when the internal memory of the partner MCU is not accessible.
A firmware driving method according to an embodiment of the present invention for achieving the above object, the firmware driving method performed by a firmware driving apparatus having a plurality of MCU, comprising: AD conversion corresponding to each hardware device; A plurality of MCUs each receiving an AD converted signal by an AD conversion step; And each MCU receiving valid firmware from an external shared memory based on the AD converted signal received from the converter and the AD converted signal received from the converter by the partner MCU, and recovering the firmware stored in the internal memory. The external shared memory is connected to each MCU in common and is characterized by updating and storing the effective firmware of each MCU at the end of the system.
The above-described firmware driving method includes comparing a difference between the AD converted signal received from the converter and the AD converted signal received from the converter by the partner MCU, and the difference value in which the difference of the compared signal is set by the comparing step is set. If it is larger, you can restore the firmware.
The above-described firmware driving method further includes the step of increasing the error count by a predetermined increase value when the difference of the signals compared by the comparing step is larger than the set difference value, wherein the error count increased by the error count increasing step is increased. You can also restore the firmware if it is more than the set parameter.
The above-described firmware driving method further includes the step of decreasing the error count by a set decrease value when the difference of the signals compared by the comparing step is equal to or less than the set difference value and the error count increased by the error count increasing unit is equal to or greater than zero. can do.
The above-described firmware driving method further includes the step of retrieving valid firmware from the external shared memory when the error count increased by the error count increasing step is equal to or greater than a set integer, and the valid firmware retrieved by the firmware retrieving step is transmitted to the partner MCU. send.
In the above-described firmware driving method, when the internal memory of the partner MCU is accessible, the firmware of the partner MCU may be directly updated.
The above-described firmware driving method may change and reset the boot mode of the partner MCU.
According to the present invention, the MCU occupancy rate can be lowered by comparing and analyzing the AD conversion value of each device in place of the frequent use of the heartbeat function message to determine whether the effective firmware is required.
In addition, instead of operating the external memory independently for each MCU, it is possible to reduce the number of memories by managing the effective firmware using one external shared memory.
In addition, the system using multiple MCUs updates and manages the effective backup firmware image in the sub-memory at every boot, monitors the MCUs in real time to detect firmware errors in real time, and immediately recovers in case of any one error. This improves the stability and reliability of the firmware.
1 is a diagram illustrating a firmware driving apparatus having multiple MCUs according to the related art.
2 is a view showing a firmware driving apparatus according to an embodiment of the present invention.
FIG. 3 is a diagram illustrating the configuration of the MCU of FIG. 2 in detail.
4 is a flowchart illustrating a firmware driving method according to an embodiment of the present invention.
Hereinafter, a firmware driving apparatus and a driving method thereof according to an embodiment of the present invention will be described in detail with reference to the accompanying drawings.
2 is a view showing a firmware driving apparatus according to an embodiment of the present invention.
Referring to FIG. 2, the firmware driving apparatus according to the embodiment of the present invention may include a
The
Each
Each
The external shared
At this time, each
FIG. 3 is a diagram illustrating the configuration of the MCU of FIG. 2 in detail.
Referring to FIG. 3, each
The
The error
The error
The
In this case, the
Each
4 is a flowchart illustrating a firmware driving method according to an embodiment of the present invention.
2 to 4, the
Each
The
When the difference between the signals compared by the
When the error count increased by the error
The
In addition, when each
The foregoing description is merely illustrative of the technical idea of the present invention and various changes and modifications may be made by those skilled in the art without departing from the essential characteristics of the present invention. Therefore, the embodiments disclosed in the present invention are intended to illustrate rather than limit the scope of the present invention, and the scope of the technical idea of the present invention is not limited by these embodiments. Further, the scope of protection of the present invention should be construed according to the claims, and all technical ideas within the scope of the same should be interpreted as being included in the scope of the present invention.
30: device 35: converter
100: MCU 110: internal memory
120: controller 130: comparison unit
140: error count reduction unit 150: error count reduction unit
160: firmware search unit 170: firmware transmission unit
200: external shared memory
Claims (14)
A plurality of micro control units (MCUs) each receiving the AD converted signal by the converter; And
External shared memory connected to each MCU in common and updating and storing the effective firmware of each MCU at the end of the system
Including;
Each of the MCUs may receive valid firmware from the external shared memory based on an AD converted signal received from the converter and an AD converted signal received from the converter by a partner MCU to restore firmware stored in the internal memory. Firmware drive device.
A comparator comparing the difference between the AD converted signal received from the converter and the AD converted signal received from the converter by the partner MCU
Including;
And firmware is restored when the difference between the signals compared by the comparing unit is larger than the set difference value.
An error count increasing unit for increasing an error count by a set increment value when a difference between signals compared by the comparison unit is greater than the set difference value;
Further comprising:
And firmware is restored when the error count increased by the error count increasing unit is equal to or greater than a set integer.
An error count reduction unit that decreases the error count by a set decrease value when the difference between the signals compared by the comparison unit is equal to or less than the set difference value and the error count increased by the error count increasing unit is 0 or more;
Firmware drive device further comprising.
A firmware retrieving unit for retrieving valid firmware from the external shared memory when the error count increased by the error count increasing unit is greater than or equal to a set integer; And
Firmware transmission unit for transmitting the effective firmware retrieved by the firmware search unit to the partner MCU
Firmware drive device further comprising.
If the internal memory of the partner MCU is accessible, the firmware driver, characterized in that for updating the firmware of the partner MCU directly.
When the internal memory of the partner MCU is not accessible, the firmware drive device, characterized in that for changing and resetting the boot mode of the partner MCU.
AD conversion corresponding to each hardware device;
Receiving, by the plurality of MCUs, signals AD converted by the AD conversion step, respectively; And
Recovering the firmware stored in the internal memory by receiving the valid firmware from the external shared memory based on the AD converted signal received from the converter and the AD MCU received from the converter by each of the MCUs;
Including;
The external shared memory is connected in common to each of the MCU, the firmware driving method, characterized in that for updating and storing the effective firmware of each of the MCU at the end of the system.
Comparing the difference between the AD converted signal received from the converter and the AD converted signal received from the converter by the partner MCU.
Including;
And firmware is restored when the difference between the signals compared by the comparing step is larger than the set difference value.
Increasing the error count by a set increment value when the difference of the signals compared by the comparing step is greater than the set difference value;
Further comprising:
And recovering firmware when the error count increased by the error count increasing step is equal to or greater than a set integer.
If the difference of the signals compared by the comparing step is equal to or less than the set difference value and the error count increased by the error count increasing unit is equal to or greater than 0, decreasing the error count by a set decrease value;
Firmware driving method comprising a further.
Retrieving valid firmware from the external shared memory when the error count increased by the error count increasing step is equal to or greater than a set integer;
Further comprising:
The firmware driving method, characterized in that for transmitting the valid firmware retrieved by the firmware search step to the partner MCU.
If the internal memory of the partner MCU is accessible, firmware driving method, characterized in that for updating the firmware of the partner MCU directly.
Changing and resetting a boot mode of the partner MCU when the internal memory of the partner MCU is not accessible;
Firmware driving method comprising a further.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120082677A KR20140015030A (en) | 2012-07-27 | 2012-07-27 | Firmware operating apparatus and method therefor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120082677A KR20140015030A (en) | 2012-07-27 | 2012-07-27 | Firmware operating apparatus and method therefor |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20140015030A true KR20140015030A (en) | 2014-02-06 |
Family
ID=50264825
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020120082677A KR20140015030A (en) | 2012-07-27 | 2012-07-27 | Firmware operating apparatus and method therefor |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20140015030A (en) |
-
2012
- 2012-07-27 KR KR1020120082677A patent/KR20140015030A/en not_active Application Discontinuation
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3110068B1 (en) | Device management method | |
US20150149822A1 (en) | Event handling in storage area networks | |
JP5127491B2 (en) | Storage subsystem and control method thereof | |
JP2009540436A (en) | SAS expander to isolate obstacles | |
US9256489B2 (en) | Synchronized debug information generation | |
US10324780B2 (en) | Efficient data system error recovery | |
US20110099415A1 (en) | Cec communications device, audio and visual device using thereof, and cec communications method | |
US9772920B2 (en) | Dynamic service fault detection and recovery using peer services | |
US11953976B2 (en) | Detecting and recovering from fatal storage errors | |
US9697078B2 (en) | Method and device for auto recovery storage of JBOD array | |
US20070022229A1 (en) | Computer system and computer system control method | |
US7428655B2 (en) | Smart card for high-availability clustering | |
JP6264155B2 (en) | Information processing apparatus, information processing apparatus control method, and information processing apparatus control program | |
US8484546B2 (en) | Information processing apparatus, information transmitting method, and information receiving method | |
US9003068B2 (en) | Service channel for connecting a host computer to peripheral devices | |
KR20140015030A (en) | Firmware operating apparatus and method therefor | |
US8473788B2 (en) | Monitoring program, monitoring apparatus, and monitoring method | |
US10210033B2 (en) | Managing component errors with a common software sensor based diagnostic method | |
CN105843336A (en) | Rack with a plurality of rack management modules and method for updating firmware thereof | |
US20140006842A1 (en) | Storage system and method for controlling storage system | |
CN105718325A (en) | Virtual machine cluster-based rollback method, system and server | |
CN108599982B (en) | Data recovery method and related equipment | |
US9246848B2 (en) | Relay apparatus, storage system, and method of controlling relay apparatus | |
CN115668148A (en) | Retrieving diagnostic information from PCI express endpoints | |
CN111666231B (en) | Method for maintaining memory sharing in clustered system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Withdrawal due to no request for examination |