MTJ Non-Volatile Memory Circuit for Low-Latency FPGA Initialization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The initialization of field-programmable gate arrays (FPGAs) is hindered by significant latency and energy consumption during the transfer of configuration patterns from non-volatile memory to internal configuration static random-access memory, which is not adequately addressed by existing power-reduction methods.

Innovation Solution

The implementation of a memory circuit comprising programmable non-volatile and volatile memory cells, utilizing magnetic tunnel junction (MTJ) devices and select devices, which allows for efficient programming and transfer of bit values through voltage levels, enabling reduced power and latency by using thermal assisted switching and spin torque transfer techniques.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If configuration patterns are transferred from non-volatile memory to internal configuration SRAM through regular data pins, then the transfer can be performed using conventional methods, but significant latency and energy consumption occur during initialization

Engineering Contradiction:
Improveinitialization latencyVSAvoidenergy consumption during transfer
Core Design Contradiction:
Loss of timeVSUse of energy by moving object

Solution Approach 1:

The memory cell is divided into two distinct parts: a non-volatile memory (NVM) cell for storing configuration bits and a volatile memory (VM) cell for rapid access. This segmentation allows the NVM to retain configuration data without power while the VM provides fast readout during initialization, thereby reducing both latency and energy consumption during the transfer process.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The NVM cell pre-stores the configuration pattern before the FPGA is powered on or before initialization is needed. This preliminary action eliminates the need to transfer large amounts of data during startup, as the configuration is already prepared and can be quickly loaded into the VM cell when needed, reducing initialization latency and energy usage.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If NVM cell is embedded within the FPGA chip, then secure independent configuration storage is provided, but the transfer process during power-up still requires conventional data transfer methods with high power consumption

Engineering Contradiction:
Improveconfiguration storage securityVSAvoidpower consumption during initialization
Core Design Contradiction:
ReliabilityVSUse of energy by stationary object

Solution Approach 1:

The NVM cell and VM cell are merged into a single integrated memory structure where the NVM cell stores configuration bits and the VM cell provides rapid readout. This combination allows the configuration data to be securely stored within the FPGA chip while enabling low-power, fast transfer during initialization by utilizing the VM cell's efficient readout path rather than conventional data pin transfers.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The VM cell acts as an intermediary between the NVM cell and the rest of the FPGA configuration system. During initialization, the VM cell receives data from the NVM cell and provides it to the configuration logic, enabling efficient data transfer with reduced power consumption compared to direct transfers through conventional data pins.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Ease of manufacture

If conventional data transfer methods are used for initialization, then the transfer process is simple to implement, but significant power and time resources are consumed

Engineering Contradiction:
Improveimplementation simplicityVSAvoidinitialization speed
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The memory circuit dynamically switches between different operational modes: during normal operation, the NVM cell holds configuration data; during initialization, the VM cell is activated to rapidly readout the configuration. This dynamic operation allows the system to achieve fast initialization speeds while maintaining implementation simplicity by using standard memory cell structures and control logic.

Inventive Principle:
Principle #15Dynamics

Applied Scientific Principles

This section explains which scientific principles are used to turn an abstract innovation direction into a practical engineering solution.

Function Achieved in This Case

This approach significantly reduces the power and duration of the initialization process, providing a low-energy, distributed configuration capability with minimal silicon area and process complexity, while maintaining system reliability and compatibility with lower supply voltages.

Implementation Method 1

enabling reduced power and latency by using thermal assisted switching and spin torque transfer techniques

Methodology Applied
Scientific EffectThermal assisted switching:

Implementation Method 2

enabling reduced power and latency by using thermal assisted switching and spin torque transfer techniques

Methodology Applied
Scientific EffectSpin torque transfer:

Data Source

PatentUS10559357B1Memory circuit having non-volatile memory cell and methods of using
Publication Date: 2020.02.11 LATTICE SEMICON CORP
  • US10559357B1 patent drawing
  • US10559357B1 patent drawing
  • US10559357B1 patent drawing

AI summary

One aspect relates to a memory circuit that has a programmable non-volatile memory (NVM) cell configured to generate an NVM output signal indicative of a program state of the NVM cell and to configure a volatile output based on the program state of the NVM cell. The NVM cell comprises a first magnetic tunnel junction (MTJ) device, a first select device connected in series with the first MTJ device at a first node, and a first pass device. The memory circuit also may have a programmable (independently of the NVM cell) volatile memory (VM) cell configured to receive the NVM output signal at a VM input node and to generate a VM output signal indicative of the program state of the VM cell.