|
From: Christian F. <Chr...@t-...> - 2016-01-05 20:19:22
|
Lynn Heinemann wrote: > > Hi, Im not developer by nature but Im trying to use smartctl against > some Intel S3700 SSD drives behind a Dell PERC8 controller and was > recently asked the question of whether smartctl uses queued or > non-queued commands to query disks. > The data transfer commands smartctl uses for ATA/SATA devices are: IDENTIFY, SMART READ DATA, SMART READ THRESHOLDS, SMART READ LOG, SMART WRITE LOG, READ LOG EXT. All of these use the "PIO Data-In/Out" ATA protocols which are non-queued. Queued versions of these commands do not exist. > The concern was a system under very heavy write load and we want to > monitor the disk health during production, if we were to run smartctl > commands against the disk, would it use a non-queued command and > possible abort the queue causing possible data loss or corruption? > This should never happen if the ATA pass-through functionality (including possible SAT Layer) in the controller driver and firmware is properly implemented. The firmware should wait until the queue is empty before issuing any command received via a pass-through I/O-control. > Ive been looking over the FAQs for smartmontools and reading through > what I can find on Github but Im not familiar enough with the tools > to have a solid confirmation. > Note that any smartmontools code on github is an independent project. The official code is in the SVN repository at sourceforge. It could be viewed here: https://www.smartmontools.org/browser Thanks, Christian |