Flash Memory Controller Sub-Area Access Filtering

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 do not prevent cooperative companies from stealing each other's program, as they cannot manage access to multiple companies' sub-areas effectively.

Innovation Solution

A flash controller with an instruction bus interface, data bus interface, configuration register, erase access filter module, read/write access filter module, and flash control module, which determines access based on control information to protect sub-areas and prevent unauthorized access, allowing multiple companies to develop and protect their programs independently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If current information protection method is used to protect program in user area, then program is protected from being stolen by users, but cooperative companies can still steal program from each other

Engineering Contradiction:
Improveprogram protectionVSAvoidmulti-company collaboration
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The flash memory is divided into multiple sub-areas (first sub-area, second sub-area, etc.), each protected by independent filter modules. The read/write access filter module and erase access filter module segment the protection scope, allowing different protection levels for different companies' programs within the same flash memory device.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If flash memory is divided into multiple sub-areas for different companies, then multi-company program protection is enabled, but device complexity increases

Engineering Contradiction:
Improvemulti-company collaborationVSAvoidcontroller structure
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The filter modules (read/write access filter module and erase access filter module) serve multiple functions: they protect different sub-areas, control read/write operations, manage erase operations, and support multi-company collaboration. This multi-functionality reduces the need for separate dedicated components for each protection function.

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

3Reliability

If access control is implemented for each sub-area, then program theft between companies is prevented, but access speed decreases due to filtering operations

Engineering Contradiction:
Improveprogram protectionVSAvoidaccess speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The filter modules are pre-configured with control information indicating which sub-areas are protected and under what conditions. This preliminary configuration allows the modules to make rapid access decisions without complex real-time analysis, maintaining high access speed while ensuring protection.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP3242199B1Flash memory controller and control method for flash memory controller
Publication Date: 2019.08.07 GIGADEVICE SEMICON (BEIJING) INC
  • EP3242199B1 patent drawingFigure 1
  • EP3242199B1 patent drawingFigure 2
  • EP3242199B1 patent drawingFigure 3

AI summary

A flash controller and a control method for the flash controller. The flash controller comprises an instruction bus interface, a data bus interface, a configuration register, an erase access filter module, a read/write access filter module and a flash control module. The read/write access filter module is configured to receive control information; when a read/write access is received from the instruction bus interface or the data bus interface, whether the read/write access is sent to the flash control module or not is determined according to the control information; the erase access filter module is configured to receive control information; when an erase access is received from the configuration register, whether the erase access is sent to the flash control module or not is determined according to the control information; the flash control module is configured to complete an access to a flash memory according to the read/write access or the erase access. The present disclosure is used to protect programs from being stolen by a client, and also protect against a situation where companies collaboratively developing a program are able to steal programs from one another.