Recently I bought a Dell Latitude E7470 for all of the Linux testing, it came with the SK hynix SC300 M.2 2280 256GB SSD. The Sk hynix SC300 via SATA interface has read speed around 510 MB/s and write speed around 380 MB/s (SATA 3.0 interface speed is around 600MB/s which with overhead likely what your get in real life is around 550MB/s). After doing some research, I found out Dell Latitude E7470 does support both SATA 3.0 & PCIe interfaces via M.2 connector. Unfortunately Dell Latitude E7470’s M.2 only support up to PCIe x2, not full 4 lanes PCIe x4. Anyway I still want to upgrade my SSD to a larger and faster one. At the time I didn’t know which NVME SSD is “okay” to purchase, after quite some days I decided to go with Samsung PM981 NVME SSD (the actual model number will be shown below).
The laptop I bought came with Windows 10 preinstalled. So before I installed Kubuntu 18.04 LTS, I downloaded CrystalDiskInfo to check all details about the Samsung PM981 NVME SSD I upgraded. I didn’t take any screenshot but CrystalDiskInfo gave me the Samsung PM981’s temperature was around 50’c which is quite high while the laptop was idle. After finishing installing Kubuntu, I want to check again the new NVME SSD temperature in Kubuntu, to do so I installed nvme-cli and smartmontools to check NVME SSD temerature in Kubuntu. Both vnme-cli and smartmontools give me similar results but much lower than CrystalDiskInfo in Windows 10.
Checking NVME SSD temperature with nvme-cli
nvme-cli is a new greate tool to see more information about your NVME SSD. It supports several Linux distributions, check out their github for more info.
To install nvme-cli on Ubuntu distributions
$ sudo apt install nvme-cli
To install nvme-cli on Fedora
$ sudo dnf install nvme-cli
To list all nvme in your Desktop or Laptop
$ sudo nvme list
This is the output on my laptop
Node SN Model Namespace Usage Format FW Rev ---------------- -------------------- ---------------------------------------- --------- -------------------------- ---------------- -------- /dev/nvme0n1 S3TNNB0K430679 SAMSUNG MZVLB512HAJQ-000L7 1 56.24 GB / 512.11 GB 512 B + 0 B 4L2QEXA7
To see more info about your drive (your NVME SSD name usually nvme0, nvme1, …. and so on depends how many drive you have in your system.
$ sudo nvme smart-log /dev/nvme0n1
and its output
Smart Log for NVME device:nvme0 namespace-id:ffffffff critical_warning : 0 temperature : 32 C available_spare : 100% available_spare_threshold : 10% percentage_used : 1% data_units_read : 19,744,499 data_units_written : 15,832,424 host_read_commands : 242,069,968 host_write_commands : 211,236,537 controller_busy_time : 844 power_cycles : 372 power_on_hours : 1,117 unsafe_shutdowns : 130 media_errors : 0 num_err_log_entries : 1,174 Warning Temperature Time : 0 Critical Composite Temperature Time : 0 Temperature Sensor 1 : 32 C Temperature Sensor 2 : 33 C Thermal Management T1 Trans Count : 0 Thermal Management T2 Trans Count : 0 Thermal Management T1 Total Time : 0 Thermal Management T2 Total Time : 0
Checking NVME SSD temperature with smartmontools
smartmontools is another great tool to monitor smart/health information about your HDD / SSD drives. From what I read, some of new NVME SSD will not work well with smartmontools but you should try because it’s a great tool with many info. While smartctl might not know all vendor-specific smart values, you can Google the drive model with “smart attributes” and find documents about specific attributes to get more details.
To install smartmontools in Ubuntu distributions
$ sudo apt install smartmontools
To install smartmontools in Fedora
$ sudo dnf install smartmontools
To run smartmontools
$ sudo smartctl -A /dev/nvme0
and its output
smartctl 6.6 2016-05-31 r4324 [x86_64-linux-4.18.0-15-generic] (local build) Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org === START OF SMART DATA SECTION === SMART/Health Information (NVMe Log 0x02, NSID 0xffffffff) Critical Warning: 0x00 Temperature: 34 Celsius Available Spare: 100% Available Spare Threshold: 10% Percentage Used: 1% Data Units Read: 19,744,545 [10.1 TB] Data Units Written: 15,833,242 [8.10 TB] Host Read Commands: 242,070,669 Host Write Commands: 211,250,520 Controller Busy Time: 844 Power Cycles: 372 Power On Hours: 1,117 Unsafe Shutdowns: 130 Media and Data Integrity Errors: 0 Error Information Log Entries: 1,174 Warning Comp. Temperature Time: 0 Critical Comp. Temperature Time: 0 Temperature Sensor 1: 34 Celsius Temperature Sensor 2: 37 Celsius
Too see all of the output parameters’s descriptions, you can visit https://nvmexpress.org/wp-content/uploads/NVM-Express-1_2a.pdf , section 126.96.36.199 in spec version 1.2a.