Меню Закрыть

Number of error information log entries

На примере твердотельного NVMe PCIe накопителя Intel SSD 600p (SSDPEKKW256G7X1) рассмотрим команды SMART.
S.M.A.R.T. (Self-Monitoring, Analysis, and Reporting Technology) — технология оценки состояния жёсткого диска встроенной аппаратурой самодиагностики, а также механизм предсказания времени выхода его из строя.
Смотрим с помощью утилиты CrystalDiskInfo:
Всего хост-чтений/записей: это объем данных, записанных операционной системой.

Critical Warning – критические ошибки в работе накопителя (от отображаемого значения определяется характер сбоя).
Composite Temperature – текущая температура твердотельного накопителя.
Available Spare – текущий оставшийся объем резервной области, используемой для подмены вышедших из строя ячеек памяти (обычно это значение: 64).
Available Spare Threshold – это значение параметра Available Spare, по достижении которого состояние накопителя считается критическим.
Percentage Used – уровень износа накопителя в процентах (%).
Data Units Read – количество прочитанных с массива флеш-памяти блоков данных (один блок соответствует 512 байт данных).
Data Units Written – количество записанных на массив флеш-памяти блоков данных (один блок соответствует 512 байт данных).
Host Read Commands – количество выполненных по интерфейсу операций чтения данных (изменение на единицу соответствует 1 Мбайт данных).
Host Write Commands – количество выполненных по интерфейсу операций записи данных (изменение на единицу соответствует 1 Мбайт данных).
Controller Busy Time – время в минутах, в течение которого контроллер был занят обслуживанием запросов со стороны системы.
Power Cicles (0B) – количества циклов включения/выключения: 35.
Power On Hours (0C) – учет наработанного времени, в нашем случае это 15 часов.
Unsafe Shutdowns (0D) – количество небезопасных отключений питания: 22.
Media and Data Integrity Errors (0E) – количество ошибок целостности данных.
Number of Error Information Log Entries (0F) – количество ошибок целостности данных.

А в AIDA64 Extreme > Хранение данных > SMART добавлены еще два атрибута, которые связаны с температурой накопителя:
Warning Composite Temperature – время работы (в минутах) при высокой температуре.
Critical Composite Temperature – время работы (в минутах) при критической температуре.

Context Navigation

Table of Contents

About NVMe

VM Express, NVMe, or Non-Volatile Memory Host Controller Interface Specification (NVMHCI), is a logical device interface specification for accessing non-volatile storage media attached via PCI Express (PCIe) bus. Some links related to the standard and vendor-specific implementations provided below:

Smartmontools NVMe support

Smartmontools supports NVMe starting from version 6.5. Please note, that currently NVMe support is considered as experimental. Currently implemented features:

  • Basic information about controller name, firmware, capacity ( smartctl -i )
  • Controller and namespace capabilities ( smartctl -c )
  • SMART overall-health self-assessment test result and warnings ( smartctl -H )
  • NVMe SMART attributes ( smartctl -A )
  • NVMe error log ( smartctl -l error[,NUM] )
  • Ability to fetch any nvme log ( smartctl -l nvmelog,N,SIZE )
  • The smartd daemon tracks health ( -H ), error count ( -l error ) and temperature ( -W DIFF,INFO,CRIT )
Читайте также:  Выбрать бюджетный ноутбук для дома

Currently NVMe support is implemented on Linux, FreeBSD, NetBSD, Windows and OSX. Details about supported version/driver combinations are provided in the next section.

NVMe support in the different OS

OS and driverSupported by OSSupported by SmartmontoolsNative management toolsNotes
Linux 3.3 or later ​ nvme-cli, ​ nvme-user
FreeBSD 9.2 or later ​ nvmecontrol
NetBSD 8.0 or later ​ nvmectlSmartmontools supports this since 6.6 (r4343).
OpenBSD 6.0 or later??Does the ​ OpenBSD NVMe driver provide NVMe pass-through functionality?
OSX 10.10.3+ native NVMe supportBefore release 10.13 only Apple-branded NVMe devices were supported, monitoring API is implemented (NVMeSMARTClient) but not documented. Limited NVMe support added in the ​ DriveDx app (commercial, closed source) and in the smartmontools since 6.6 (r4438).
OSX with ​ MacVidCards NVMe drivernvme-cli tool distributed with the driverIOCTL format is not documented, driver is closed source and seems to be abandoned
Oracle Solaris 11.2+ ​ nvmeadmInterface is not documented
IllumOS ​ NVMe driver ​ nvmeadm ​ NVME_IOC ioctl
Windows with driver supporting ​ NVME_PASS_THROUGHVarious vendor specific toolsSuccessfully tested with NVMe drivers from Intel, OCZ/Toshiba and Samsung. Does not work with Intel RST drivers or Microsoft NVMe drivers.
Windows with ​ Intel RST driverSee ticket #1223.
Windows 7 to 2012.R2 with ​ Microsoft NVMe driver(✓)??Older Microsoft NVMe drivers ​ do not provide a NVMe pass-through I/O-control.
Windows 10 with Microsoft NVMe driver (stornvme.sys)??Access via ​ enhanced version of IOCTL_STORAGE_QUERY_PROPERTY is supported since smartmontools 6.6 (r4348).

NVMe pass-through support of USB to NVMe br >

USB bridgeUSB-IdHas NVMe pass-throughSupported by SmartmontoolsNotesASMedia ASM23620x174c:0x2362✓–See ticket #1221.JMicron JMS5830x152d:0x0583✓✓smartctl -d sntjmicron (since 7.0)

Sample smartctl output

Sample smartctl -x output:

Development notes

Development and debugging could be performed using ​ QEMU fork which can emulates NVMe device with most of the features supported, including SMART log pages, namespaces, etc. Tested with Linux and FreeBSD, full list of the options could be found in the ​ source code. The NVMe emulation in the ​ upstream version of QEMU (2.7.0) is still more limited (single namespace, no log pages).

​ VirtualBox 5.1.0 or later also provides basic NVMe emulation.

Читайте также:  Управление симистором через транзистор

See list of the NVMe related tickets if you want to improve smartmontools NVMe support.

Great people share their wisdom without asking for anything in return…

Apple isn’t sharing any information about their SMART API’s so I had to dig a little and this is the first result (spoiler alert) from my hack:

Smart Log for NVME device. disk0
NamespaceID. 1
Critical Warning. 0
Temperature. 37 °Celsius
Available Spare. 100%
Available Spare Threshold. 10%
Percentage Used. 1%
Data Units Read. 4,292,043,776,000 [4.29 TB]
Data Units Written. 2,145,884,672,000 [2.14 TB]
Host Read Commands. 151780827
Host Write Commands. 50512740
Controller Busy Time. 248 minutes
Power Cycles. 1541
Power On Hours. 1156 hours
Unsafe Shutdowns. 784
Media and Data Integrity Errors. 0
Number of Error Information Log Entries.: 34

Here is an older one from my MacBook Pro:

Smart Log for NVME device. disk0
NamespaceID. 1
Critical Warning. 0
Temperature. 22 °Celsius
Available Spare. 100%
Available Spare Threshold. 10%
Percentage Used. 0%
Data Units Read. 7086678
Data Units Written. 4943651
Host Read Commands. 11389069
Host Write Commands. 7246825
Controller Busy Time. 44 minutes
Power Cycles. 431
Power On Hours. 9 hours
Unsafe Shutdowns. 15
Media and Data Integrity Errors. 0
Number of Error Information Log Entries.: 0

The temperature on my MacBook Pro is lower. Only 22 °Celsius. I was also unpleasantly surprised by the fifteen ‘Unsafe Shutdowns’ on it. This has to be a driver issue. Never had a single freeze, lockdown or sudden reboot.

The high number of ‘Unsafe Shutdowns’ on the hack is easily explainable. As you know, I do a lot of testing and then things can go wrong. And they do go wrong with a couple of beta kernel drivers.

Share this:

Like this:


26 thoughts on “ Apple NVMe SMART Monitor Under Control… ”

I have SMART status unavailable for my disks in system information, although I’ve set it in BIOS and can access is via third party software (HWMonitor).

What could be the reason? Is there a patch for it (DSDT or kext)?

No idea what this may be. Never seen it myself. Anyway. It should work in Windows. The problem is OS X. Are all your drives NVMe?

What model of MacBook Pro 2016 do you have? And what Apple SSD model?

We have two, but the one that I use is the 2.7GHz MacBookPro13,3 with 512GB Samsung (APPLE SSD SM0512L) with CXS6AA0Q firmware and AMD with 4GB.

It looks like Samsung-based NVMe SSDs in MacBook’s have better NVMe SMART support, because my APPLE AP0256J SSD doesn’t support Error Log for example, also it has different “available spare threshold”.
BTW IMHO some values from your first listing look strange – Data Units Written = 214 TB? Hm…

The durability goes up with the capacity and I believe that all Apple SSD’s support error logs, but nobody knows how to read it.

Читайте также:  Xiaomi redmi 5 plus ситилинк

Ah right. I see. The thousands separators are were missing. Thanks for pointing that out.

Model Number: APPLE SSD AP0256J
Firmware Version: 12.93.01
Total NVM Capacity: 0
Unallocated NVM Capacity: 0
Controller ID: 0
Number of Namespaces: 2
Namespace 1 Size: 251,000,193,024 [251 GB]
Namespace 1 Capacity: 251,000,193,024 [251 GB]
Namespace 1 Utilization: 251,000,193,024 [251 GB]
Namespace 1 Formatted LBA Size: 4096
Firmware Updates: 1 Slot
Maximum Data Transfer Size: 256 Pages
Warning Comp. Temp. Threshold: 0
Critical Comp. Temp. Threshold: 0
Namespace 1 Features (0x00): 0
Log Page Attributes: 0
Error Log Page Entries (max): 0

Critical Warning: 0x00
Temperature: 39 Celsius
Available Spare: 86%
Available Spare Threshold: 2%
Percentage Used: 0%
Data Units Read: 3,229,653 [1.65 TB]
Data Units Written: 2,959,248 [1.51 TB]
Host Read Commands: 19,595,617
Host Write Commands: 13,087,280
Controller Busy Time: 0
Power Cycles: 279
Power On Hours: 10
Unsafe Shutdowns: 1
Media and Data Integrity Errors: 0
Error Information Log Entries: 0
Warning Comp. Temperature Time: 0
Critical Comp. Temperature Time: 0

1 unsafe shutdown was real unsafe shutdown

@supersonic, I am curious about your readings above. You have (had) only 10 hours of power-on, yet 1.5TB of data written and only 86% remaining lifespan of the SSD.
I have a MacBook Pro (2017) 13 that is one week old, with the following readings:

Available Spare: 82%
Available Spare Threshold: 2%
Percentage Used: 0%
Data Units Read: 16,036,595 [8.21 TB]
Data Units Written: 8,295,510 [4.24 TB]
Host Read Commands: 15,443,859
Host Write Commands: 12.508,631
Controller Busy Time: 0
Power Cycles: 319
Power On Hours: 5

My drive is 4x bigger than yours (I have 1TB) and so I think my readings are in the same ballpark.

Here’s my question: Are these for real? I am certain I have not done stuff in one week of ownership that amounts to this much SSD use! How old was your MacBook when you made these readings? Which model do you have?

Thanks a lot in advance.

Sorry for the delay with response.

> Are these for real?
Yes, this was the real report from DriveDx app (1.6.0 alpha) – https://binaryfruit.com/drivedx.

> How old was your MacBook when you made these readings?
About 2 weeks.

> Which model do you have?
MacBook Pro 13″ 2016 (w/o TouchBar), purchased Jan 20, 2017

Current data (2017-08-29):

Critical Warning: …………………………. 0x00
Temperature: ……………………………… 36 Celsius
Available Spare: …………………………..86%
Available Spare Threshold: ……………2%
Percentage Used:……………………….. 3%
Data Units Read: ………………………….56,423,021 [26.3 TB]
Data Units Written: ……………………….56,180,466 [26.2 TB]
Host Read Commands: …………………256,763,077
Host Write Commands: …………………216,424,066
Controller Busy Time:…………………… 0
Power Cycles: ……………………………..897
Power On Hours: …………………………180
Unsafe Shutdowns: ………………………11
Media and Data Integrity Errors: ……..0
Error Information Log Entries:………… 0
Warning Comp. Temperature Time:… 0
Critical Comp. Temperature Time:….. 0

Wow, how you’ve got all this data? Can you share the hack, please?

Рекомендуем к прочтению

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *