Software-Programmable Cache Memory with CAM for Low-Power Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing cache mechanisms in microcontrollers, such as direct mapping and n-associative caches, require significant memory overhead and power consumption, making them unsuitable for dedicated hardware executing known instruction sequences, especially in touch controllers where software expertise can predict instruction usage.

Innovation Solution

A software programmable cache mechanism using a content-addressable memory (CAM) to match instruction addresses, allowing software to indicate which non-volatile memory sections to cache, combined with a volatile cache memory for fast access.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If classic cache implementations (direct mapping and n-associative caches) are used, then instruction access speed is improved, but memory overhead and power consumption increase significantly

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

Solution Approach 1:

The system uses software to automatically manage cache operations by intercepting memory access requests and translating them to cache translations. The software cache manager autonomously handles cache misses, invalidations, and updates without requiring complex hardware cache control logic, thereby reducing hardware resource consumption and power usage while maintaining fast instruction access.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces traditional hardware-based cache management mechanisms with a software-based approach. Instead of using hardware cache controllers and complex address translation logic, the system uses software functions to manage cache translations, reducing the hardware footprint and associated power consumption while achieving similar or better performance.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Speed

If classic cache implementations are used, then instruction access speed is improved, but device area increases

Engineering Contradiction:
Improveinstruction access speedVSAvoiddevice area
Core Design Contradiction:
SpeedVSArea of stationary object

Solution Approach 1:

The software cache manager performs cache operations through software functions that translate memory addresses to cache locations. This eliminates the need for large hardware cache structures and complex address translation circuits, significantly reducing the area occupied by the cache subsystem while maintaining fast instruction access through the volatile memory cache.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent substitutes hardware cache management circuits with software-based address translation and cache management. This replacement dramatically reduces the hardware area required for cache operations, as software can efficiently manage cache translations without requiring the extensive hardware infrastructure of traditional cache implementations.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Extent of automation

If hardware cache management is used, then instruction retrieval is automated, but device complexity increases

Engineering Contradiction:
Improvecache management automationVSAvoidhardware complexity
Core Design Contradiction:
Extent of automationVSDevice complexity

Solution Approach 1:

The patent replaces complex hardware cache management circuits with software functions. The software cache manager handles address translation, cache miss detection, and invalidation operations through software logic, eliminating the need for complex hardware state machines, priority encoders, and hardware cache controllers, thereby significantly reducing device complexity.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The system introduces a software intermediary layer (software cache manager) that mediates between memory access requests and the actual memory/cache operations. This software intermediary handles the complexity of cache management centrally, allowing the hardware to remain simple while achieving automated cache management functionality.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS20250265196A1System and methods for software programmable cache memory
Publication Date: 2025.08.21 MICROCHIP TECHNOLOGY INC
  • US20250265196A1 patent drawing
  • US20250265196A1 patent drawing
  • US20250265196A1 patent drawing

AI summary

A software programmable cache memory may enable fast execution of frequently used blocks of code. The software programmable cache memory may match incoming instruction addresses with addresses stored in a content-addressable memory (CAM) and may read matching addresses from a volatile cache memory. Instruction addresses which do not match with addresses stored in the CAM may be fetched from a non-volatile memory coupled to the software programmable cache memory.