Cache Memory Architecture for Sparse Matrix Data Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional cache memory systems require significant storage capacity even for sparse matrices, as they copy all data, leading to inefficiencies and high costs, especially in demand for downsizing apparatuses.

Innovation Solution

A cache unit configuration that includes a first memory for data, a second memory for managing particular data with only address storage, and a controller to determine the storage destination based on load/store flags and addresses, reducing the need to store actual data by using a particular data tag and a general data cache, thereby minimizing cache memory usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If all data in a sparse matrix is copied to cache memory, then data accessibility for the processor is improved, but cache memory storage capacity requirements increase significantly

Engineering Contradiction:
Improvedata accessibility speedVSAvoidcache memory storage capacity
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent extracts only the necessary information (address tags and validity bits) from the full data blocks and stores them in a separate tag memory, while the actual data remains in main memory. This extraction approach allows the cache to provide fast access to data addresses without storing the complete data, thereby reducing the storage capacity requirement while maintaining data accessibility performance.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces a tag memory as an intermediary component between the CPU and main memory. This tag memory stores metadata (addresses and validity information) that mediates the data access process, allowing the system to quickly determine where data is located without storing the data itself in the cache, thus resolving the contradiction between access speed and storage capacity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If conventional cache memory is used for sparse matrices, then data processing can proceed, but the cost and size of the apparatus increase

Engineering Contradiction:
Improvematrix processing capabilityVSAvoidapparatus size and cost
Core Design Contradiction:
ProductivityVSWeight of stationary object

Solution Approach 1:

The patent extracts only the essential metadata (address tags and validity bits) from full data blocks and stores them in a compact tag memory structure. This extraction reduces the amount of storage capacity required compared to conventional cache memory, thereby reducing the physical size and cost of the apparatus while maintaining the capability to process sparse matrices efficiently.

Inventive Principle:
Principle #2Taking out (Extraction)

3Quantity of substance

If cache memory stores only management information for particular data, then storage capacity is reduced, but data retrieval efficiency must be maintained

Engineering Contradiction:
Improvestorage capacityVSAvoiddata retrieval efficiency
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent implements a feedback mechanism through the validity bit in the tag memory, which indicates whether the corresponding data block is currently valid in main memory. When a data access request is made, the controller checks the validity bit to determine if the data needs to be fetched from main memory or if it's already available. This feedback mechanism enables efficient data retrieval by avoiding unnecessary memory accesses while using minimal storage capacity for management information only.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10191846B2Cache memory for particular data
Publication Date: 2019.01.29 KIOXIA CORP
  • US10191846B2 patent drawing
  • US10191846B2 patent drawing
  • US10191846B2 patent drawing

AI summary

According to an embodiment, a cache unit includes: a first memory configured to temporarily hold data and an address of the data, a second memory configured to temporarily hold an address of particular data set in advance, and a controller configured to, when an instruction to load the data is made for a first specified address, search for a storage destination of the first specified address, output the data of the first specified address if the storage destination is the first memory, and output the particular data if the storage destination is the second memory.