Browse Prior Art Database

Method for Split Memory Grouping at Runtime in Server Systems

IP.com Disclosure Number: IPCOM000244290D
Publication Date: 2015-Nov-30
Document File: 3 page(s) / 203K

Publishing Venue

The IP.com Prior Art Database

Abstract

Described is a method for split memory grouping at runtime in server systems.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 51% of the total text.

Page 01 of 3

Method for Split Memory Grouping at Runtime in Server Systems

Memory grouping is a process where the memory addresses are assigned while the system boots. Allows sizes of different memory to be grouped along with interleaving to enable maximum performance for a given core/thread. While grouping the memory together in server systems, decision to effectively group memory DIMM(s) happens at a very early stage during booting. After grouping, with RAS features saving certain failure scenarios, a failure on one of the DIMM will completely bring the system down and render all the DIMMs grouped together useless.

    In a multi-processor chip, involving interleaving memory architecture to facilitate performance, an effective grouping of memory can be obtained by splitting the effective grouping procedure to two places - once, during the start (while booting), and second, during runtime. Two levels of effective grouping give lot of handle on memory management, and if properly combined with data management, then the system can easily put most of the DIMM in power save mode when not in use.
§ While grouping the memory together in server systems, decision to effectively group memory DIMM(s) happens at very early stage during booting
§ After grouping, with RAS features saving certain failure scenarios, a failure on one of the DIMM will completely bring the system down and render all the DIMMs grouped together useless
§ Obtaining a memory map, during boot limits the interleaving capability not to be changed dynamically after boot
§ Once set during boot, remains forever, and mostly revolving around maximum performance
§ Certain system usages are available/determined once the system boot and as the workload is assigned for a system
§ Typical example, a...