Stack Processor Using F-RAM for Code and Stack Memory

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current non-volatile memory technologies, such as Flash memory, have low endurance and high power consumption, making them unsuitable for applications requiring high write cycles and low power usage, especially in environments where power supply voltage can be lost.

Innovation Solution

A stack processor architecture utilizing ferroelectric random access memory (F-RAM) for both code and data spaces, optimized to minimize memory fetch operations and power consumption, with some stacks stored in non-volatile F-RAM and others in volatile CMOS memory, allowing for rapid data backup and reduced power usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Duration of action of stationary object

If Flash memory is used for non-volatile storage, then data persistence is improved, but endurance and write cycle life deteriorate

Engineering Contradiction:
Improvedata persistenceVSAvoidendurance
Core Design Contradiction:
Duration of action of stationary objectVSReliability

Solution Approach 1:

The patent merges F-RAM and Flash memory into a single memory system, using F-RAM for active code and stack storage while using Flash for bulk non-volatile storage. This combination allows the system to leverage the high endurance of F-RAM for frequent write operations while using Flash for long-term data persistence, thereby resolving the contradiction between data persistence and endurance.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The memory system is segmented into different functional regions: F-RAM is used for code space and stack memory where high-speed writes and high endurance are critical, while Flash memory is used for bulk data storage where long-term persistence is the priority. This segmentation allows each memory type to operate in its optimal performance regime.

Inventive Principle:
Principle #1Segmentation

2Speed

If F-RAM is used for code and stack storage, then write speed and endurance are improved, but power consumption increases

Engineering Contradiction:
Improvewrite speedVSAvoidpower consumption
Core Design Contradiction:
SpeedVSUse of energy by moving object

Solution Approach 1:

The system applies local quality by using F-RAM only for the specific regions where high-speed writes are critical (code space and stack memory), while using lower-power Flash memory for bulk data storage. This localized application of high-performance memory minimizes the overall power consumption while maintaining write speed where it is most needed.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system dynamically manages memory allocation and access patterns, keeping frequently accessed code and stack data in F-RAM while moving less frequently accessed data to Flash memory. This dynamic management allows the system to optimize power consumption based on actual access patterns while maintaining high write speed for critical operations.

Inventive Principle:
Principle #15Dynamics

3Speed

If separate memory types are used for code and stack storage, then access speed is improved, but power consumption peaks increase due to simultaneous access

Engineering Contradiction:
Improveaccess speedVSAvoidpower consumption peaks
Core Design Contradiction:
SpeedVSPower

Solution Approach 1:

The patent merges code space and stack memory into the same F-RAM memory region, allowing simultaneous access to both code and stack data without the power consumption peaks that would result from accessing separate memory types. This unified memory architecture eliminates the need for parallel access to multiple memory banks, thereby reducing power consumption peaks while maintaining high access speed.

Inventive Principle:
Principle #5Merging (Combining)

4Use of energy by moving object

If Volatile memory is used for stack storage, then power consumption is reduced, but power-down time increases due to data saving requirements

Engineering Contradiction:
Improvepower consumptionVSAvoidpower-down time
Core Design Contradiction:
Use of energy by moving objectVSLoss of time

Solution Approach 1:

The system uses partial volatility by maintaining the stack in F-RAM, which is non-volatile but can operate in a low-power state. This allows the system to reduce power consumption significantly during idle periods while avoiding the lengthy data saving operations required by fully volatile memory, as F-RAM retains data without power.

Inventive Principle:
Principle #16Partial or excessive action

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 architecture enables quick power-down times, reduced power consumption, and efficient data storage, suitable for applications like RFID and metering, with a compromise between faster program execution and quicker power-down times, while minimizing F-RAM memory accesses and on-chip die area.

Implementation Method 1

A stack processor architecture utilizing ferroelectric random access memory (F-RAM) for both code and data spaces

Methodology Applied
Scientific EffectFerroelectric effect:

Data Source

PatentUS9588881B2Stack processor using a ferroelectric random access memory (F-RAM) for code space and a portion of the stack memory space having an instruction set optimized to minimize processor stack accesses
Publication Date: 2017.03.07 CYPRESS SEMICONDUCTOR CORP
  • US9588881B2 patent drawing
  • US9588881B2 patent drawing
  • US9588881B2 patent drawing

AI summary

A stack processor and method implemented using a ferroelectric random access memory (F-RAM) for code and a portion of the stack memory space having an instruction set optimized to minimize processor stack accesses and thus minimize program execution time. This is particularly advantageous in low power applications and those in which the power supply is only available for a finite period of time such as RFID implementations. Disclosed herein is a relatively small but complete set of instructions enabling a multitude of possible applications to be supported with a program execution time that is not too long.