UI Executable Scoring for Memory Page Migration
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Page migration in memory leads to delays and latency issues when switching between applications, particularly affecting user interface components and user experience, as it increases memory bus traffic and hinders performance.
Innovation Solution
A method that scores user interface-related executables based on their usage, recency, and frequency, then allocates or migrates them to different types of memory (DRAM or NVRAM) to optimize performance, prioritizing critical components in faster memory and evicting non-critical ones to slower memory during periods of low usage or memory bus availability.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If page migration is performed to manage memory, then memory capacity is extended, but application responsiveness deteriorates due to increased latency
Solution Approach 1:
The patent applies local quality by differentiating memory treatment based on component criticality. Critical UI components are retained in fast memory (DRAM), while non-critical components are migrated to slower memory (NVRAM). This creates different memory quality levels for different parts of the system, resolving the contradiction between extending memory capacity and maintaining responsiveness for critical components.
Solution Approach 2:
The patent changes the memory access speed parameter by selectively placing components in different memory types. By changing the memory location parameter based on component importance, the system achieves both extended capacity and maintained performance for critical operations.
2Loss of time
If all components are kept in fast memory, then application responsiveness is maintained, but memory capacity is wasted
Solution Approach 1:
Instead of treating all memory uniformly, the system applies different quality levels locally. Critical components receive fast memory treatment, while non-critical components use slower memory. This resolves the contradiction by avoiding wasted capacity on non-critical components while maintaining fast access for what matters.
Solution Approach 2:
The patent treats non-critical components as disposable objects that can be migrated to cheaper, slower memory. These components are not essential for immediate responsiveness, so it's acceptable to place them in lower-cost memory capacity, effectively wasting fast memory capacity on them.
3Productivity
If frequent page migration occurs, then memory management is improved, but memory bus traffic increases causing latency
Solution Approach 1:
The system performs preliminary scoring and classification of components before migration decisions are needed. By pre-establishing criteria for critical vs. non-critical components, the system can make faster, more informed migration decisions without excessive bus traffic. The scoring mechanism is prepared in advance to guide subsequent actions.
Solution Approach 2:
The patent implements dynamic memory management where component placement is not fixed but adapts based on usage patterns. The system dynamically adjusts which components reside in fast vs. slow memory based on real-time or near-real-time performance data, optimizing the balance between management efficiency and bus traffic reduction.
Data Source
AI summary
Enhancement or reduction of page migration can include operations that include scoring, in a computing device, each executable of at least a first group and a second group of executables in the computing device. The executables can be related to user interface elements of applications and associated with pages of memory in the computing device. For each executable, the scoring can be based at least partly on an amount of user interface elements using the executable. The first group can be located at first pages of the memory, and the second group can be located at second pages. When the scoring of the executables in the first group is higher than the scoring of the executables in the second group, the operations can include allocating or migrating the first pages to a first type of memory, and allocating or migrating the second pages to a second type of memory.


