Memory Image
Overview
Most high-end servers support the memory image feature. The principle of the memory image feature is that half memory of the whole system is used as the image of another half of the memory. If errors occur in the main memory, the image memory is read to achieve reliability of the system. However, the memory image feature may lead to waste of half of the memory.
Up-to-date CPUs, for example, Intel Xeon series, support segmented image technology, that is, partial memory image feature. A segment can be manually specified for the image. Important data is stored in the image memory, ensuring the high reliability and low memory waste. However, partial memory image feature is supported only by hardware, but not by software.
Principles
Figure 11-1 shows the partial memory image feature.
- In a NUMA system, each node has a segment of physical addresses used for memory image. The memory image can be read and written by the OS like other areas. The hardware is specially processed. If memory errors such as ECC occur, errors are automatically corrected. In another way, OS implements a feature that can allocate memory in a specified segment of physical addresses.
- Memory image addresses are provided by the SRAT table of BIOS during startup. OS establishes the structure during initialization and provides the global switch of image memory for administrators. The OS provides control interface and user-mode programmable interface for a single process, allowing you to use the image memory as required.
Scenario
The partial memory image feature, an important RAS feature, improves the reliability of the computer system without reducing available memory to a large extent. The partial memory image feature can be integrated into high-end servers and deployed in key industries, such as banking transaction center and military industry R&D, that have high reliability requirements on computers.
The partial memory image feature applies to computer system configured with partial memory images. The memory allocation policy of the OS is modified to enable OS kernel data and key user process data to preferentially use image memory. OS kernel data and key user process data is protected to improve the overall system reliability.
- By default, all kernel-mode data is key data. You can specify some processes to use all memory images through memory allocation or use partial memory images through APIs.
- By default, common memory is specified to user-mode processed. Image memory used by user-mode processes must be manually specified.
Specifications
- A computer system hardware platform, for example, CPU, must support the partial memory image feature.
- The partial memory images can only be configured only during the system startup and cannot be dynamically configured after the system starts.
- Only servers in Huawei 9032 series are supported.
- The minimum size of the image memory is 64 MB. The memory size must be configured to a multiple of 64 MB. There is no restriction on the maximum size.
- Memory with the address corresponding to the first 0 to 4 GB are recommended to be reserved as the image memory.
- You are advised to reserve more than 1/64 of the total physical memory capacity as the image memory.
- You are advised to properly configure sizes of memory images. Memory images must not cover the whole node memory size. Do not use OS while image memory is not configured, because fallback will occur repeatedly and performance will be deteriorated.
Impact
- The system capacity decreases.
- The reliability of image memory is relatively high.
- If the hardware does not support memory images, there is no impact on the system.
- Compatible with hot swap features. That is, only user mode memory is allocated as image memory of movable node.
- If there is insufficient image memory, and memory images are enabled as the default memory, fallback may occur repeatedly during memory allocation.
- If image memory is enabled and the identifier for using image memory is disabled, only common memory is allocated and image memory is reserved.