安全内存规格说明
图1显示了CPU0的内存卡槽使用情况。TaiShan服务器具有两个CPU,即图中Socket 0和未在图中显示的Socket 1。一个CPU拥有2个Totem Die,如图中红框标注。
其中每个Die可以插入4个通道共8条内存,默认情况下,Die内存交织开启,Die间内存交织关闭。如需开启Die间内存交织功能,请到BIOS中手动开启。如果开启Die间交织,两个Die使用的内存通道、内存大小需保持一致。
安全内存选择具有如下约束。
- 安全内存应小于总物理内存大小,需要预留部分内存给到普通REE侧(BIOS、操作系统应用内存)。
- 安全内存应小于一个MSD(Memory Space Decoder)窗口大小。
- 启用3路、6路内存交织,BIOS会申请3段同偏移大小安全内存,安全内存应小于MSD窗口1/3。
- 鉴于Socket间交织性能影响,安全内存只能在单个CPU内存空间内分配。
不同内存插法具有不同的MSD窗口,以一个Die内举例,单条内存大小为32G,映射关系如表1所示。
内存条数量 |
MSD窗口大小 |
说明 |
---|---|---|
x |
x * 32G |
其中x = 1, 2, 3, 4, 6, 8 |
5 |
2 * 32G, 3 * 32G |
可理解为2路交织 + 3路交织,因此具有两个MSD窗口 |
7 |
3 * 32G, 4 * 32G |
可理解为3路交织 + 4路交织,因此具有两个MSD窗口 |
在存在多个MSD窗口时,系统优先从小的MSD窗口尝试分配安全内存,无法分配时再从下一个MSD窗口分配。应尽可能避免3路、6路内存交织(存在一定内存浪费),推荐2,4,8路内存插法。
- TEE OS支持最大可配内存为512G,需要iTrustee版本≥1.6.2(ccos 2.2.0),BIOS版本需≥7.12。
- 因一个Die只有8个内存插槽,支持512G需使用64G内存条,且在一个die内插满8根,在其他Die内配置至少一根64G,