Flash Memory Code Update Segmentation for Cable Modems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current cable modem update methods require twice the flash memory to store two copies of software, leading to inefficient use of memory and increased costs, as they need to maintain two separate and complete sets of code to prevent rendering the modem inoperable due to incomplete or corrupt downloads.

Innovation Solution

A method that writes updated operating system code to flash memory without overwriting existing application or operating system code until verification is complete, allowing the modem to reboot using existing code if the update fails, and then updates the application code, utilizing unused memory areas to avoid overwriting essential code.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If two complete copies of software code are stored in flash memory to prevent inoperability during updates, then reliability is improved, but memory space requirement increases and cost increases

Engineering Contradiction:
ImprovereliabilityVSAvoidmemory space requirement
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The software code is segmented into two distinct portions: an essential code portion (operating system) and a nonessential code portion (application software). This segmentation allows the update process to treat different code portions differently, storing the essential code in a protected first area and the nonessential code in a second area that can be overwritten during updates.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The essential code portion is written to a first area of flash memory before the nonessential code portion is written to a second area. This preliminary action ensures that the critical operating system code is securely stored and protected before application code updates proceed, preventing overwriting of essential code during the update process.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If two complete copies of software code are stored in flash memory to prevent inoperability during updates, then reliability is improved, but device complexity increases

Engineering Contradiction:
ImprovereliabilityVSAvoiddevice complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The flash memory is segmented into a first area for essential code and a second area for nonessential code. This segmentation simplifies the update process by clearly defining which areas can be modified and which must be protected, reducing the complexity of managing dual code copies.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The essential code is preliminarily written and protected in the first area before update operations begin. This preliminary protection mechanism simplifies the overall system design by establishing a clear boundary between protected and updateable regions, avoiding the need for complex dual-copy management.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If the essential code portion is written to flash memory without verifying code integrity, then productivity is improved, but reliability deteriorates due to potential corruption

Engineering Contradiction:
ImproveproductivityVSAvoidreliability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

A verification process is implemented that checks the integrity of the essential code portion after it is written to the flash memory. This feedback mechanism ensures that the code has been correctly written and is not corrupted, maintaining reliability while enabling efficient update operations.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS8839227B2Preventing overwrite of nonessential code during essential code update
Publication Date: 2014.09.16 ARRIS ENTERPRISES LLC
  • US8839227B2 patent drawing
  • US8839227B2 patent drawing
  • US8839227B2 patent drawing

AI summary

Systems and methods are provided for downloading updated software from a head end to a cable modem that writes to flash memory an updated operating system code without overwriting the preexisting application code portion and also without overwriting the preexisting operating system code portion. Updated application code is not written until the updated operating system code has been verified as error-free.