Flash Memory Configuration Data Management via Block Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Managing configuration data in persistent memories like flash memory, which requires block-wise erase before rewriting, poses challenges such as data loss during power failures and inefficient use of memory space due to the need for erasing entire blocks at once.

Innovation Solution

Storing values corresponding to each group of parameters in successive memory locations and maintaining pointer locations to track changes, allowing for efficient updating by copying data to new blocks when space is insufficient, and deferring erasure until completion to ensure data integrity and reliability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If block-wise erase is performed before rewriting in flash memory, then data integrity is improved, but memory space utilization deteriorates due to erasing entire blocks at once

Engineering Contradiction:
Improvedata integrityVSAvoidmemory space utilization
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The configuration data is divided into multiple groups, with each group stored in separate memory blocks. This segmentation allows individual blocks to be managed independently, enabling selective erasure of only those blocks that need updating rather than erasing entire configuration data sets, thus improving memory space utilization while maintaining data integrity through controlled block-wise operations.

Inventive Principle:
Principle #1Segmentation

2Ease of operation

If entire blocks are erased before rewriting, then rewriting capability is improved, but data loss risk increases during power failures

Engineering Contradiction:
Improverewriting capabilityVSAvoiddata loss risk
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

A valid bit is set for each memory block to indicate whether the block contains valid configuration data before attempting to read or use it. This preliminary marking system allows the system to identify valid data blocks and avoid using partially erased or corrupted blocks, thereby reducing data loss risk during power failures while maintaining the ability to erase and rewrite blocks as needed.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system maintains multiple copies of configuration data groups in different memory blocks and uses valid bits to track which copies are current. This redundancy acts as a cushion against data loss, as the system can recover valid configuration data from other blocks if one block is lost or corrupted during erase/rewrite operations or power failures.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

3Adaptability or versatility

If configuration data is updated frequently, then system adaptability is improved, but memory wear increases due to repeated erase cycles

Engineering Contradiction:
Improvesystem adaptabilityVSAvoidmemory lifespan
Core Design Contradiction:
Adaptability or versatilityVSDuration of action of stationary object

Solution Approach 1:

Configuration data is segmented into multiple groups stored in separate memory blocks, allowing the system to update only the specific blocks that contain changed parameters rather than erasing and rewriting entire configuration sets. This reduces the frequency of erase cycles on individual blocks, thereby extending memory lifespan while maintaining system adaptability through selective updates.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system uses valid bits to track which memory blocks contain valid configuration data. When updating configuration, the system can discard (erase) only the specific blocks that need updating while preserving and recovering valid data in other blocks. This selective discard and recover process reduces unnecessary erase cycles on unchanged data, extending memory durability while enabling frequent configuration updates where needed.

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentUS8321626B2Management of configuration data using persistent memories requiring block-wise erase before rewriting
Publication Date: 2012.11.27 TELIT IOT SOLUTIONS INC
  • US8321626B2 patent drawing
  • US8321626B2 patent drawing
  • US8321626B2 patent drawing

AI summary

According to an aspect, the values corresponding to each group of parameters are stored in successive memory locations of a set of blocks, and pointer locations are maintained to point to the area where the groups of values are stored. When a new value is received for a parameter of a group, the values of parameters (with the new value substituted for the corresponding old value) of the group are replicated to a new set of locations in the same set of blocks if sufficient number of successive unwritten memory locations are available. A pointer data from the prior set of locations to the new set of locations is also maintained. According to another aspect, when there is insufficient space for the replication, all the present valid values of all groups are first written to a new set of blocks, and then only the earlier set of blocks are erased.