Programmable Logic Device Non-Volatile Memory Data Preservation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional programmable logic devices (PLDs) cannot preserve data stored in volatile memory during the reconfiguration process, leading to data loss, and existing non-volatile memory solutions have limitations such as inadequate storage space, slow access speeds, and restricted data structures.

Innovation Solution

Incorporating a non-volatile memory partitioned into configuration and user sections, allowing data from volatile memory to be stored and transferred securely, enabling the preservation of data during reconfiguration and providing virtual flash capabilities for volatile memory, which functions as shadow user flash with fast, random access and flexible data organization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If conventional PLD reconfiguration is performed, then configuration memory can be reprogrammed, but data in volatile memory is lost

Engineering Contradiction:
ImprovereprogrammabilityVSAvoiddata loss in volatile memory
Core Design Contradiction:
Adaptability or versatilityVSLoss of information

Solution Approach 1:

The patent applies preliminary action by transferring data from volatile memory to non-volatile memory before the reconfiguration process begins. This ensures that data is preserved in advance before the volatile memory is cleared during reconfiguration, allowing the PLD to be reprogrammed while maintaining data integrity.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The non-volatile memory serves as an intermediary storage medium between the volatile memory and the external environment. It temporarily holds data during the reconfiguration transition, enabling seamless data preservation while the configuration memory is being reprogrammed.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If non-volatile memory is used for data storage, then data preservation during reconfiguration is achieved, but access speed decreases

Engineering Contradiction:
Improvedata preservationVSAvoidmemory access speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The patent applies local quality by making the non-volatile memory accessible through the high-speed volatile memory interface. The non-volatile memory maintains its data preservation properties while providing fast read access through the volatile memory's high-speed interface, thus achieving both reliability and speed in different operational contexts.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The non-volatile memory block is designed to serve multiple functions: it provides data preservation during reconfiguration, offers fast read access during normal operation, and can be programmed externally. This multi-functionality allows it to meet both reliability and speed requirements across different operational phases.

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

3Reliability

If non-volatile memory is used, then data can be preserved, but storage space and data structure flexibility are limited

Engineering Contradiction:
Improvedata preservationVSAvoiddata structure flexibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The non-volatile memory block is designed to serve multiple functions: it provides data preservation during reconfiguration, offers fast read access during normal operation, and can be programmed externally. This multi-functionality allows it to meet both reliability and speed requirements across different operational phases.

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

Solution Approach 2:

The patent applies dynamics by allowing the non-volatile memory to be programmed with different data structures and configurations based on user needs. The memory can be dynamically programmed with various data formats and structures, providing flexibility despite its non-volatile nature.

Inventive Principle:
Principle #15Dynamics

4Speed

If volatile memory is used for fast access, then access speed is high, but data is lost during reconfiguration

Engineering Contradiction:
Improvememory access speedVSAvoiddata loss during reconfiguration
Core Design Contradiction:
SpeedVSLoss of information

Solution Approach 1:

The patent applies preliminary action by transferring data from volatile memory to non-volatile memory before the reconfiguration process begins. This ensures that data is preserved in advance before the volatile memory is cleared during reconfiguration, allowing the PLD to be reprogrammed while maintaining data integrity.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The non-volatile memory serves as an intermediary storage medium between the volatile memory and the external environment. It temporarily holds data during the reconfiguration transition, enabling seamless data preservation while the configuration memory is being reprogrammed.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS7554358B1Programmable logic devices with user non-volatile memory
Publication Date: 2009.06.30 LATTICE SEMICON CORP
  • US7554358B1 patent drawing
  • US7554358B1 patent drawing
  • US7554358B1 patent drawing

AI summary

Systems and methods are disclosed herein to provide improved non-volatile storage techniques for programmable logic devices. For example, in accordance with an embodiment of the present invention, a programmable logic device includes a plurality of logic blocks, a plurality of input/output blocks, and a volatile memory to store data within the programmable logic device, with configuration memory adapted to store first configuration data for configuration of the logic blocks, the input/output blocks, and the volatile memory of the programmable logic device. The programmable logic device further includes a non-volatile memory adapted to store data provided from the volatile memory.