For reasons that escape pretty well everyone, the SMART table on
legacy HDD and on the new SSD, don't match. You would think there
would be value, having entries with the same name, at their
traditional address. I would guess that is too easy.
Some environment information is pinned out in ACPI tables, such as
CoreTemp from your CPU. One of the improvements in reading the
hardware monitor interface on the SuperIO, was for the BIOS to
wrap some of the information, making it easier for userland applications
to "consume" the information. For example, the scaling resistors on
the voltage measurement section, if you use the ACPI table, the
voltages are already scaled for you. And that saves an unbelievable
amount of labor. In the past, humans used to submit empirically
derived scale resistor info, to the maintainer of MBM5, per motherboard
design. And that sucked as a method. Having the correct values
computed by the BIOS designer, and passed via ACPI table, made
so much more sense.
But not everything in life is that easy. Thus, we're still fiddling
with SMART tables in the year 2022.
I assume NVMe temperature is the same as SATA SSD, but that would
be a rash assumption unless verified. Even an eMMC chip, could have
its temperature information, delivered in some other way. And USB
flash sticks, I've never seen a measured value printed on a screen,
for those.
Paul