Memory Access Deciding Component for Block Size Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current methods for determining whether to use cache or direct storage in computing systems are inefficient as they do not account for varying block sizes and system performance, leading to suboptimal access speeds and increased processor load.
Innovation Solution
A deciding component that measures and calculates the efficiency of using cache or direct storage based on block sizes and system parameters, such as time and processor resources, to dynamically determine the most efficient memory type for reading and writing operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If cache is used for all data streams, then access speed is improved, but processor overhead increases and energy consumption increases
Solution Approach 1:
The patent changes the parameter of data block size to determine the optimal storage path. By measuring actual read/write times for different block sizes and comparing cache versus direct storage performance, the system dynamically selects the most efficient path based on measured parameters rather than using a fixed cache-for-all approach.
Solution Approach 2:
The system dynamically adjusts the data access strategy based on real-time measurements. It continuously measures read and write times for different block sizes and automatically selects between cache and direct storage based on current performance characteristics, making the system adaptive rather than static.
2Device complexity
If direct storage access is used, then processor overhead is reduced, but access speed decreases
Solution Approach 1:
The system uses block size as a changing parameter to select between direct storage and cache access. For certain block sizes where direct storage proves faster through measurement, the system routes data directly to storage, eliminating unnecessary cache overhead while maintaining optimal speed for those specific cases.
Solution Approach 2:
The system performs self-measurement and self-optimization by automatically timing read/write operations and selecting the fastest path without external intervention. The deciding component autonomously measures performance and adjusts access patterns based on empirical data.
3Speed
If cache is used for small data blocks, then access speed is improved, but energy consumption increases
Solution Approach 1:
The patent uses block size as a critical parameter to determine energy-efficient access paths. By measuring actual performance for different block sizes, the system identifies that small blocks may benefit from cache while larger blocks are more efficient through direct storage, optimizing the energy-speed tradeoff based on measured parameters.
Solution Approach 2:
Instead of using cache for all data regardless of size, the system applies cache selectively only when measurements show it provides net benefit. For data blocks where direct storage is equally or more efficient, the system skips the cache step, avoiding unnecessary energy consumption while maintaining adequate performance.
4Ease of manufacture
If fixed cache policy is used, then implementation is simple, but system efficiency decreases
Solution Approach 1:
The system performs preliminary measurements of read and write times for different block sizes before making access decisions. By pre-measuring and storing performance characteristics for various block sizes, the system creates a lookup reference that guides subsequent access decisions, combining simple policy-based selection with empirically optimized parameters.
Solution Approach 2:
The system continuously measures actual access times and uses this feedback to refine its decisions. The deciding component collects performance data, compares measured times against thresholds, and adjusts its routing policy based on real-world performance feedback, creating a closed-loop optimization system.
Data Source
Figure 1~2
Figure 3~4
AI summary
To increase the efficiency of a running application, it is determined whether using a cache(140)or directly a storage(150)is more efficient block size -specifically(131); and the determined memory type is used for a data stream having a corresponding block size.