In context of a host controller (HBA/RAID card) which sends IO traffic to SAS/SATA drives which are part of logical volume - so in such setup, generally I hear a term "Outstanding commands". I did got somewhat understanding that these are number of IO requests which a controller can accept even if it already has some pending IOs which are not completed yet. So two questions here,
1) What would be a more complete (or more comprehensive) definition for outstanding
IO commands ?
2) What is generic behavior of host controller when more IO commands arrives which is larger than its queue depth
for holding outstanding commands ?
3) How non NCQ
commands handled in such design ? Is it possible that in case of SATA drives where we have NCQ
concept, a non NCQ
command can starve for arbitrary amount of time ?