Barcode Reader Firmware Update via Volatile Memory

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing barcode reader technologies face challenges with expensive flash memory and slow writing processes, requiring re-flashing of firmware for updates, which is logistically cumbersome, especially in environments with multiple devices needing the same firmware version.

Innovation Solution

A barcode reader design that loads firmware from a remote configuration server into volatile memory upon power-up, allowing execution without rebooting, and retains the firmware only as long as the volatile memory remains refreshed, minimizing the need for expensive non-volatile memory and reducing update logistics.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If firmware is stored in non-volatile memory and updated by re-flashing, then firmware persistence is achieved, but writing speed is slow and costs are high

Engineering Contradiction:
Improvefirmware persistenceVSAvoidwriting speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The patent segments firmware into two parts: a minimal bootstrap loader stored in non-volatile memory that remains permanent, and the main firmware image stored in volatile memory that can be rapidly updated. This segmentation allows the expensive non-volatile memory to be used minimally while achieving fast update speeds through volatile memory operations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent creates a copy of the firmware image in volatile memory for execution, separate from the original firmware stored in non-volatile memory. This copy can be rapidly overwritten with new firmware images without affecting the persistent storage, enabling fast updates while maintaining persistence through the minimal non-volatile memory footprint.

Inventive Principle:
Principle #26Copying

2Reliability

If firmware is stored in non-volatile memory, then firmware persistence is achieved, but device cost increases

Engineering Contradiction:
Improvefirmware persistenceVSAvoiddevice cost
Core Design Contradiction:
ReliabilityVSEase of manufacture

Solution Approach 1:

The patent uses volatile memory as a disposable, low-cost storage medium for the majority of firmware storage needs. Since volatile memory is cheaper and faster than non-volatile memory, the system uses it for the bulk of firmware storage, accepting that it will be overwritten during updates, thereby reducing overall device cost while maintaining persistence through minimal non-volatile memory usage.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

Solution Approach 2:

By segmenting firmware storage between non-volatile memory (for minimal persistent data) and volatile memory (for main firmware image), the system minimizes the amount of expensive non-volatile memory required while achieving the necessary persistence, thereby reducing overall device cost.

Inventive Principle:
Principle #1Segmentation

3Reliability

If firmware update requires re-booting, then complete firmware replacement is achieved, but operational time is lost

Engineering Contradiction:
Improvefirmware replacement completenessVSAvoidoperational time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent loads the new firmware image into volatile memory before the current firmware execution completes. This preliminary loading action allows the firmware replacement to occur without interrupting or requiring a re-boot operation, as the new firmware is already prepared and waiting in volatile memory, thereby eliminating operational time loss while ensuring complete replacement.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent enables continuous firmware execution by loading new firmware images into volatile memory during runtime without requiring system re-boot. The useful action of barcode reading continues uninterrupted while firmware updates occur in the background, maintaining continuity of operation while achieving complete firmware replacement.

Inventive Principle:
Principle #20Continuity of useful action

4Stability of the object's composition

If multiple devices require same firmware version, then consistency is achieved, but update logistics become complex

Engineering Contradiction:
Improvefirmware version consistencyVSAvoidupdate logistics
Core Design Contradiction:
Stability of the object's compositionVSDevice complexity

Solution Approach 1:

The patent implements self-service firmware updates where devices automatically retrieve and apply firmware updates from a remote server without manual intervention. The device autonomously manages the update process by loading firmware images into volatile memory and executing them, eliminating complex update logistics while maintaining firmware version consistency across multiple devices.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent employs feedback mechanisms where the system monitors firmware version and automatically initiates updates when newer versions are available. This feedback loop ensures consistent firmware versions across multiple devices while simplifying update logistics through automated detection and application of updates.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11076021B2Host device for obtaining operating instructions for a barcode reader from a remote server
Publication Date: 2021.07.27 THE CODE CORP
  • US11076021B2 patent drawing
  • US11076021B2 patent drawing
  • US11076021B2 patent drawing

AI summary

A barcode reader may include barcode reading hardware, which may include an image sensor. The image sensor may capture an image of a barcode within a field of view. The barcode reading hardware may also include a communication interface for output of decoded data to a remote computing system. The barcode reader may also include volatile memory and non-volatile memory. The non-volatile memory may include start-up instructions. The barcode reader may also include a processor. The processor may be configured to, upon power-up of the barcode reader, execute the start-up instructions to obtain firmware for operating the barcode reader from a remote configuration server, load the firmware to the volatile memory, and commence execution of the firmware to commence barcode reading functions of the barcode reader without performing a re-boot operation.