Nonvolatile Memory Sector Protection Using Dual-State Codes

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Nonvolatile memory devices face limitations in data protection due to the limited endurance of protection bits and the time-consuming nature of program/erase operations, making it difficult to frequently switch between protected and unprotected states while maintaining data integrity.

Innovation Solution

The implementation of nonvolatile and volatile protection codes, along with protection lock codes, to dynamically control sector protection states, allowing for flexible and reliable data protection by blocking or allowing modifications based on code states, and ensuring protection settings are maintained across power cycles.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If nonvolatile protection bits are used to store protection state, then data protection reliability is improved, but the limited endurance and long program/erase time worsen the ability to frequently switch protection states

Engineering Contradiction:
Improvedata protection reliabilityVSAvoidprotection state switching speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The protection mechanism is segmented into two distinct components: nonvolatile protection bits stored in flash memory for persistent protection state, and volatile protection registers for dynamic control. This segmentation allows each component to fulfill its optimal function - the nonvolatile bits ensure reliability across power cycles while the volatile registers enable fast switching without wear concerns

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Volatile protection registers act as an intermediary between the software control logic and the nonvolatile protection bits. The intermediary absorbs the wear and switching frequency demands, allowing the nonvolatile bits to remain stable and reliable while the volatile registers handle the dynamic switching operations

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If nonvolatile protection bits are programmed frequently, then protection state flexibility is improved, but memory cell wear increases due to endurance limits

Engineering Contradiction:
Improveprotection state flexibilityVSAvoidmemory cell endurance
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system segments protection functionality into nonvolatile persistent storage and volatile dynamic control, allowing flexibility to be achieved through the volatile component while the nonvolatile component preserves memory cell endurance by only updating when necessary

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The volatile protection registers are pre-loaded with protection state values from the nonvolatile bits during initialization. This preliminary action allows subsequent switching operations to occur in the volatile domain without repeatedly programming the nonvolatile memory cells, thus preserving endurance

Inventive Principle:
Principle #10Preliminary action

3Stability of the object's composition

If program/erase operations are performed for protection bit changes, then protection state persistence is improved, but operating time increases significantly compared to volatile memory writes

Engineering Contradiction:
Improveprotection state persistenceVSAvoidprotection state update time
Core Design Contradiction:
Stability of the object's compositionVSLoss of time

Solution Approach 1:

The protection system is divided into persistent nonvolatile storage and fast volatile control, allowing the system to achieve both persistence and speed by operating in the volatile domain for frequent changes while using nonvolatile storage only for permanent state changes

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically selects between volatile and nonvolatile protection mechanisms based on the required persistence. For temporary or frequent protection state changes, the volatile registers are used for immediate effect. For permanent protection requirements, the nonvolatile bits are programmed, ensuring persistence without the time penalty for every operation

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9940048B2Nonvolatile memory data protection using nonvolatile protection codes and volatile protection codes
Publication Date: 2018.04.10 MACRONIX INTERNATIONAL CO LTD
  • US9940048B2 patent drawing
  • US9940048B2 patent drawing
  • US9940048B2 patent drawing

AI summary

Methods for protecting data on an integrated circuit including a memory are described. One method includes storing nonvolatile protection codes on the integrated circuit. The nonvolatile protection codes have a first value indicating a protected state or a second value indicating an unprotected state for respective sectors in a plurality of sectors of the memory. The method includes storing volatile protection codes on the integrated circuit. The volatile protection codes have a first value indicating a protected state or a second value indicating an unprotected state for respective sectors in the plurality of sectors. The method includes blocking modification in a particular sector using circuitry on the integrated circuit when the volatile protection code for the particular sector has the first value, else allowing modification in the particular sector, and setting the volatile protection codes to values of the nonvolatile protection codes in an initialization procedure.