Last year, I had posted an article on how to view SMART data from a disk to determine the health of the disk on Windows 7 and Windows Server 2008 R2;
For Windows 8, we took this a step further with the addition of the Get-StorageReliabilityCounter cmdlet in the Storage module for Windows PowerShell.
This information can be obtained by passing either a Disk or a PhysicalDisk object (when using Storage Spaces) to this cmdlet. For example,
Get-Disk 0 | Get-StorageReliablityCounter or Get-PhysicalDisk –FriendlyName PhysicalDisk1 | Get-StorageReliablityCounter
Get-Disk 0 | Get-StorageReliablityCounter
Get-PhysicalDisk –FriendlyName PhysicalDisk1 | Get-StorageReliablityCounter
By reviewing this information is possible to make several types of determinations, such as:
It is important to note that some values are only of interest when compared with drives of the same model, and I wanted to give a couple of concrete examples for how to use these counters effectively:
Read or Write failures
This counter is of interest without comparing to other drives. Any drive reporting read or write failures should be considered at risk.
This counter is most useful when comparing with other drives of the same type and model. It may be normal to see notable differences in the normal operational temperature between dissimilar drive models.
Read or Write Latency
This counter is most useful when comparing with drives of the same type and model, as it would be expected to see differences when comparing different models. For example, a 15K RPM spinning disk would on average report lower latency then a disk spinning at 5400 RPM.
In several cases during the release preview, this information was critical in diagnosing issues with disks in a Storage Spaces pool performing abnormally. These counters were used to easily identify drives which were experiencing long delays in read or write performance, which negatively impacted the performance of a Storage Space.
One note of caution: The display of this information is based the disk device correctly reporting these counters. Not all disks report these types of statistics. So the values reported per-disk may vary.
Example 1: Reliability Counter Information reported by a SAS disk which is part of a Storage Spaces pool.
Example 2: Reliability Counter Information reported by a USB disk
Information provided by the Get-StorageReliablityCounter cmdlet is obtained via log pages which are defined in the specification, SCSI Primary Commands 4 (SPC-4). For devices that report this information, the counter information is displayed using this cmdlet.
For more information about the Windows logo requirements for providing this information, please refer to the following article on MSDN:
In the section titled Device.Storage.Hd.Scsi.ReliabilityCounters