Prefetch Module Address-Based Control for Flash Memory Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In signal processing systems, prefetching schemes often perform unnecessary operations due to inaccurate prediction of required instructions and data, leading to sub-optimal or detrimental system performance, especially when accessing slow memory elements like flash memory.

Innovation Solution

A prefetch module is integrated into the signal processing system that configures prefetching based on address ranges, enabling or disabling prefetching of instructions and data based on the type of memory access request, thereby optimizing resource usage and reducing unnecessary prefetches.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If prefetching schemes are implemented to fetch data in advance, then memory access performance is improved, but system resources are wasted due to unnecessary prefetch operations

Engineering Contradiction:
Improvememory access speedVSAvoidsystem resource consumption
Core Design Contradiction:
SpeedVSLoss of energy

Solution Approach 1:

The system changes the parameter of prefetching enablement based on memory address types. Different prefetch configurations are applied to different memory regions (e.g., instruction memory vs. data memory), allowing the system to optimize between performance and resource consumption by adjusting prefetch behavior according to specific memory access patterns and address characteristics.

Inventive Principle:
Principle #35Parameter changes

2Speed

If prefetch operations are performed to reduce memory access time, then access speed is improved, but unnecessary operations increase device complexity

Engineering Contradiction:
Improvememory access speedVSAvoidprefetch control complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The memory address space is segmented into different types (e.g., instruction addresses, data addresses, and other memory regions). The prefetch module then applies different control strategies to each segment based on its characteristics. This segmentation allows complex prefetch logic to be organized into manageable sections, each with specific enablement criteria, reducing overall control complexity while maintaining performance benefits.

Inventive Principle:
Principle #1Segmentation

3Loss of time

If aggressive prefetching is used to improve performance, then access time is reduced, but reliability decreases due to inaccurate predictions

Engineering Contradiction:
Improvememory access timeVSAvoidprefetch prediction accuracy
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

Instead of attempting to predict every single memory access perfectly, the system applies partial prefetching strategies where prefetching is enabled only for specific memory regions or under specific conditions. This partial action approach accepts that some prefetches may be unnecessary or inaccurate, but ensures that when prefetching is applied, it provides genuine performance benefits, thereby improving overall reliability.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS9652413B2Signal processing system and integrated circuit comprising a prefetch module and method therefor
Publication Date: 2017.05.16 TAIWAN SEMICONDUCTOR MANUFACTURING CO LTD
  • US9652413B2 patent drawing
  • US9652413B2 patent drawing
  • US9652413B2 patent drawing

AI summary

A signal processing system comprising at least one master device at least one memory element and prefetch module arranged to perform prefetching from at least one memory element upon a memory access request to the at least one memory element from the at least one master device. Upon receiving a memory access request from the at least one master device, the prefetch module is arranged to configure the enabling of prefetching of at least one of instruction information and data information in relation to that memory access request based at least partly on an address to which the memory access request relates.