Hardware Cache Locking Module for Data Reuse Efficiency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional cache locking systems compete with software programs for processor resources, leading to performance limitations and potential stalls, whether they lock data before or during program execution.
Innovation Solution
A hardware-implemented locking system that operates independently of software programs, allowing data to be locked 'on-the-fly' as it is loaded into the cache, using a hardware module or separate software threads to lock data simultaneously with loading, without incurring computational penalties.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a lock mechanism is implemented to lock frequently used data into the cache, then data re-use efficiency is improved, but the system incurs computational cycle penalties due to lock execution interruptions
Solution Approach 1:
The patent applies preliminary action by locking data into the cache before the program actually needs it. The system identifies frequently used data patterns and pre-locks them into cache memory in advance, so that when the program executes, the data is already locked and ready for immediate re-use without causing computational interruptions during program execution.
2Reliability
If data is locked after it has been loaded in the cache, then the lock mechanism can prevent data replacement, but the program must stall until the lock is executed
Solution Approach 1:
The system performs preliminary locking by identifying and locking frequently used data into the cache before the program execution reaches the point where it needs the data. This preliminary action ensures data retention in cache while avoiding program stalls, as the locking is completed in advance during system operation rather than during program execution.
3Productivity
If the cache memory is emptied and data is loaded and locked exclusively into the first available slot(s) prior to running the program, then lock interruptions are avoided, but extra computational cycles are used to re-transfer frequently used data for each repeated use
Solution Approach 1:
The patent applies preliminary action by pre-loading and pre-locking frequently used data into the cache before program execution begins. The system identifies data access patterns and proactively locks the required data into cache memory in advance, ensuring both program execution continuity and data availability without requiring repeated data re-transfers during program operation.
4Productivity
If a hardware-implemented locking system operates independently of software programs, then data can be locked simultaneously with loading without computational penalties, but the system complexity increases
Solution Approach 1:
The patent introduces a hardware locking module as an intermediary component that operates independently alongside the software program. This hardware mediator handles data locking operations in parallel with program execution, allowing data to be locked simultaneously with loading without causing computational interruptions. The hardware module acts as an independent agent that manages cache locking without competing for processor resources with the main program.
Data Source
AI summary
A system and method for locking data in a cache memory. A first processing thread may be operated to run a program requesting data, where at least some of the requested data is loaded from a source memory into a non-empty cache. A second processing thread may be operated independently of the first processing thread to determine whether or not to lock the requested data in the cache. If the requested data is determined to be locked, the requested data may be locked in the cache at the same time as the data is loaded into the cache.


