IP Library › Granted Patent US 11,442,718
Granted Patent B2
US 11,442,718 · App. 17/189,273 · Granted Sep 13, 2022

Embedded system and method of controlling non-volatile memory to perform firmware update

Inventor: Sheng-Kai Hung (HsinChu, TW)
Assignee: Realtek Semiconductor Corp.
G06F8/65G06F9/4401G06F11/0757G06F11/1417G06F11/1433G06F11/1438G06F8/61G06F8/63
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,442,718
App. No.
17/189,273
Granted
Sep 13, 2022
Kind
B2
Abstract

A non-volatile memory includes a first block and a second block. The first block is used to store first firmware. The second block is used to store second firmware. A method of controlling the non-volatile memory includes comparing a version of the first firmware and a version of the second firmware, if a comparison result between the version of the first firmware and the version of the second firmware indicates that the second firmware is newer than the first firmware, employing the second firmware to perform a boot process, and if the boot process is successful, upgrading a portion of a firmware image to the first block whenever there is a firmware upgrade request after the boot process.

Claims (27)

1. A method of controlling non-volatile memory, the non-volatile memory comprising a first block and a second block, the first block storing first firmware, and the second block storing second firmware, the method comprising:

generating a first portion of a firmware image according to a firmware object code and a first address parameter;

generating a second portion of the firmware image according to the firmware object code and a second address parameter, the first portion and the second portion having identical versions;

comparing a version of the first firmware to a version of the second firmware;

if a comparison result of the version of the first firmware and the version of the second firmware indicates that the second firmware is newer than the first firmware, performing a boot process using the second firmware; and

if the boot process is successful, duplicating the first portion of the firmware image to the first block to upgrade the first firmware upon a firmware upgrade request.

2. The method of claim 1 , wherein the first portion and the second portion of the firmware image are execution in place (XIP) code.

3. The method of claim 1 , wherein the first firmware is updated in a background process.

4. The method of claim 1 , further comprising:

determining validity of the first firmware and validity of the second firmware;

wherein comparing the version of the first firmware to the version of the second firmware is performed when both the first firmware and the second firmware are valid.

5. The method of claim 1 , further comprising determining that the boot process is successful if a quantity of reboots does not exceed a predetermined quantity in a predetermined period of time.

6. An embedded system comprising:

a non-volatile memory comprising:

a first block configured to store first firmware; and

a second block configured to store second firmware; and

a processor coupled to the non-volatile memory, and configured to:

compare a version of the first firmware to a version of the second firmware;

if a comparison result of the version of the first firmware and the version of the second firmware indicates that the second firmware is newer than the first firmware, perform a boot process using the second firmware; and

if the boot process is successful, duplicate a first portion of a firmware image to the first block to upgrade the first firmware upon a firmware upgrade request;

wherein the first portion of the firmware image is generated according to a firmware object code and a first address parameter;

a second portion of the firmware image is generated according to the firmware object code and a second address parameter; and

the first portion and the second portion of the firmware image are execution in place (XIP) code having identical versions.

7. The embedded system of claim 6 , wherein the processor is further configured to determine validity of the first firmware and validity of the second firmware, and compare the version of the first firmware and the version of the second firmware when both the first firmware and the second firmware are valid.

8. The embedded system of claim 6 , wherein the processor is configured to update the first firmware in a background process.

9. The embedded system of claim 6 , wherein the processor is further configured to determine validity of the first firmware and validity of the second firmware, and compare the version of the first firmware and the version of the second firmware when both the first firmware and the second firmware are valid.

10. The embedded system of claim 6 , wherein the processor is configured to determine that the boot process is successful if a quantity of reboots does not exceed a predetermined quantity in a predetermined period of time.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 2, 2021
From: HUNG, SHENG-KAI
To: REALTEK SEMICONDUCTOR CORP.
Reel/Frame 055450/0650 →
Priority Claims (1)
TW 109133952 · Sep 29, 2020 · national
Continuity (1)
Related Publication 20220100489A1 · Mar 31, 2022