Display Controller Memory Read Subsystem Prefetching Page Access Data

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Display controllers in data processing systems face challenges in efficiently accessing and processing input surfaces for display due to latency issues caused by non-contiguous memory page allocation and the need for rapid address translation, leading to potential under-run situations where insufficient pixel data is available for display.

Innovation Solution

A memory read subsystem that pre-loads memory page access data, such as address translation data, into a cache based on information about the input surfaces required for processing, allowing for efficient and timely retrieval of data by selecting only the necessary memory pages and reducing unnecessary memory traffic and power consumption.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If the display controller reads input surface data from non-contiguous memory pages, then the data can be stored efficiently in memory, but the access latency increases due to the need for address translation

Engineering Contradiction:
Improvememory storage efficiencyVSAvoidmemory access latency
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent pre-loads memory page access data (such as translation lookaside buffer entries) into a cache before the actual input surface data is needed. This preliminary action ensures that when the display controller needs to access non-contiguous memory pages, the address translation data is already available in the cache, eliminating the latency penalty of real-time address translation while maintaining efficient non-contiguous memory storage

Inventive Principle:
Principle #10Preliminary action

2Speed

If the display controller caches all memory page access data, then address translation is rapid, but the cache size required becomes excessively large

Engineering Contradiction:
Improveaddress translation speedVSAvoidcache memory size
Core Design Contradiction:
SpeedVSArea of stationary object

Solution Approach 1:

The patent extracts and caches only the specific memory page access data that is actually needed for the current input surface processing task. Instead of caching all possible page table entries, the system identifies and pre-loads only the page access data corresponding to the memory pages that will be accessed during the current frame processing, thereby maintaining fast address translation while keeping the cache size minimal

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent applies local quality by making the cache content specific to the current processing context. The cache is populated with memory page access data tailored to the particular input surface and its associated memory pages, rather than using a generic large cache. This localized approach ensures fast translation for the current task without requiring excessive cache capacity

Inventive Principle:
Principle #3Local quality

3Reliability

If the system pre-loads all memory pages for input surfaces, then data availability is ensured, but power consumption and memory traffic increase

Engineering Contradiction:
Improvedata availabilityVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent applies partial action by pre-loading only the specific memory pages that contain data actually required for the current input surface processing, rather than pre-loading all memory pages. The system identifies the exact memory pages needed based on the input surface parameters and pre-loads only those pages into the cache, ensuring data availability while minimizing unnecessary memory traffic and power consumption from loading and processing irrelevant data

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10593305B2Prefetching page access data for input surfaces requiring processing
Publication Date: 2020.03.17 ARM LTD
  • US10593305B2 patent drawing
  • US10593305B2 patent drawing
  • US10593305B2 patent drawing

AI summary

A display controller for a data processing system includes a memory read sub-system operable to read data of input surfaces to be used as input layers to be processed by the display controller.The memory read sub-system is operable to request in advance the loading of memory address translation data into a memory address translation data cache for memory pages storing data relating to an input surface. The memory read sub-system selects the memory pages that it requests the advance loading of address translation data for based on information relating to the data for the input surface that will be required by the display controller to generate the output surface, such as the vertical and horizontal size of the input layer that the input surface will be used for, an indication of any flipping or rotation of the input surface, etc.