Memory Compression for Reducing Memory Commit Charge
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
As computer programs become more complex, they require increased amounts of memory, leading to higher costs due to the need for additional computer memory, and existing methods do not effectively manage memory commit efficiently to reduce these costs.
Innovation Solution
A method that determines the amount of memory committed to a program, compresses unused memory pages, and releases the committed memory when not in use, allowing re-allocation to other programs, with the option to re-launch the program if memory access is unsuccessful.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If memory is allocated to complex computer programs to support increased functionality, then program capability is improved, but memory cost increases
Solution Approach 1:
The patent changes the state of memory from uncompressed to compressed, transforming the density parameter. By compressing memory pages when programs are suspended, the system reduces the physical memory quantity required while maintaining the same program functionality, thus resolving the contradiction between program capability and memory cost
Solution Approach 2:
The patent implements dynamic memory management where memory pages are compressed when programs are suspended and decompressed when needed. This dynamic adjustment of memory state allows the system to optimize memory usage based on program activity, reducing overall memory requirements while preserving program functionality when executed
2Quantity of substance
If memory is released from suspended programs to reduce commit charge, then memory efficiency is improved, but program accessibility deteriorates
Solution Approach 1:
The patent applies preliminary compression to memory pages before the program is fully suspended. By pre-compressing the memory content and storing compression metadata, the system ensures that when memory is released and the program needs to be reactivated, the compressed data can be quickly decompressed and restored, thus maintaining program accessibility while improving memory efficiency
Solution Approach 2:
The patent introduces compression metadata and decompression mechanisms as intermediaries between the released memory and the program. This intermediary layer allows the system to manage released memory commit while providing a pathway to restore program access through decompression, resolving the contradiction between memory efficiency and program accessibility
Data Source
Figure 1
Figure 2A~2B
Figure 3
AI summary
A memory manager in a computing device allocates memory to programs running on the computing device, the amount of memory allocated to a program being a memory commit for the program. When a program is in a state where the program can be terminated, the content of the memory pages allocated to the program is compressed, and an amount of the memory commit for the program that can be released is determined. This amount of memory commit is the amount that was committed to the program less any amount still storing (in compressed format) information (e.g., data or instructions) for the program. The determined amount of memory commit is released, allowing that amount of memory to be consumed by other programs as appropriate.