Extensible Hardware Configuration Using Memory Info Block

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

System-on-chip (SoC) devices face limitations in adaptability and security due to traditional One-Time Programmable (OTP) memory, which is costly, inflexible, and vulnerable to unauthorized modifications, making it difficult to change configurations or enable/disable features post-fabrication.

Innovation Solution

Implementing an Info Block Controller and OTP Engine using a central system bus to manage configuration data in a single address space, allowing for extensible hardware device configuration through a sequence of descriptors and write-protection mechanisms, enabling secure and adaptable configuration without requiring redesign.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional One-Time Programmable (OTP) memory is used for configuration, then security and tamper-proof configuration are improved, but cost and device complexity increase

Engineering Contradiction:
Improveconfiguration securityVSAvoidmemory structure
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent uses a standard memory block as a copy/alternative to the specialized OTP memory. The Info Block implemented in standard memory replicates the configuration storage function of OTP memory without requiring the complex one-time programmable structure, thereby reducing device complexity while maintaining configuration security through software-based protection mechanisms.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent makes the memory block universal by using standard memory that can serve multiple purposes: configuration storage (Info Block), general data storage, and program storage. This eliminates the need for separate specialized OTP memory blocks for each function, reducing overall device complexity while maintaining the security requirements for configuration data.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Reliability

If OTP memory is used for configuration, then tamper-proof configuration is achieved, but adaptability and reconfigurability deteriorate

Engineering Contradiction:
Improveconfiguration protectionVSAvoidconfiguration flexibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent introduces dynamic reconfigurability by allowing the Info Block to be programmed multiple times through the OTP Engine. The system can transition between locked and unlocked states, enabling initial secure configuration and subsequent reconfiguration for experimentation or design changes, thus achieving both configuration protection and adaptability.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the state parameters of the memory block by introducing unlock mechanisms that allow transitions from a locked (secure) state to an unlocked (reconfigurable) state. This enables the system to maintain security during normal operation while allowing reconfiguration when needed, balancing protection and flexibility.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If OTP memory is implemented, then secure configuration is provided, but cost increases

Engineering Contradiction:
Improveconfiguration securityVSAvoidmanufacturing cost
Core Design Contradiction:
ReliabilityVSEase of manufacture

Solution Approach 1:

The patent replaces expensive OTP memory with standard memory blocks that are cheaper and more readily available. The security function is achieved through software-based protection (unlock mechanisms, OTP Engine) rather than expensive hardware OTP structures, significantly reducing manufacturing costs while maintaining configuration security.

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

Solution Approach 2:

The patent merges the configuration storage function with standard memory blocks that are already present in the SoC for other purposes. By combining configuration storage with general-purpose memory, the system eliminates the need for separate expensive OTP memory blocks, reducing overall manufacturing cost while maintaining security through the Info Block structure and protection mechanisms.

Inventive Principle:
Principle #5Merging (Combining)

4Adaptability or versatility

If configuration is entirely firmware-based, then adaptability is improved, but security deteriorates due to unauthorized modification

Engineering Contradiction:
Improveconfiguration flexibilityVSAvoidconfiguration security
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent applies preliminary action by locking the Info Block configuration after initial programming. The configuration data is written to the Info Block and then protected with write-protection bits set to 1, preventing subsequent modifications. This preliminary locking action ensures security while allowing adaptability during the initial configuration phase.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces the OTP Engine as an intermediary between the firmware and the Info Block. The OTP Engine controls access to the Info Block through unlock mechanisms and write-protection bit management, mediating between the need for firmware-based adaptability and the requirement for configuration security against unauthorized modification.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9015437B2Extensible hardware device configuration using memory
Publication Date: 2015.04.21 MICROCHIP TECHNOLOGY INC
  • US9015437B2 patent drawing
  • US9015437B2 patent drawing
  • US9015437B2 patent drawing

AI summary

The present disclosure provides a system and method for implementing extensible hardware configuration using memory. A memory containing an Info Block is provided. The Info Block contains a set of descriptors, which comprises an address part and a data part. The OTP Engine reads each valid descriptor stored in the Info Block, and writes the data in the data part into the memory location specified by the address part. The OTP Engine interacts with the Info Block by accessing the Info Block Controller registers via the central system bus.