Scratch Buffer for RAM-Restricted Software Updates

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current systems face challenges in efficiently updating software on RAM-restricted devices, particularly in dynamic environments, due to limited memory space and the potential for errors during remote updates.

Innovation Solution

The method involves allocating a scratch buffer within a first memory space, storing portions of a software chunk in the scratch buffer, and flushing these portions to a second memory space, such as flash memory, to improve data compression efficiency and facilitate software updates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If software updates are performed directly in limited RAM space, then update speed may be faster, but memory overflow and system instability occur

Engineering Contradiction:
Improveupdate speedVSAvoidsystem stability
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent divides the software update process into distinct segments: receiving the update in RAM, flushing to a scratch buffer in flash memory, and then applying the update. This segmentation allows the system to maintain fast RAM-based processing while using stable flash memory for the actual update storage, preventing memory overflow and ensuring system stability during updates.

Inventive Principle:
Principle #1Segmentation

2Quantity of substance

If a larger buffer is allocated for software updates, then more data can be stored, but available RAM for other operations decreases

Engineering Contradiction:
Improvebuffer capacityVSAvoidRAM availability
Core Design Contradiction:
Quantity of substanceVSAdaptability or versatility

Solution Approach 1:

The patent introduces a scratch buffer in flash memory as an intermediary between RAM and the final update destination. This intermediary allows the system to maintain a large effective buffer capacity without permanently allocating large amounts of RAM, as the scratch buffer is only used during the update process and then cleared, freeing up RAM for other operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Device complexity

If software updates are applied directly without intermediate storage, then the process is simpler, but error recovery becomes difficult

Engineering Contradiction:
Improveupdate process complexityVSAvoiderror recovery capability
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent performs preliminary actions by first storing the update data in a scratch buffer in flash memory before actually applying it to the system. This preliminary storage creates a safe copy that can be verified and used for recovery if needed, allowing the system to maintain a relatively simple update process while significantly improving error recovery capability.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS20250036309A1Improving software compression efficiency for memory-restricted devices using a scratch buffer
Publication Date: 2025.01.30 AURORA LABS LTD
  • US20250036309A1 patent drawing
  • US20250036309A1 patent drawing
  • US20250036309A1 patent drawing

AI summary

Disclosed herein are techniques for improving data compression efficiency for RAM-restricted devices. Techniques include allocating a scratch buffer within a first memory space of a controller; storing a particular portion of a chunk of software change elements in the scratch buffer; flushing the particular portion of the chunk from the scratch buffer to a second memory space; storing at least one subsequent portion of the chunk in the scratch buffer; flushing the at least one subsequent portion of the chunk from the scratch buffer to a second memory space of the controller; and applying, using the flushed first and at least one subsequent portion of the chunk, the software change elements to the controller.