KR20140015030A - Firmware operating apparatus and method therefor - Google Patents

Firmware operating apparatus and method therefor Download PDF

Info

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
Application number
KR1020120082677A
Other languages
Korean (ko)
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 KR1020120082677A priority Critical patent/KR20140015030A/en
Publication of KR20140015030A publication Critical patent/KR20140015030A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/24Resetting means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software 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

Firmware operating device and method for driving the same {Firmware Operating Apparatus and Method therefor}

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 hardware device 30 of the system. That is, the firmware stored in the internal memory 12 of the MCU A 10 and the firmware stored in the internal memory 22 of the MCU B 20 are the same. At this time, a copy of a valid firmware image is stored in each of the external memories 16 and 26, and the MCU A 10 and the MCU B 20 are connected to each other.

In this case, the controller 14 of the MCU A 10 uses the heartbeat function to determine whether the MCU B 20 needs a valid firmware image, that is, the internal memory 22 of the MCU B 20. It is determined whether an error has occurred in the firmware stored in the firmware. When an error occurs in the firmware of the MCU B 20, a copy of a valid firmware image stored in the external memory 16 is transmitted to the MCU B 20 to store the internal memory 22. Restore existing firmware stored in. Here, the heartbeat function is to monitor each function of the MCU at the endpoint, when there is no response within a certain time when the MCU A 10 sends a specific function response request message to the MCU B 20. Determine that you need a valid firmware image.

Similarly, the controller 24 of the MCU B 20 uses the heartbeat function to determine whether the MCU A 10 requires a valid firmware image, that is, the firmware stored in the internal memory 12 of the MCU A 10. If there is an error in the firmware of the MCU A (10), the existing firmware stored in the internal memory 12 by transmitting a copy of a valid firmware image stored in the external memory 26 to the MCU A (10) Restore

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 MCU B 20 in the example of FIG. 1, the MCU A 10 does not execute a recovery because the MCU A 10 determines that the response is only valid firmware. There is a problem.

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 hardware device 30, a converter 35, a plurality of MCUs 100, and an external shared memory 200.

The converter 35 converts an analog signal into a digital signal (AD) in correspondence with each hardware device 30.

Each MCU 100 stores firmware for controlling each hardware device 30 in the internal memory 110, and operates each hardware device according to the firmware through the controller 120. In addition, each MCU 100 is connected to each other communication interface can transmit and receive data. In this case, each MCU 100 may store and operate the same firmware, or may store and operate different firmware. In FIG. 2, assuming that the firmware operated by each MCU 100 is different, the MCU A and the MCU B are represented.

Each MCU 100 receives the AD converted signal by the converter 35, respectively. At this time, each MCU 100 receives the same AD conversion signal from the converter 35, or receives different AD conversion signal according to the operating firmware. That is, when the firmware operated by each MCU 100 is different from each other, different AD conversion signals may be received from the converter 35.

The external shared memory 200 is commonly connected to each MCU 100, and updates and stores valid firmware of each MCU 100 at the end of the system. That is, the external shared memory 200 determines that the firmware is valid firmware when the firmware operated by the MCU 100 operates without abnormality during the driving time of the system ON and OFF. The stored firmware is maintained as the latest firmware by updating and storing the firmware determined as the firmware to the previously stored firmware.

At this time, each MCU 100 is effective firmware from the external shared memory 200 based on the AD converted signal received from the converter 35 and the AD converted signal received by the partner MCU 100 from the converter 35. Receives and restores the firmware stored in the internal memory. Here, the partner MCU 100 refers to MCU B for MCU A or MCA A for MCU B.

FIG. 3 is a diagram illustrating the configuration of the MCU of FIG. 2 in detail.

Referring to FIG. 3, each MCU 100 includes a comparator 130, an error count increasing unit 140, an error count reducing unit 150, and a firmware searching unit in addition to the internal memory 110 and the controller 120. 160 and the firmware transmitter 170 may be included.

The comparator 130 compares the difference between the AD converted signal received from the converter 35 and the AD converted signal received from the converter 35 by the partner MCU 100. At this time, each MCU 100 may restore the firmware when the difference of the signal compared by the comparison unit 130 is greater than the set difference value.

The error count increasing unit 140 may increase the error count by the set increment value when the difference between the signals compared by the comparator 130 is greater than the set difference value. In this case, each MCU 100 may restore the firmware when the error count increased by the error count increasing unit is greater than or equal to a set integer.

The error count reduction unit 150 decreases the set error count when the difference of the signal compared by the comparison unit 130 is equal to or less than the set difference value and the error count increased by the error count increase unit 140 is 0 or more. You can decrease it by a value.

The firmware search unit 160 searches for valid firmware from the external shared memory 200 when the error count increased by the error count increasing unit 140 is equal to or greater than a set integer.

In this case, the firmware transmission unit 170 may transmit the valid firmware searched by the firmware search unit 160 to the partner MCU 100.

Each MCU 100 may directly update the firmware of the partner MCU when the internal memory of the partner MCU is accessible. Each MCU 100 may change and reset the boot mode of the partner MCU when the internal memory of the partner MCU is not accessible.

4 is a flowchart illustrating a firmware driving method according to an embodiment of the present invention.

2 to 4, the converter 35 AD converts an analog signal into a digital signal corresponding to each hardware device 30 (S102).

Each MCU 100 receives an AD converted signal by the converter 35 (S104). In this case, each MCU 100 may receive the same AD conversion signal from the converter 35, or may receive different AD conversion signals according to the operating firmware.

The comparator 130 compares the difference between the AD converted signal received by the MCU 100 from the converter 35 and the AD converted signal received by the partner MCU 100 from the converter 35 (S106). . When the difference between the AD converted signal received from the converter 35 and the AD converted signal received by the partner MCU 100 from the converter 35 is greater than the set difference value K, the error count increasing unit 140 counts an error. It can be increased by a set increase value, that is, 2 (S108).

When the difference between the signals compared by the comparison unit 130 is equal to or less than the set difference value K, and the error count increased by the error count increasing unit 140 is equal to or greater than 0 (S110), the error count reduction unit 150 receives an error. The count may be decreased by a set reduction value, that is, 1 (S112).

When the error count increased by the error count increasing unit 140 is greater than or equal to a set integer (S114), the firmware search unit 160 may search for valid firmware from the external shared memory 200 (S116). That is, when the error count increased by the error count increasing unit 140 is equal to or greater than the set integer j, each MCU 100 determines that an error has occurred in the firmware stored in the internal memory 110, and the internal memory 110. The effective firmware may be retrieved from the external shared memory 200 in order to update the firmware. The search method performed by the firmware search unit 160 may use a firmware version or may use an address value of a predefined memory map.

The firmware transmission unit 170 may transmit the valid firmware searched by the firmware search unit 160 to the partner MCU 100 (118). In this case, when the partner MCU, that is, MCU B can access the internal memory of MCU A, the partner MCU may directly update its firmware.

In addition, when each MCU 100 is not directly accessible to the flash memory (internal memory) 110 of the partner MCU, such as a Joint Test Action Group (JTAG) interface, each MCU 100 is a boot mode of the partner MCU Can be changed and reset. Through this, each MCU 100 is restarted and updates the firmware (S120).

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 converter for converting AD (Analog Digital) corresponding to each hardware device;
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.
The method of claim 1, wherein each of the MCU,
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.
The method of claim 2, wherein each of the MCU,
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.
The method of claim 3, wherein each of the MCU,
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.
The method of claim 3, wherein each of the MCU,
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.
The method of claim 5, wherein each of the MCU,
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.
The method of claim 6, wherein each of the MCU,
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.
In the firmware driving method performed by a firmware driving device having a plurality of 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.
The method of claim 8,
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.
The method of claim 9,
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.
The method of claim 10,
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.
The method of claim 10,
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.
13. The method of claim 12,
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.
14. The method of claim 13,
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.








KR1020120082677A 2012-07-27 2012-07-27 Firmware operating apparatus and method therefor KR20140015030A (en)

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)

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