Selective Memory Dumping for Crash Data Integrity
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In data processing systems, crashes often result in the loss of critical crash information stored in volatile memory, which cannot be analyzed before rebooting, especially in diskless systems lacking non-volatile memory, requiring data dump methods to transfer this information to another system, but existing methods like kdump may select and dump large amounts of data, including sensitive information, and can destroy file system data.
Innovation Solution
A data dump method that divides memory into a primary and secondary section, where the primary section contains the operating system and dump program code, and the secondary section is out of the operating system's control, allowing the dump program to selectively read and dump file system data from the secondary memory after a crash, using error data for selection and ensuring data integrity.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of information
If the dump program dumps all data in memory after a crash, then complete crash information is obtained, but large amounts of sensitive information are also exposed and the dump size becomes unmanageable
Solution Approach 1:
The memory is divided into a primary memory section (containing OS and dump program code) and a secondary memory section (containing file system data). This segmentation allows the dump program to selectively access only the secondary section for file system data, avoiding dumping of unnecessary data from the primary section while still capturing relevant crash information.
Solution Approach 2:
File system data is extracted from the primary memory section and placed in a separate secondary memory section. The dump program is configured to read only from the secondary section, extracting only the necessary file system data for crash analysis while leaving other data undumped.
2Loss of information
If the dump program accesses the file system after a crash, then file system data can be dumped, but the crash may have destroyed file system data making selection impossible
Solution Approach 1:
File system data is pre-positioned in the secondary memory section before the crash occurs. This preliminary arrangement ensures that even if a crash destroys file system data structures in the primary memory section, the dump program can still access the pre-positioned file system data in the secondary section for analysis.
3Ease of operation
If the memory is divided into primary and secondary sections, then selective dumping is enabled, but the memory structure becomes more complex
Solution Approach 1:
The memory is segmented into primary and secondary sections with distinct purposes. The primary section holds OS and dump program code, while the secondary section holds file system data. This clear segmentation simplifies the dump program's operation by providing explicit guidance on which memory region to access, despite the added structural division.
Data Source
AI summary
As the file system of an operating system program might be damaged by a crash, the file system is usually used neither for the selection of data to be dumped from a memory nor for the analysis of the dumped data, and all data contained in one or several areas of the memory are dumped. In order to preserve the integrity of the file system and enable its use after the crash, the memory is divided into a primary and a secondary memory section during a memory setup, file system data are transferred from the primary memory section to the secondary memory section widely out of the control of the operating system program, and a read access of a dump program is directed to the secondary memory section in order to select file system data to be dumped after the crash using error data.


