2R1W/1R1W Cache Allocation for Efficient Data Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing cache designs face a challenge in balancing improved access efficiency with reduced implementation area and cost, particularly when increasing the number of ports for data input and output, which leads to increased control circuits and signal lines.

Innovation Solution

Implementing a cache system with two types of caches having asymmetric structures and different numbers of parallel usable ports, where one cache has two read ports and one write port (2R1W type) and the other has one read and one write port (1R1W type), and using a control circuit to determine data storage based on identification information to optimize data allocation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the number of ports for data input and output is increased, then data access efficiency is improved, but the implementation area and cost increase due to increased control circuits and signal lines

Engineering Contradiction:
Improvedata access efficiencyVSAvoidimplementation area
Core Design Contradiction:
ProductivityVSArea of stationary object

Solution Approach 1:

The cache device is divided into multiple independent caches (first cache and second cache), each with different port configurations. The first cache has one read port and one write port, while the second cache has two read ports and one write port. This segmentation allows the system to achieve high data access efficiency through parallel operations without requiring all caches to have maximum port counts, thereby reducing overall implementation area.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different caches are assigned different port configurations based on their specific functional requirements and performance characteristics. The second cache with more read ports is optimized for read-heavy workloads, while the first cache with fewer ports handles other operations. This local differentiation allows each cache to be optimized for its specific role without unnecessarily increasing the implementation area of the entire cache system.

Inventive Principle:
Principle #3Local quality

2Productivity

If the number of ports for data input and output is increased, then data access efficiency is improved, but the device complexity increases due to increased control circuits and signal lines

Engineering Contradiction:
Improvedata access efficiencyVSAvoidcontrol circuits and signal lines
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The cache device is divided into multiple independent caches (first cache and second cache), each with different port configurations. The first cache has one read port and one write port, while the second cache has two read ports and one write port. This segmentation allows the system to achieve high data access efficiency through parallel operations without requiring all caches to have maximum port counts, thereby reducing overall implementation area.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different caches are assigned different port configurations based on their specific functional requirements and performance characteristics. The second cache with more read ports is optimized for read-heavy workloads, while the first cache with fewer ports handles other operations. This local differentiation allows each cache to be optimized for its specific role without unnecessarily increasing the implementation area of the entire cache system.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS20250306929A1Cache device and method for controlling cache device
Publication Date: 2025.10.02 FUJITSU LTD
  • US20250306929A1 patent drawing
  • US20250306929A1 patent drawing
  • US20250306929A1 patent drawing

AI summary

A cache device includes: a plurality of caches that are different from each other in a number of ports that are usable in parallel, and that are each capable of holding data to be used for execution of instructions by an arithmetic operation execution circuit; and a control circuit that controls input and output of data to and from the plurality of caches. When a cache miss occurs for an access request from the arithmetic operation execution circuit, the control circuit determines which of the plurality of caches data transferred from a memory is to be stored in, based on identification information held in a memory, and performs control to store data in the determined cache.