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/nvme0n1
and its output
smartctl 6.6 2016-05-31 r4324 [x86_64-linux-4.18.0-17-generic] (local build) Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org === START OF INFORMATION SECTION === Model Number: SAMSUNG MZVLB512HAJQ-000L7 Serial Number: S3TNNB0K430679 Firmware Version: 4L2QEXA7 PCI Vendor/Subsystem ID: 0x144d IEEE OUI Identifier: 0x002538 Total NVM Capacity: 512,110,190,592 [512 GB] Unallocated NVM Capacity: 0 Controller ID: 4 Number of Namespaces: 1 Namespace 1 Size/Capacity: 512,110,190,592 [512 GB] Namespace 1 Utilization: 376,019,255,296 [376 GB] Namespace 1 Formatted LBA Size: 512 Local Time is: Wed Apr 17 01:22:39 2019 PDT Firmware Updates (0x16): 3 Slots, no Reset required Optional Admin Commands (0x0017): Security Format Frmw_DL *Other* Optional NVM Commands (0x001f): Comp Wr_Unc DS_Mngmt Wr_Zero Sav/Sel_Feat Maximum Data Transfer Size: 512 Pages Warning Comp. Temp. Threshold: 81 Celsius Critical Comp. Temp. Threshold: 82 Celsius Supported Power States St Op Max Active Idle RL RT WL WT Ent_Lat Ex_Lat 0 + 7.02W - - 0 0 0 0 0 0 1 + 6.30W - - 1 1 1 1 0 0 2 + 3.50W - - 2 2 2 2 0 0 3 - 0.0760W - - 3 3 3 3 210 1200 4 - 0.0050W - - 4 4 4 4 2000 8000 Supported LBA Sizes (NSID 0x1) Id Fmt Data Metadt Rel_Perf 0 + 512 0 0 === START OF SMART DATA SECTION === SMART overall-health self-assessment test result: PASSED SMART/Health Information (NVMe Log 0x02, NSID 0x1) Critical Warning: 0x00 Temperature: 61 Celsius Available Spare: 100% Available Spare Threshold: 10% Percentage Used: 1% Data Units Read: 21,215,203 [10.8 TB] Data Units Written: 17,776,341 [9.10 TB] Host Read Commands: 255,947,011 Host Write Commands: 219,845,391 Controller Busy Time: 893 Power Cycles: 467 Power On Hours: 1,174 Unsafe Shutdowns: 144 Media and Data Integrity Errors: 0 Error Information Log Entries: 1,179 Warning Comp. Temperature Time: 0 Critical Comp. Temperature Time: 0 Temperature Sensor 1: 61 Celsius Temperature Sensor 2: 94 Celsius Error Information (NVMe Log 0x01, max 64 entries) No Errors Logged
Too see all of the output parameters’s descriptions, you can visit https://nvmexpress.org/wp-content/uploads/NVM-Express-1_2a.pdf , section 5.10.1.2 in spec version 1.2a.