MCU Flash Memory Sub-Area Segmentation for Inter-Company Access Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current information protection methods for MCU chips only protect programs in the user area from being stolen by users and fail to prevent cooperative companies from stealing each other's programs, as they do not allow for separate protection and access control between multiple companies developing the program.

Innovation Solution

The MCU chip divides the user area into two sub-areas, allowing separate access and protection for each company, with a flash controller managing access states and reading protection levels based on option bytes, and utilizing sub-area enabling signals for private peripherals to control access to shared resources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the user area is protected as a whole using current information protection methods, then the program is protected from being stolen by users, but cooperative companies cannot have separate access control and can steal each other's programs

Engineering Contradiction:
Improveprogram protectionVSAvoidseparate access control
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The flash memory is divided into multiple sub-areas (first sub-area and second sub-area) with separate access control. Each sub-area can be independently protected, allowing different companies to have exclusive access to their respective sub-areas while maintaining overall program protection. This segmentation enables both user protection and inter-company access control.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If the user area is divided into multiple sub-areas for separate access control, then cooperative companies can have independent protection, but the device complexity increases

Engineering Contradiction:
Improveseparate access controlVSAvoidaccess control mechanism
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

An access control circuit is introduced as an intermediary component to manage access to different sub-areas. This circuit receives enabling signals and controls whether the instruction bus can access specific sub-areas, thereby managing the complexity of multi-sub-area access control through a dedicated control mechanism rather than分散的控制逻辑.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If access control is implemented for multiple sub-areas, then cooperative companies are prevented from stealing each other's programs, but the ease of operation decreases

Engineering Contradiction:
Improveinter-company program protectionVSAvoidprogram access
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The access control system dynamically adjusts access permissions based on enabling signals. When a sub-area enabling signal is activated, the corresponding sub-area becomes accessible; when deactivated, access is prohibited. This dynamic control allows flexible management of program access while maintaining security, enabling companies to control access to their respective sub-areas as needed.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentEP3242214B1Method and device for protecting information of MCU chip
Publication Date: 2019.11.27 GIGADEVICE SEMICON (BEIJING) INC
  • EP3242214B1 patent drawingFigure 1
  • EP3242214B1 patent drawingFigure 2
  • EP3242214B1 patent drawingFigure 3

AI summary

The disclosure discloses a method and a device of information protection for a micro control unit (MCU) chip, the MCU chip comprises an instruction bus, a data bus, a flash controller and a user area of a flash memory; the flash controller is used to divide the user area into a first sub-area and a second sub-area; the method comprising: when the instruction bus accesses the user area, determining whether the instruction bus accesses the first sub-area; if yes, entering the first sub-area working state; in the first sub-area working state, if the instruction bus accesses the second sub-area, entering the transition state; determining whether the time at transition state reaches a preset waiting time; if yes, entering the second sub-area working state; the disclosure is used to protect program from being stolen by users and prevent the cooperative companies stealing program from each other.