All these operations usually take from a few tenths of milliseconds up to a few tens of milliseconds in case of sequential reading. This way, the HDD communication channel is kept busy for nothing most of the time. What is bad about it? If there is only one HDD connected to this channel, then it is OK. And if there are any other devices connected to the came cable, they will be slowed down significantly.
They have already found a solution to this problem in SCSI protocol. The main idea implies that they split the data request and data reception phases. As soon as the command has been sent to the device, the connection with this device is terminated until the interruption signal arrives. After that the system checks with all devices requesting the information about the fulfilled command. This way, it is possible to set tasks to a few parallel devices at a time, or to set multiple tasks to one and the same device. In this case the read and write requests are lined up inside the HDD and are processed concurrently: first the HDD processes those, which will take less time to be completed. This mode is called Tag Queued.
A similar technology in IDE drives is implemented with the help of additional Read/Write DMA Queued commands, which have been added to ATA/ATAPI-4 standard within the implementation of Command Queuing and Overlapping. They differ from the regular reads and writes by the identification label assigned to each command. This label helps inform the computer which particular command of the received ones has been performed successfully. The label can equal any integer from 0 to 31, which means that a HDD can “digest” up to 32 commands at a time. This way we can greatly optimize the heads positioning routs thus increasing the overall HDD performance.
Since all contemporary HDDs feature lazy write function, the efficiency of TCQ (Tagged Command Queuing) for writes is quite doubtful. However, when it comes to reading, TCQ should give second wind to the drives. Moreover, we should see a twofold improvement when we have two HDDs connected to a single cable. Of course, if you want to see the real effect made by the specifically queued commands, the HDD should be loaded with two or more simultaneous requests, which is not common for desktop systems. However, in the server field TCQ may become highly valuable for enhancing the disk subsystem performance.
For “Tag ‘n seek” to work properly, its implementation in the hard disk drive is not enough. The OS should also support R/W DMA QUEUED, i.e. at least the IDE Busmaster drivers should be updated. HighPoint Technologies has these drivers, and maybe so do some other chip makers. We are going to devote a separate article to this matter later on, so stay tuned :)