Updating method, recovery method and backup method for firmware of battery

TWI939857BActive Publication Date: 2026-09-21ACER INC
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
TW113143839
Authority / Receiving Office
TW · TW
Patent Type
Patents
Current Assignee / Owner
Filing Date
2024-11-14
Publication Date
2026-09-21
Estimated Expiration
2044-11-13

AI Technical Summary

Technical Problem

Existing battery firmware update methods fail when the battery's memory is damaged or capacity is insufficient, preventing effective updates and leading to potential battery malfunction.

Method used

A method involving firmware backup to a hard drive, utilizing first- and second-level sealing keys for secure updates, and direct communication between an embedded controller and the operating system to ensure stable firmware operations, including backup, update, and restoration processes.

Benefits of technology

Ensures secure and stable firmware updates and restorations without occupying battery memory, maintaining battery functionality and security.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure TWG2TB001911974_001
    Figure TWG2TB001911974_001
  • Figure TWG2TB001911974_002
    Figure TWG2TB001911974_002
  • Figure TWG2TB001911974_003
    Figure TWG2TB001911974_003
Patent Text Reader

Abstract

A method for updating, restoring, and backing up battery firmware. The method for updating battery firmware includes the following steps: Determining whether an electronic device has received an update command. If the electronic device has received an update command, determining whether firmware backup data exists on a system disk partition of a hard drive. If firmware backup data exists on the hard drive, determining whether the update command contains a first-level sealing key or a second-level sealing key. If the update command contains a first-level sealing key, updating the first-level data of the battery firmware. If the update command contains a second-level sealing key, updating both the first-level and second-level data of the battery firmware.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to a method for processing a battery, and more particularly to a method for updating, restoring, and backing up the firmware of a battery. Prior Technology

[0002] With the rapid growth of the electronic device market, the demands on the batteries used in them are also increasing. When necessary, the battery firmware is updated to extend battery life or slow down battery aging. However, when the battery's memory is damaged or its capacity is insufficient, the battery cannot be updated.

[0003] Therefore, the industry is currently working hard to develop new ways to update battery firmware to ensure that batteries can be updated and used normally. Summary of the Invention

[0004] This disclosure relates to a method for updating, restoring, and backing up battery firmware, which backs up the battery firmware to a hard drive, enabling the battery firmware to be updated safely and ensuring the battery's stable and normal operation in the future.

[0005] According to one aspect of this disclosure, a method for updating battery firmware is proposed. The method includes the following steps: determining whether an electronic device has received an update command. If the electronic device has received an update command, determining whether a firmware backup exists on a system disk partition of a hard drive. If the hard drive contains firmware backup data, determining whether the update command contains a first-level sealing key (L1 Seal Key) or a second-level sealing key (L2 Seal Key). If the update command contains a first-level sealing key, updating the first-level data of the battery firmware. If the update command contains a second-level sealing key, updating both the first-level and second-level data of the battery firmware.

[0006] According to another aspect of this disclosure, a method for restoring battery firmware is proposed. The method for restoring battery firmware includes the following steps: determining whether an electronic device meets a restoration condition; if the electronic device meets the restoration condition, determining whether a firmware backup exists on a system disk partition of a hard drive; if the hard drive contains firmware backup data, reading the firmware backup data from the system disk partition; and restoring the battery firmware to write the firmware backup data to the battery.

[0007] According to another aspect of this disclosure, a method for backing up battery firmware is proposed. The method includes the following steps: determining whether an electronic device meets a backup condition; if the electronic device meets the backup condition, backing up the battery firmware by writing firmware backup data to a system disk partition of a hard drive.

[0008] To provide a better understanding of the above and other aspects of this disclosure, specific embodiments are described below in conjunction with the accompanying drawings: Simple Explanation of the Diagram

[0009] Figure 1 shows a block diagram of an electronic device. Figure 2 shows a block diagram of the firmware of a battery. Figure 3 illustrates a flowchart of a method for updating the firmware of a battery. Figure 4 shows a block diagram of the firmware of a battery according to another embodiment. Figure 5 illustrates a flowchart of a method for restoring the firmware of a battery according to another embodiment. Figure 6 illustrates a block diagram of the firmware of a battery according to another embodiment. Figure 7 illustrates a flowchart of a method for backing up the firmware of a battery according to another embodiment. Implementation

[0010] The technical terms used in this specification are based on common terminology in the field. Where this specification provides explanations or definitions for certain terms, the interpretation of those terms shall be based on the explanations or definitions provided in this specification. Each of the embodiments disclosed herein has one or more technical features. Where feasible, those skilled in the art may selectively implement some or all of the technical features in any embodiment, or selectively combine some or all of the technical features in these embodiments.

[0011] Please also refer to Figure 1, which shows a block diagram of an electronic device 1000 according to one embodiment of the present disclosure. The electronic device 1000 includes an application unit 100 of an operating system OS, an embedded controller 200, a battery 300, and a hard disk 400.

[0012] The embedded controller 200 can be declared as an I2C Human Interface Device (I2C HID), enabling the embedded controller 200 to directly communicate with the application unit 100 of the operating system (OS) to perform firmware updates, backups, or restorations. The application unit 100 is used for data access, analysis, and judgment programs, and may be a circuit, a circuit board, a stored code storage device, or a chip. The chip is, for example, a central processing unit (CPU), or other programmable general-purpose or special-purpose microcontroller (MCU), microprocessor, digital signal processor (DSP), programmable controller, application-specific integrated circuit (ASIC), graphics processing unit (GPU), image signal processor (ISP), image processing unit (IPU), arithmetic logic unit (ALU), complex programmable logic device (CPLD), field programmable gate array (FPGA), or other similar components or combinations thereof.

[0013] In this embodiment, by storing the firmware backup data FW0' in the EFI System Partition (ESP) 410 of the hard drive 400, the security of the update can be ensured when the firmware FW0 in the battery 300 needs to be updated. A flowchart is provided below to explain in detail the operation of each component.

[0014] Please refer to Figures 2 and 3 simultaneously. Figure 2 illustrates a schematic diagram of updating the firmware of a battery 300 according to an embodiment of this disclosure. Figure 3 illustrates a flowchart of a method for updating the firmware of a battery 300 according to an embodiment of this disclosure. The method for updating the firmware of the battery 300 includes steps S310 to S350.

[0015] In step S310, as shown in Figure 2, application unit 100 determines whether electronic device 1000 has received an update command CM1. This update command CM1 is used to download firmware FW1 from cloud 500 and update firmware FW0 in battery 300. If electronic device 1000 receives update command CM1, it proceeds to step S320.

[0016] In step S320, as shown in Figure 2, the application unit 100 determines whether a firmware backup data FW0' exists in the system disk partition 410 of the hard drive 400. The system disk partition 410 is, for example, 250MB, used to store the firmware backup data FW0'. In this embodiment, the firmware backup data FW0' is stored in the system disk partition 410 of the hard drive 400, without the need for a large capacity of memory inside the battery 300. In the event of insufficient memory capacity, there is no need to replace the memory or the battery 300 to successfully store the firmware backup data FW0'.

[0017] If the system disk partition 410 of hard drive 400 has stored firmware backup data FW0', then proceed to step S330.

[0018] In step S330, as shown in Figure 2, application unit 100 determines whether the update command CM1 has a first-level sealing key (L1 Seal Key) K1 or a second-level sealing key (L2 Seal Key) K2. The first-level sealing key K1 and the second-level sealing key K2 are used to restrict updates of different levels of firmware FW0 data to improve data security. The first-level sealing key K1 is used to update the initial data of firmware FW0, and the second-level sealing key K2 is used to update the advanced data of firmware FW0. An error in updating the initial data will not affect the normal operation of battery 30, but an error in updating the advanced data may cause battery 300 to malfunction.

[0019] If the update instruction CM1 has a first-level sealing key K1, proceed to step S340; if the update instruction CM1 has a second-level sealing key K2, proceed to step S350.

[0020] In step S340, as shown in Figure 2, the application unit 100 downloads firmware FW1 from the cloud 500 and updates the first-level data D1 of the firmware FW0 of the battery 300.

[0021] When updating the first-level data D1 of the firmware FW0 of the battery 300, the embedded controller 200 is declared as an I2C human-machine interface device (I2C HID), which enables the embedded controller 200 to communicate directly with the application unit 100 of the operating system OS for updates.

[0022] In step S350, as shown in Figure 2, the application unit 100 downloads firmware FW1 from the cloud 500 and updates the first-level data D1 and the second-level data D2 of the firmware FW0 of the battery 300 (or it may only update the first-level data D1 or the second-level data D2 of the firmware FW0).

[0023] When the application unit 100 updates the second-level data D2 of the firmware FW0 of the battery 300, the embedded controller 200 is declared as an I2C human-machine interface device (I2C HID), enabling the embedded controller 200 to communicate directly with the application unit 100 of the operating system OS for updates.

[0024] If an error occurs during the update, or if the firmware FW1 of Battery 300 malfunctions, it is necessary to restore the firmware FW1 of Battery 300. The following block diagrams and flowcharts provide further explanation.

[0025] Please refer to Figures 4 and 5 simultaneously. Figure 4 illustrates a schematic diagram of firmware restoration of a battery 300 according to an embodiment of this disclosure. Figure 5 illustrates a flowchart of a firmware restoration method for a battery according to an embodiment of this disclosure.

[0026] In this embodiment, the restoration method of the firmware FW1 of the battery 300 includes steps S510 to S540. In step S510, the application unit 100 determines whether the electronic device 1000 meets a restoration condition. The restoration condition is, for example, that the application unit 100 receives an update failure message MS21, a user restoration command CM22, a power error message MS23, a checksum error message MS24, or a security mechanism failure message MS25. If the electronic device 1000 meets the restoration condition, then proceed to step S520.

[0027] The user recovery command CM22 is a recovery action manually initiated by the user, such as when an update fails or the new firmware FW1 is not working well, and the user wants to restore the original firmware FW0.

[0028] In step S520, application unit 100 determines whether firmware backup data FW0' exists in the system disk partition 410 of hard disk 400. If firmware backup data FW0' already exists in the system disk partition 410 of hard disk 400, then proceed to the next step S530.

[0029] In step S530, application unit 100 reads firmware backup data FW0' from system disk partition 410.

[0030] Next, in step S540, the firmware FW1 of the battery 300 is restored to write the firmware backup data FW0' to the battery 300.

[0031] When the firmware FW1 of the battery 300 is restored, the embedded controller 200 is declared as an I2C human-machine interface device (I2C HID), which enables the embedded controller 200 to communicate directly with the application unit 100 of the operating system OS for restoration.

[0032] If the firmware FW0 of Battery 300 has been updated to the new firmware FW1 or if firmware FW1 has not been backed up, then the firmware FW1 of Battery 300 needs to be backed up. The following block diagram and flowchart provide further explanation.

[0033] Please refer to Figures 6 and 7 simultaneously. Figure 6 illustrates a schematic diagram of backing up the firmware of a battery according to an embodiment of this disclosure. Figure 7 illustrates a flowchart of a method for backing up the firmware of a battery according to an embodiment of this disclosure.

[0034] The backup method for the firmware FW1 of battery 300 includes steps S710 to S720. In step S710, application unit 100 determines whether electronic device 1000 meets a backup condition. The backup condition is, for example, receiving an update command CM31, an update completion message MS32, or a user backup command CM33. If electronic device 1000 meets the backup condition, then proceed to step S720.

[0035] The user backup command CM33 is a backup action that is manually initiated by the user, such as when the hard drive 400 is replaced or the backup is lost, and the user wants to back up the firmware FW1.

[0036] In step S720, the application unit 100 backs up the firmware FW1 of the battery 300 and writes the firmware backup data FW1' to the system disk partition 410 of the hard disk 400.

[0037] In this embodiment, the firmware backup data FW0' and FW1' are stored on the hard drive 400, which does not occupy the memory space of the battery 300. Furthermore, when the battery 300 performs a firmware update, the security of the update can be ensured.

[0038] Furthermore, the above embodiments utilize two layers of keys, the first-level sealing key K1 and the second-level sealing key K2, to improve the security of the firmware.

[0039] Furthermore, during updates, restorations, or backups, the embedded controller 200 is declared as an I2C Human Interface Device (I2C HID), enabling the embedded controller 200 to communicate directly with the application unit 100 of the operating system OS without relying on Windows Management Instrumentation (WMI) to facilitate communication between the two, thus preventing system management interrupt (SMI) and the resulting operational problems.

[0040] In summary, although this disclosure has been presented above with examples, it is not intended to limit the scope of this disclosure. Those skilled in the art to which this disclosure pertains can make various modifications and refinements without departing from the spirit and scope of this disclosure. Therefore, the scope of protection of this disclosure shall be determined by the appended claims.

[0041] 100: Application Unit 200: Embedded Controller 300: Battery 400: Hard Drive 410: System disk partitioning 500: Cloud 1000: Electronic devices CM1: Update command CM22: User Recovery Command CM31: Perform update command CM33: User Backup Command D1: Level 1 Data D2: Level 2 Data FW0, FW0', FW1: Firmware K1: First-level sealed key K2: Second-level sealing key MS21: Update failed message MS23: Power Error Message MS24: Checksum error message MS25: Security mechanism failure message MS32: Update complete message OS: Operating System S310, S320, S330, S340, S350, S510, S520, S530, S540, S710, S720: Steps

Claims

1. A method for updating the firmware of a battery, comprising: Determine whether an electronic device has received an update command; If the electronic device receives the update command, it determines whether a firmware backup of the battery exists in the EFI System Partition (ESP) of a hard drive. If the EFI System Partition of the hard drive contains the firmware backup of the battery, it determines whether the update command contains a Level 1 Seal Key or a Level 2 Seal Key. If the update command contains the Level 1 Seal Key, it updates the Level 1 data of the battery firmware. If the update command contains the Level 2 Seal Key, it updates both the Level 1 and Level 2 data of the battery firmware. The Level 1 Seal Key and the Level 2 Seal Key are different keys. The Level 1 Seal Key is only authorized to update the Level 1 data of the battery firmware, while the Level 2 Seal Key is authorized to update both the Level 1 and Level 2 data of the battery firmware simultaneously. Updates to the Level 2 data are prohibited if the Level 2 Seal Key is not provided.

2. The method for updating the firmware of the battery as described in claim 1, wherein the system disk partition is 250MB.

3. The method for updating the firmware of a battery as described in claim 1, wherein when updating the first-level data of the firmware of the battery, an embedded controller is declared as an I2C Human interface device (I2C HID), enabling the embedded controller to communicate directly with an application unit on an operating system for updating.

4. The method for updating the firmware of a battery as described in claim 1, wherein when updating the second-level data of the firmware of the battery, an embedded controller is declared as an I2C human-machine interface device, such that the embedded controller directly communicates with an application unit on an operating system side to perform the update.

5. A method for restoring the firmware of a battery, comprising: Determine whether an electronic device meets a restoration condition; If the electronic device meets the restoration conditions, it determines whether the system disk partition of a hard drive contains firmware backup data for the battery; if the hard drive contains the firmware backup data, it reads the firmware backup data for the battery from the system disk partition; and restores the firmware of the battery to write the firmware backup data for the battery to the battery.

6. The method for restoring the firmware of the battery as described in claim 5, wherein the restoration condition is receiving an update failure message.

7. A method for restoring the firmware of a battery as described in claim 5, wherein the restoration condition is receiving a user restoration command.

8. A method for restoring the firmware of a battery as described in claim 5, wherein the restoration condition is receiving a power error message.

9. The method for restoring the firmware of the battery as described in claim 5, wherein the restoration condition is receiving a checksum error message.

10. A method for restoring the firmware of a battery as described in claim 5, wherein the restoration condition is receiving a security mechanism failure message.

11. The method for restoring the firmware of a battery as described in claim 5, wherein during the restoration of the firmware of the battery, an embedded controller is declared as an I2C human-machine interface device, such that the embedded controller communicates directly with an application unit on an operating system for updates.

12. A method for backing up the firmware of a battery, comprising: Determine whether an electronic device meets a backup condition; And if the electronic device meets the backup conditions, the firmware of the battery is backed up to write the firmware backup data of the battery to a system disk partition of a hard drive.

13. The method for backing up the firmware of a battery as described in claim 12, wherein the backup condition is that an update instruction is received and there is no firmware backup data in the system disk partition.

14. A method for backing up the firmware of a battery as described in claim 12, wherein the backup condition is receiving an update completion message.

15. A method for backing up the firmware of a battery as described in claim 12, wherein the backup condition is receiving a user backup instruction.

Citation Information

Patent Citations

  • Backing up and recovering method of file system and communication device thereof

    TW202338606A

  • Key management method used in encryption processing for safely transmitting and receiving messages

    US11569984B2

  • Method and system for dynamically resizing enclosed storage device partitions

    US20140208091A1

  • Update management method, update management system, and non-transitory recording medium

    US20200220716A1