访问 DDR4 DRAM 内存温度传感器的选项?

访问 DDR4 DRAM 内存温度传感器的选项?

是否有用于访问模块上的 DDR4 DRAM 温度传感器的 Linux 控制台工具?

答案1

DDR4 DRAM 具有用于访问 SPD EEPROM 的新驱动程序。与前几代 SDRAM 不同,热传感器集成在 SPD 中。如果您有合适的驱动程序 (EEPROM_EE1004),则decode-dimms可以将 SPD 信息从驱动程序提供的文件中读取到 sysfs“文件”。如果 SPD 中存在兼容的热传感器,则它会显示:

Thermal Sensor                                   TSE2004 compliant

不幸的是,我没有找到一种(简单的)方法来读取温度,也没有在提到的驱动程序中发现任何尝试(它只是读取 SPD 中的页面,信息可能存在但未被解码 dimms 解码)。

答案2

手动方法用于命令行和传感器由于更加独立(JEDEC 标准和 42.4 兼容芯片),Linux 上的命令支持更加灵活jc42 内核模块对于 SMBus 规范的符合性,严格控制在 25-35ms 的延迟范围内:

modprobe i2c-dev  
i2cdetect -l 

为芯片组选择 I2C™/SMBus™ 适配器,例如 smbus 1

i2cdetect -y 1

选择 DRAM 温度传感器的基地址,例如 0x18 或 0x19 或 0x1a

modprobe jc42  
echo jc42 0x18 > /sys/bus/i2c/devices/i2c-1/new_device

选择 hwmon 接口号并打印温度值
(来自传感器的所有可用温度)

cat /sys/class/hwmon/hwmon*/device/hwmon/hwmon*/temp*_input

然后另外

sensors

应该输出内存温度值。

对于合理的温度值验证:
传感器的温度范围似乎从-40°C(-55°C)到125°C,并且符合JEDEC规范(JEDECJC-42.4内存模块温度传感器组件规格)支持 -40°C 至 85°C 的合适输出。一些 DRAM 内存制造商支持高达 95°C 的传感器范围上限。精度至少为±3°C(范围从 -40°C 至 120°C,针对更窄范围进行了改进)并且 50% 热调节的响应时间约为 1.0-1.5 秒,100% 热响应最长可达 4-5 秒。

相关内容