英特尔傲腾持久内存100系列的测试使用与固件更新

目录 未分类

简介

英特尔傲腾持久内存(PMem)是英特尔和镁光合作在2019年发布的一项颠覆性技术,它可以在内存与存储之间创建新的存储层,同时可以获得极高的顺序读和随机4k能力。

如下图。

PMem处于NAND SSD与DRAM之间,同样它的性能也处于SSD与DRAM设备之间,同时它比相同容量的DRAM更便宜。

Server设备中DRAM常用容量 8G / 16G / 32G / 64G

而PMem常用容量为 128G / 256G / 512G 3种规格

那么PMem设备如何使用?

首先看它的外观。

这是笔者得到的4张 256G 100型号的PMem设备。它的外观与内存条完全一样。

对的,你没有猜错。PMem是插在内存条上的设备,同时为了发挥它的最大性能,PMem要与DRAM进行一个配比并且插法也非常有讲究。一般来说DRAM与PMem的配比为1:4或1:8最佳,例如我的这张PMem为256G我使用32G DRAM搭配,这样就完成了一个1:8的搭配,在插法上,应将DRAM与PMem处于同一通道并且PMem应该插的更接近CPU。

如下图。

100系列为黑色马甲,200系列为蓝色马甲


配置要求

在进行测试前先说明下我的平台配置,并说明下傲腾持久内存一些运行必须要满足的要点。

首先说主要配置

主板: 技嘉C621WD12 双路3647平台

CPU: 志强二代可扩展铂金8259CL

内存: 镁光DDR4 32G ECC 2666 * 4

显卡这些就省了,对测试没啥影响。

另外说一下必备条件。

首先PMem不支持AMD平台。

100系列需要英特尔志强第二代金牌/铂金可扩展处理器才能支持。

200系列需要英特尔第三代可扩展金牌/铂金处理器。

基本排除民用

除了这些之外,需要主板也支持识别,另外由于持久内存这个概念提出的比傲腾持久内存要早(概念是2013年提出,但傲腾持久内存是世界上第一个量产的商用持久内存)所以主板中的配置有些一言难尽。

例如我这块板子也是2019同期生产的,它的配置叫做 NVDIMM

后期板子见过叫PMem的也有叫全称的,放在内存配置中的,也见过放在高级设置里的,同时会进行专项优化。

系统方面也是有要求的

PMem的三种配置模式,在一些低版本的Linux或Windows上只能使用其中一种或两种模式。

大致总结了下,Windows系统中最低需要在Windows Server 2016版以上才能使用,需要解放全部功能则需要使用Windows 2019版本以上。而在Linux内核系列,RHEL需要在7.5版本之后,Ubuntu需要在 16.04版本之后才能基本使用,全功能需要之后的版本例如RHEL 7.6 Ubuntu 18等

模式介绍

PMem 100系列有3种配置模式

内存模式(Memory Mode)

可以在内存模式下配置跨插槽的 100% PMem 容量。系统必须符合建议的 DRAM 与 PMem 容量比率。系统必须至少具有 1:4 的比率,并且每个 CPU 插槽不超过 1:16。例如,具有 192GB PMem 的系统应至少具有 768GB 的 PMem。如果配置不符合要求,ipmctl 和 BIOS 可能会在引导时报告警告。

应用直通模式(App Direct Mode)

可以在启用或禁用交错的应用直通模式下预配 PMem。交错可提高对 PMem 的读取和写入吞吐量。简单说就是可以将PMem挂载到本地硬盘同时断电不会丢失数据。

混合模式(Mixed Modes)

可以在内存模式下预置一定百分比的 PMem 容量,如下所述。任何剩余的 PMem 容量都可以保留或用于创建 AppDirect 区域。

发现PMem设备

在配置PMem之前,需要查看PMem是否正确被系统识别。

PS C:\Users\Administrator> Get-PmemPhysicalDevice

DeviceId DeviceType     HealthStatus OperationalStatus               PhysicalLocation FirmwareRevision FruId
-------- ----------     ------------ -----------------               ---------------- ---------------- -----
0        INVDIMM device healthy      {ok}                            102005417        8089-a2-1840-...
100      INVDIMM device healthy      {ok}                            102005375        8089-a2-1840-...

查看所有PMem设备的状态和各项参数。

PS C:\Users\Administrator> ipmctl show -topology
 DimmID | MemoryType                  | Capacity    | PhysicalID| DeviceLocator
================================================================================
 0x0000 | Logical Non-Volatile Device | 252.438 GiB | 0x0006    | P1_DIMM_A1
 0x0100 | Logical Non-Volatile Device | 252.438 GiB | 0x0009    | P1_DIMM_D1
 N/A    | DDR4                        | 32.000 GiB  | 0x0007    | P1_DIMM_B1
 N/A    | DDR4                        | 32.000 GiB  | 0x000a    | P1_DIMM_E1

查看PMem设备安装位置

PS C:\Users\Administrator> ipmctl show -memoryresources
 MemoryType   | DDR        | PMemModule  | Total
=======================================================
 Volatile     | 64.000 GiB | 0.000 GiB   | 64.000 GiB
 AppDirect    | -          | 0.000 GiB   | 0.000 GiB
 Cache        | 0.000 GiB  | -           | 0.000 GiB
 Inaccessible | 0.000 GiB  | 504.909 GiB | 504.909 GiB
 Physical     | 64.000 GiB | 504.909 GiB | 568.909 GiB

报告有关当前配置的信息,不同的配置模式就会出现不同的配置信息,具体如下

PS C:\Users\Administrator> ipmctl show -memoryresources
 MemoryType   | DDR        | PMemModule  | Total
=======================================================
 Volatile     | 0.000 GiB  | 504.000 GiB | 504.000 GiB
 AppDirect    | -          | 0.000 GiB   | 0.000 GiB
 Cache        | 64.000 GiB | -           | 64.000 GiB
 Inaccessible | 0.000 GiB  | 0.909 GiB   | 0.909 GiB
 Physical     | 64.000 GiB | 504.909 GiB | 568.909 GiB

 

配置PMem模式

内存模式(Memory Mode)配置

使用ipmctl create -goal memorymode=<比例%>命令将PMem划分出一定的比例作为内存使用。

PS C:\Users\Administrator> ipmctl create -goal memorymode=100
The following configuration will be applied:
SocketID | DimmID | MemorySize | AppDirect1Size | AppDirect2Size
===================================================================
0x0000 | 0x0000 | 252.000 GiB | 0.000 GiB | 0.000 GiB
0x0000 | 0x0100 | 252.000 GiB | 0.000 GiB | 0.000 GiB
Do you want to continue? [y/n] y
Created following region configuration goal
SocketID | DimmID | MemorySize | AppDirect1Size | AppDirect2Size
===================================================================
0x0000 | 0x0000 | 252.000 GiB | 0.000 GiB | 0.000 GiB
0x0000 | 0x0100 | 252.000 GiB | 0.000 GiB | 0.000 GiB
A reboot is required to process new memory allocation goals.
PS C:\Users\Administrator>

memorymode=100配置之后,实际DRAM 64G的系统变为504G,剩下的都为PMem分配。

内存模式的配置信息

PS C:\Users\Administrator> ipmctl show -memoryresources
 MemoryType   | DDR        | PMemModule  | Total
=======================================================
 Volatile     | 64.000 GiB | 0.000 GiB   | 64.000 GiB
 AppDirect    | -          | 504.000 GiB | 504.000 GiB
 Cache        | 0.000 GiB  | -           | 0.000 GiB
 Inaccessible | 0.000 GiB  | 0.909 GiB   | 0.909 GiB
 Physical     | 64.000 GiB | 504.909 GiB | 568.909 GiB

应用直通模式(App Direct Mode)

应用直通模式叠加单插槽上的PMem容量,类似于Raid0,性能也会叠加。

PS C:\> ipmctl create -goal persistentmemorytype=appdirect
The following configuration will be applied:
 SocketID | DimmID | MemorySize | AppDirect1Size | AppDirect2Size
==================================================================
 0x0000   | 0x0000 | 0.000 GiB  | 252.000 GiB    | 0.000 GiB
 0x0000   | 0x0100 | 0.000 GiB  | 252.000 GiB    | 0.000 GiB
Do you want to continue? [y/n] y
Created following region configuration goal
 SocketID | DimmID | MemorySize | AppDirect1Size | AppDirect2Size
==================================================================
 0x0000   | 0x0000 | 0.000 GiB  | 252.000 GiB    | 0.000 GiB
 0x0000   | 0x0100 | 0.000 GiB  | 252.000 GiB    | 0.000 GiB
A reboot is required to process new memory allocation goals.
PS C:\>

输入ipmctl create -goal persistentmemorytype=appdirect配置为AD模式,并重启系统。

PS C:\Users\Administrator> Get-PmemUnusedRegion

RegionId TotalSizeInBytes DeviceId
-------- ---------------- --------
       1     541165879296 {0, 100}


PS C:\Users\Administrator> Get-PmemUnusedRegion | New-PmemDisk
正在创建新的持久性内存磁盘。这可能需要一段时间。
PS C:\Users\Administrator> Get-PmemDisk

DiskNumber Size   HealthStatus AtomicityType CanBeRemoved PhysicalDeviceIds UnsafeShutdownCount
---------- ----   ------------ ------------- ------------ ----------------- -------------------
2          504 GB healthy      None          True         {0, 100}          1165


PS C:\Users\Administrator>

使用Get-PmemUnusedRegion来查看未分配给系统中逻辑永久性内存磁盘的所有永久性内存区域。

使用Get-PmemUnusedRegion | New-PmemDisk创建PMem磁盘。

查看磁盘管理,按正常磁盘添加即可。

PS C:\Users\Administrator> ipmctl show -memoryresources
 MemoryType   | DDR        | PMemModule  | Total
=======================================================
 Volatile     | 0.000 GiB  | 302.000 GiB | 302.000 GiB
 AppDirect    | -          | 202.000 GiB | 202.000 GiB
 Cache        | 64.000 GiB | -           | 64.000 GiB
 Inaccessible | 0.000 GiB  | 0.909 GiB   | 0.909 GiB
 Physical     | 64.000 GiB | 504.909 GiB | 568.909 GiB

应用直通模式的配置信息

PS C:\Users\Administrator> Get-PmemDisk | Remove-PmemDisk

这将从系统中移除持久性内存磁盘,并且将导致数据丢失。
移除持久性内存磁盘?
[Y] 是(Y)  [A] 全是(A)  [N] 否(N)  [L] 全否(L)  [S] 暂停(S)  [?] 帮助 (默认值为“Y”): Y
正在移除持久性内存磁盘。这可能需要一段时间。
PS C:\Users\Administrator>

使用Remove-PmemDisk命令更换故障PMem。

PS C:\Users\Administrator> Get-PmemPhysicalDevice | Initialize-PmemPhysicalDevice

这将初始化物理持久性内存设备上的标签存储区域,并且将导致数据丢失。
初始化物理持久性内存设备?
[Y] 是(Y)  [A] 全是(A)  [N] 否(N)  [L] 全否(L)  [S] 暂停(S)  [?] 帮助 (默认值为“Y”): A
正在初始化物理持久性内存设备。这可能需要一段时间。
正在初始化物理持久性内存设备。这可能需要一段时间。
PS C:\Users\Administrator>

使用Initialize-PmemPhysicalDevice初始化物理永久性内存设备上的标签存储区,也可以清除设备上已损坏的标签存储信息。

混合模式(Mixed Modes)配置

 C:\Users\Administrator> ipmctl create -goal Memorymode=60
The following configuration will be applied:
 SocketID | DimmID | MemorySize  | AppDirect1Size | AppDirect2Size
===================================================================
 0x0000   | 0x0000 | 151.000 GiB | 101.000 GiB    | 0.000 GiB
 0x0000   | 0x0100 | 151.000 GiB | 101.000 GiB    | 0.000 GiB
Do you want to continue? [y/n] y
Created following region configuration goal
 SocketID | DimmID | MemorySize  | AppDirect1Size | AppDirect2Size
===================================================================
 0x0000   | 0x0000 | 151.000 GiB | 101.000 GiB    | 0.000 GiB
 0x0000   | 0x0100 | 151.000 GiB | 101.000 GiB    | 0.000 GiB
A reboot is required to process new memory allocation goals.
PS C:\Users\Administrator>

使用ipmctl create -goal Memorymode=<比例>,来确定内存与磁盘的配比。

完成后重启系统,查看任务管理器。

真正的DRAM只有64G,其余都是PMem的容量。

PS C:\Users\Administrator> Get-PmemUnusedRegion

RegionId TotalSizeInBytes DeviceId
-------- ---------------- --------
       1     216895848448 {0, 100}

使用Get-PmemUnusedRegion命令查看未分配给系统中逻辑永久性内存磁盘的所有永久性内存区域。

PS C:\Users\Administrator> Get-PmemUnusedRegion | New-PmemDisk
正在创建新的持久性内存磁盘。这可能需要一段时间。

使用New-PmemDisk进行容量创建。

顺利变为磁盘,进行常规挂载即可。

Linux

暂未测试

 

 

除了这些模式之外,PMem还可以使用英特尔开源的PMDK API直接调用,大大加强灵活性。

 

 


性能测试(AD模式)

Windows

使用比较常用的CrystalDiskMark 8测试读能力。

两条PMem在AD模式下使用16Mib文件,1队列 28线程 256K读取下86.922GB/s的顺序读能力,达到了现在NVME M.2固态的12~28倍左右,其实相较于顺序读,4k随机读写能力更是秒杀中的秒杀,我的三星企业级SSD只有可怜的500MB/s

状态监控

PS C:\Users\Administrator> ipmctl show -dimm
 DimmID | Capacity    | LockState | HealthState | FWVersion
===============================================================
 0x0000 | 252.454 GiB | Disabled  | Healthy     | 01.02.00.5446
 0x0100 | 252.454 GiB | Disabled  | Healthy     | 01.02.00.5446

获取DimmID,DimmID是查询的索引

PS C:\Users\Administrator> ipmctl show -dimm 0x0000 -pcd
--DimmID:0x0000--
--Pcd:LSA--
   Label Storage Area : Current Index
   Signature          : NAMESPACE_INDEX
   Flags              : 0x0
   LabelSize          : 0x1
   Sequence           : 0x2
   MyOffset           : 0x0
   MySize             : 0x100
   OtherOffset        : 0x100
   LabelOffset        : 0x200
   NumOfLabel         : 0x1fe
   Major              : 0x1
   Minor              : 0x2
   Checksum           : 0x26c629f766575b
   Hexdump: For 64 bytes
   000:  ffffffffffffffff ffffffffffffffff ........ ........
   016:  ffffffffffffffff ffffffffffffffff ........ ........
   032:  ffffffffffffffff ffffffffffffffff ........ ........
   048:  ffffffffffffffff ffffffffffffff3f ........ ........
--Pcd:Config--
   Table                     : PCD Config Header
   Signature                 : DMHD
   Length                    : 0x3c
   Revision                  : 0x1
   Checksum                  : 0x12
   OemId                     : INTEL
   OemTableId                : EDK2
   OemRevision               : 0x2
   CreatorId                 : INTL
   CreatorRevision           : 0x20091013
   CurrentConfDataSize       : 0xb0
   CurrentConfStartOffset    : 0x3c
   ConfInputDataSize         : 0xb8
   ConfInputDataOffset       : 0xec
   ConfOutputDataSize        : 0xb8
   ConfOutputDataOffset      : 0x1a4

   ---Table: PCD Current Config---
      Signature                 : CCUR
      Length                    : 0xb0
      Revision                  : 0x2
      Checksum                  : 0xf3
      OemId                     : AORUS
      OemTableId                : A M I
      OemRevision               : 0x2
      CreatorId                 : INTL
      CreatorRevision           : 0x20091013
      ConfigStatus              : 0x1
      VolatileMemSizeIntoSpa    : 0x0
      PersistentMemSizeIntoSpa  : 0x3f00000000

      PcatTable   : PCD Interleave Info
      Type                      : 0x5
      Length                    : 0x78
      InterleaveSetIndex        : 0x1
      NumOfDimmsInInterleaveSet : 0x2
      InterleaveMemoryType      : 0x2
      InterleaveFormatChannel   : 0x40
      InterleaveFormatImc       : 0x40
      InterleaveFormatWays      : 0x2
      InterleaveChangeStatus    : 0x0

      IdentificationInfoTable   : PCD Identification Info
      DimmUniqueIdentifer       : 8089-a2-1840-00002dbb
      PartitionOffset           : 0x0
      PmPartitionSize           : 0x3f00000000

      IdentificationInfoTable   : PCD Identification Info
      DimmUniqueIdentifer       : 8089-a2-1840-00002b0d
      PartitionOffset           : 0x0
      PmPartitionSize           : 0x3f00000000

   ---Table: Platform Config Data Conf Input table---
      Signature                 : CIN_
      Length                    : 0xb8
      Revision                  : 0x2
      Checksum                  : 0x39
      OemId                     : INTEL
      OemTableId                : EDK2
      OemRevision               : 0x2
      CreatorId                 : INTL
      CreatorRevision           : 0x20091013
      SequenceNumber             : 0x1

      PcatTable   : PCD Partition Size Change
      Type                      : 0x4
      Length                    : 0x10
      PartitionSizeChangeStatus : 0x0
      PartitionSize             : 0x3f1d140000

      PcatTable   : PCD Interleave Info
      Type                      : 0x5
      Length                    : 0x78
      InterleaveSetIndex        : 0x1
      NumOfDimmsInInterleaveSet : 0x2
      InterleaveMemoryType      : 0x2
      InterleaveFormatChannel   : 0x40
      InterleaveFormatImc       : 0x40
      InterleaveFormatWays      : 0x2
      InterleaveChangeStatus    : 0x0

      IdentificationInfoTable   : PCD Identification Info
      DimmUniqueIdentifer       : 8089-a2-1840-00002dbb
      PartitionOffset           : 0x0
      PmPartitionSize           : 0x3f00000000

      IdentificationInfoTable   : PCD Identification Info
      DimmUniqueIdentifer       : 8089-a2-1840-00002b0d
      PartitionOffset           : 0x0
      PmPartitionSize           : 0x3f00000000

   ---Table: Platform Config Data Conf Output table---
      Signature                 : COUT
      Length                    : 0xb8
      Revision                  : 0x2
      Checksum                  : 0x95
      OemId                     : AORUS
      OemTableId                : A M I
      OemRevision               : 0x2
      CreatorId                 : INTL
      CreatorRevision           : 0x20091013
      SequenceNumber             : 0x1
      ValidationStatus           : 0x1

      PcatTable   : PCD Partition Size Change
      Type                      : 0x4
      Length                    : 0x10
      PartitionSizeChangeStatus : 0x1
      PartitionSize             : 0x3f1d140000

      PcatTable   : PCD Interleave Info
      Type                      : 0x5
      Length                    : 0x78
      InterleaveSetIndex        : 0x1
      NumOfDimmsInInterleaveSet : 0x2
      InterleaveMemoryType      : 0x2
      InterleaveFormatChannel   : 0x40
      InterleaveFormatImc       : 0x40
      InterleaveFormatWays      : 0x2
      InterleaveChangeStatus    : 0x1

      IdentificationInfoTable   : PCD Identification Info
      DimmUniqueIdentifer       : 8089-a2-1840-00002dbb
      PartitionOffset           : 0x0
      PmPartitionSize           : 0x3f00000000

      IdentificationInfoTable   : PCD Identification Info
      DimmUniqueIdentifer       : 8089-a2-1840-00002b0d
      PartitionOffset           : 0x0
      PmPartitionSize           : 0x3f00000000

ipmctl show -dimm 0x0000 -pcd 命令查询详细信息。

PS C:\Users\Administrator> ipmctl show -sensor -dimm 0x0000
 DimmID | Type                        | CurrentValue
=====================================================
 0x0000 | Health                      | Healthy
 0x0000 | MediaTemperature            | 39C
 0x0000 | ControllerTemperature       | 41C
 0x0000 | PercentageRemaining         | 100%
 0x0000 | LatchedDirtyShutdownCount   | 8
 0x0000 | PowerOnTime                 | 7825793s
 0x0000 | UpTime                      | 7557s
 0x0000 | PowerCycles                 | 337
 0x0000 | FwErrorCount                | 0
 0x0000 | UnlatchedDirtyShutdownCount | 48
PS C:\Users\Administrator>

查看健康度信息和各传感器信息。

每个传感器都有一个设定的阈值,用于指定正常范围

在模块上,您可以设置自己的阈值,称为 NonCriticalThreshold。例如,如果将 MediaTemperature NonCriticalThreshold 设置为低于 Normal 范围的数字,则当温度超过指定的数字时,将收到警告。可以使用以下命令设置每个传感器的阈值限制:

例如使用 ipmctl set -sensor MediaTemperature -dimm 0x0001 NonCriticalThreshold=51 EnabledState=1

当温度超过51度时就会报错。

PS C:\Users\Administrator> ipmctl show -sensor PercentageRemaining
 DimmID | Type                | CurrentValue
=============================================
 0x0000 | PercentageRemaining | 100%
 0x0100 | PercentageRemaining | 100%
PS C:\Users\Administrator>

查看剩余寿命

PS C:\Users\Administrator> ipmctl show -dimm 0x0000 -performance
---DimmID=0x0000---
   MediaReads=0x00000000000000000000000816fe9318
   MediaWrites=0x000000000000000000000002621e7110
   ReadRequests=0x000000000000000000000002d3671960
   WriteRequests=0x000000000000000000000002513c79e7
   TotalMediaReads=0x00000000000000000000036c9b183d34
   TotalMediaWrites=0x00000000000000000000027405253830
   TotalReadRequests=0x0000000000000000000000890cc57763
   TotalWriteRequests=0x0000000000000000000002512cdf90d1
PS C:\Users\Administrator>

显示传感器指标。

DimmID:英特尔傲腾 DC 持久内存模块标识符。

MediaReads:自上一个交流电 (AC) 周期以来,从英特尔傲腾 DC 持久内存模块上的介质读取的 64 字节数。

MediaWrites:自上一个交流周期以来,英特尔傲腾 DC 持久内存模块上对媒体的 64 字节写入次数。

ReadRequests:自上一个交流周期以来,英特尔傲腾 DC 持久内存模块已处理的 DDRT 读取事务数。

WriteRequests:自上一个交流周期以来,英特尔傲腾 DC 持久内存模块已处理的 DDRT 写入事务数。

TotalMediaReads:在其生命周期内从英特尔傲腾 DC 持久内存模块上的介质读取的 64 字节数。

TotalMediaWrites:英特尔傲腾 DC 持久内存模块在其生命周期内写入介质的 64 字节数。

TotalReadRequest:英特尔傲腾 DC 持久内存模块在其生命周期内处理的 DDRT 读取事务数。

TotalWriteRequest:英特尔傲腾 DC 持久内存模块在其生命周期内处理的 DDRT 写入事务数。

 


固件升级

想要获得更加好的性能和稳定性,需要定时升级厂家发布的固件。PMem也是可以进行固件更新的。

PMem的固件包在英特尔软件套件门户网站上提供。进入因特尔套件门户网站后进入 内存和存储 > 搜索傲腾持久内存。

点击第一个固件更新包。

在固件包说明中可以看见对应的固件包。下载合集后

在合集中有一个版本号和文档中匹配的.bin文件,这就是PMem的固件包。

安装固件包需要ipmi工具,ipmi工具可以在Github中下载

安装完毕后,就可以进行固件升级。

PS C:\Users\Administrator> ipmctl show -dimm
 DimmID | Capacity    | LockState | HealthState | FWVersion
===============================================================
 0x0000 | 252.454 GiB | Disabled  | Healthy     | 01.02.00.5417
 0x0100 | 252.454 GiB | Disabled  | Healthy     | 01.02.00.5375

首先使用ipmctl show -dimm命令,可以看到我的两条PMem的版本号分别为01.02.00.5417和01.02.00.5375

PS C:\> ipmctl load -source .\fw_ekvb0_1.2.0.5446_rel.bin -examine -dimm
.\fw_ekvb0_1.2.0.5446_rel.bin: 01.02.00.5446
Load FW on PMem module 0x0000: Valid
Load FW on PMem module 0x0100: Valid

运行如上命令进行固件有效性判断。

PS C:\> ipmctl load -source .\fw_ekvb0_1.2.0.5446_rel.bin -dimm
Starting update on 2 PMem module(s)...

Load FW on PMem module 0x0000: Success, a power cycle is required to activate the FW.
Load FW on PMem module 0x0100: Success, a power cycle is required to activate the FW.

然后进行固件更新。更新完成后查看版本,01.02.00.5446已在StagedFWVersion中。

PS C:\> ipmctl show -dimm -firmware
 DimmID | ActiveFWVersion | StagedFWVersion
============================================
 0x0000 | 01.02.00.5417   | 01.02.00.5446
 0x0100 | 01.02.00.5375   | 01.02.00.5446

进行重启,重启后再次查看StagedFWVersion中的版本已进入ActiveFWVersion,固件升级完成。

PS C:\Users\Administrator> ipmctl show -firmware
 DimmID | ActiveFWVersion | StagedFWVersion
============================================
 0x0000 | 01.02.00.5446   | N/A
 0x0100 | 01.02.00.5446   | N/A

 

更新固件并不难,使用时需要注意以下几点。

  • 固件二进制文件 (.bin) 包含在固件包文件 (.zip) 中。
  • 命令行出现的固件版本是设备中的当前固件。
  • .bin固件版本是要在设备中刷新的固件。
  • 固件更新需要一定的时间,期间服务器不能断电。
  • 如果由于任何原因固件更新中断,固件将回退到以前的版本。

参考文献:

英特尔官方固件更新手册

英特尔门户网站(需要登陆)

GitHub IPMI工具开源地址

因特尔傲腾持久内存官方配置手册

微软官方持久内存部署手册

英特尔傲腾持久内存100,200系列手册