Kernel-Separated Memory Compression to Reduce Storage Wear
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing memory management solutions require intrusive modifications to kernel code, leading to limitations in updating and increased memory pressure due to frequent data dumping and reading from secondary storage devices.
Innovation Solution
A memory management method that utilizes a memory management engine separate from the kernel code, allowing for memory compression and data transfer between storage layers without modifying the kernel, thereby reducing memory pressure and extending the service life of secondary storage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Stress or pressure
If kernel code is modified to implement memory management solutions, then memory pressure can be reduced, but device complexity increases and code maintenance becomes more difficult
Solution Approach 1:
The patent extracts the memory management functionality from the kernel code into a separate memory management engine. This allows the memory management operations (compressing anonymous pages, transferring data between storage layers) to be performed by a dedicated engine that can be independently updated and maintained, while the kernel code remains unchanged and simpler.
Solution Approach 2:
The memory management engine acts as an intermediary between the kernel and the storage system. It receives requests from the kernel, performs the actual memory management operations (compression, data transfer), and returns results to the kernel, thereby isolating the complexity of memory management from the kernel code.
2Stress or pressure
If data is frequently dumped and read from secondary storage, then memory pressure is reduced, but the service life of secondary storage decreases
Solution Approach 1:
The patent introduces data compression as a parameter change in the memory management process. By compressing anonymous pages before transferring them to secondary storage, the amount of data that needs to be read and written is reduced, thereby decreasing the wear on secondary storage devices and extending their service life while still effectively managing memory pressure.
Data Source
AI summary
This application relates to a memory management method. The method includes: writing the memory management method in a form of software code onto a kernel layer, and separating the software code from kernel code. A kernel may call the software code by using a call function to manage memory space. For example, an anonymous page corresponding to an application is compressed into block space, and a compression page corresponding to the application is dumped into a universal flash storage.


