Embedded Boot Logging in Flash Without Repeated Erase Cycles

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing boot loaders in embedded systems have limited ability to persistently log boot and abnormal operation data due to the limited endurance of flash memory, necessitating a method to efficiently append logs while minimizing erasures.

Innovation Solution

A method and system that partitions non-volatile memory into startup and abnormal operation log partitions, using a boot loader to store records with defined headers and employing binary search to locate free blocks for logging, avoiding duplicate entries and minimizing erasures by updating record states rather than erasing sectors.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If flash memory is used to store boot logs, then persistent logging capability is achieved, but flash memory endurance is reduced due to repeated erasures

Engineering Contradiction:
Improvepersistent logging capabilityVSAvoidflash memory endurance
Core Design Contradiction:
ReliabilityVSDuration of action of stationary object

Solution Approach 1:

The flash memory is segmented into multiple log pages (first log page, second log page, etc.), each with dedicated status bits (first log page status bit, second log page status bit). This segmentation allows the system to rotate through multiple pages, writing logs to one page while another page is being read or is available for overwriting, thereby reducing the frequency of erasures on any single page and extending overall flash memory endurance.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system recycles log pages by detecting when a page has been fully read or is no longer needed (using status bits to track read completion) and making it available for new log entries. This discarding and recovering mechanism ensures continuous logging capability without requiring constant erasure of active log pages, thus preserving flash memory lifespan.

Inventive Principle:
Principle #34Discarding and recovering

2Reliability

If entire flash sectors are erased to write log data, then data integrity is ensured, but device life is reduced

Engineering Contradiction:
Improvedata integrityVSAvoiddevice life
Core Design Contradiction:
ReliabilityVSDuration of action of stationary object

Solution Approach 1:

Instead of erasing entire flash sectors, the system performs localized updates only on specific bytes or words within a sector where log data needs to be written. The status bits and page management mechanism enable precise tracking of which portions of flash memory contain valid log data, allowing the system to modify only the necessary local regions while leaving the rest of the sector intact, thereby minimizing erasure operations and extending device life.

Inventive Principle:
Principle #3Local quality

3Extent of automation

If boot logs are stored in non-volatile memory, then logging during boot process is enabled, but memory management complexity increases

Engineering Contradiction:
Improveboot process loggingVSAvoidmemory management complexity
Core Design Contradiction:
Extent of automationVSDevice complexity

Solution Approach 1:

The boot loader implements self-service memory management by automatically tracking the state of log pages through status bits, detecting when pages are ready for writing, managing the rotation between pages, and handling the erasure and recovery processes. This self-service approach enables automated logging during boot without requiring complex external memory management systems or file system dependencies.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS20250370759A1System and method for efficient boot logging in embedded systems
Publication Date: 2025.12.04 CALIX INC
  • US20250370759A1 patent drawing
  • US20250370759A1 patent drawing
  • US20250370759A1 patent drawing

AI summary

A system for efficient boot logging in embedded systems that records boot event logs and failure operation logs in flash storage and optimizing write operations for longevity. Defined regions in flash reserve space for data blocks organized into fixed sizes. Logs are appended by locating free blocks without erase operations. A state machine limits logging duplicate failure events. The system comprises a boot loader, flash memory, and logic to manipulate data regions. The method manages defined flash regions, locates free blocks, writes record headers and log payloads, and updates record states when logging repetitive failures. Binary search algorithms efficiently find last written blocks. Embodiments can be used for embedded systems that use boot loaders to initialize system hardware and load operating systems.