ATA TCQ en Serial ATA NCQ
Bij de introductie van de Raptor WD740GD verkondigde Western Digital met veel trots dat zijn enterprise Serial ATA-schijven vanaf nu ook voorzien waren van ondersteuning voor command queuing. Command queuing is een technologie die de volgorde van uit te voeren I/O operaties optimaliseert zodat de koppen van de harde schijf zo kort mogelijke afstanden kunnen afleggen. Het idee is vergelijkbaar met het 'optimaliseren' van de volgorde van een boodschappenlijstje, zodat je niet voor elke appel, banaan en wortel opnieuw langs de groente- en fruitafdeling hoeft. Western Digital maakt in de Raptor WD740GD gebruik van het zogenaamde Tagged Command Queuing dat sinds 1998 onderdeel uitmaakt van de ATA-specificatie. Helaas was er lange tijd een compleet gebrek aan Serial ATA-controllers met ondersteuning voor TCQ, waardoor de feature ongebruikt bleef. Inmiddels hebben HighPoint, Pacific Digital, Promise en Silicon Image controllers of adapters met ondersteuning voor Tagged Command Queuing op de markt gebracht. Hoog tijd om wat benchmarks te gaan draaien.
Wat blijkt: TCQ levert niet de gehoopte prestatiewinst op maar is in veruit de meeste omstandigheden trager dan een setting zonder TCQ. De resultaten van de IOMeter fileserver simulatie, die sterk beïnvloed kunnen worden door command queuing, wijzen uit dat TCQ bij een klein aantal openstaande I/O's een stuk slechter presteert dan wanneer TCQ niet wordt gebruikt. Pas bij wachtrijen vanaf zo'n 12 I/O's begint TCQ beter te presteren. In desktop workloads komen dergelijke grote wachtrijen zelden voor en ook veel lichtere server workloads zijn ze zeldzaam. In onze benchmarks van de Silicon Image Sil 3124 controller en de Pacific Digital ZL4-150 SATA RAID-adapter bleek TCQ in geen enkele van de toen beschikbare servertests beter te presteren dan de Promise FastTrak S150 TX2plus zonder TCQ. Tagged Command Queuing is daardoor praktisch onbruikbaar: het is zeer moeilijk in te schatten in welke situaties het wél beter presteert dan een instelling zonder TCQ. Onze bevindingen komen overeen met die van Storage Review. Meer daarover kun je lezen in dit nieuwsartikel.

In dit PDF-document van Intel is meer informatie te vinden over de oorzaak van het slechte presteren van Tagged Command Queuing:
Wat blijkt: TCQ levert niet de gehoopte prestatiewinst op maar is in veruit de meeste omstandigheden trager dan een setting zonder TCQ. De resultaten van de IOMeter fileserver simulatie, die sterk beïnvloed kunnen worden door command queuing, wijzen uit dat TCQ bij een klein aantal openstaande I/O's een stuk slechter presteert dan wanneer TCQ niet wordt gebruikt. Pas bij wachtrijen vanaf zo'n 12 I/O's begint TCQ beter te presteren. In desktop workloads komen dergelijke grote wachtrijen zelden voor en ook veel lichtere server workloads zijn ze zeldzaam. In onze benchmarks van de Silicon Image Sil 3124 controller en de Pacific Digital ZL4-150 SATA RAID-adapter bleek TCQ in geen enkele van de toen beschikbare servertests beter te presteren dan de Promise FastTrak S150 TX2plus zonder TCQ. Tagged Command Queuing is daardoor praktisch onbruikbaar: het is zeer moeilijk in te schatten in welke situaties het wél beter presteert dan een instelling zonder TCQ. Onze bevindingen komen overeen met die van Storage Review. Meer daarover kun je lezen in dit nieuwsartikel.

In dit PDF-document van Intel is meer informatie te vinden over de oorzaak van het slechte presteren van Tagged Command Queuing:
Parallel ATA Queuing Overview
Parallel ATA Queuing is a queuing protocol that was added to the ATA specification in 1997. Today, only one drive vendor is shipping drives that support this queuing protocol because of the high overhead. The high overhead of Parallel ATA Queuing causes it to significantly underperform non-queued commands when the queuing workload is light (especially when the protocol is not fully hardware accelerated). The Parallel ATA Queuing protocol consists of several commands including Read DMA Queued (Ext), Write DMA Queued (Ext), and Service.
The significant overhead of Parallel ATA Queuing is due to a split command issue and data transfer phase. Before the data transfer for a Parallel ATA queued command, the host must issue the Service command to determine which command the data transfer is for, and then the host will set up the DMA engine for the appropriate command. In order to alert the host to issue the Service command, an additional interrupt is taken per IO. There is indeterminate latency for the host software to take control and issue the Service command if the protocol is not fully hardware accelerated. This latency is the major cause for the poor performance of Parallel ATA Queuing.
[...] Command Queuing Comparison
To summarize, Parallel ATA Command Queuing has significant overhead (especially when there is no hardware acceleration) that impacts its performance appreciably. Serial ATA II Native Command Queuing eliminates the shortcomings of Parallel ATA Command Queuing and achieves a queuing protocol similar in overhead to SCSI queuing.
Parallel ATA Queuing is a queuing protocol that was added to the ATA specification in 1997. Today, only one drive vendor is shipping drives that support this queuing protocol because of the high overhead. The high overhead of Parallel ATA Queuing causes it to significantly underperform non-queued commands when the queuing workload is light (especially when the protocol is not fully hardware accelerated). The Parallel ATA Queuing protocol consists of several commands including Read DMA Queued (Ext), Write DMA Queued (Ext), and Service.
The significant overhead of Parallel ATA Queuing is due to a split command issue and data transfer phase. Before the data transfer for a Parallel ATA queued command, the host must issue the Service command to determine which command the data transfer is for, and then the host will set up the DMA engine for the appropriate command. In order to alert the host to issue the Service command, an additional interrupt is taken per IO. There is indeterminate latency for the host software to take control and issue the Service command if the protocol is not fully hardware accelerated. This latency is the major cause for the poor performance of Parallel ATA Queuing.
[...] Command Queuing Comparison
To summarize, Parallel ATA Command Queuing has significant overhead (especially when there is no hardware acceleration) that impacts its performance appreciably. Serial ATA II Native Command Queuing eliminates the shortcomings of Parallel ATA Command Queuing and achieves a queuing protocol similar in overhead to SCSI queuing.
Dat TCQ niet presteert, wil gelukkig niet zeggen dat command queuing per definitie resulteert in een slechtere real world performance. De Serial ATA-specificatie bevat sinds versie II ondersteuning voor Serial ATA Native Command Queuing waarmee een meer geavanceerde vorm van command queuing mogelijk is. NCQ is beter geïntegreerd in de hardware en biedt geavanceerde mogelijkheden zoals first party DMA, waarmee de harde schijf op eigen initiatief een DMA transfer kan opzetten om de resultaten van een I/O operatie naar het geheugen te schrijven. De overhead van command queuing wordt daardoor veel kleiner.
Onlangs verschenen op de sites van Storage Review, AnandTech en Tech Report de eerste benchmarks van Maxtor's MaXLine III-serie met ondersteuning voor NCQ. De resultaten wijzen uit dat NCQ in tegenstelling tot TCQ wel direct vanaf lage I/O queues een prestatieverbeterende werking heeft. In de IPEAK desktop benchmarks van AnandTech leverde NCQ een verbetering op van 5,4 tot 13,0 procent. Niet spectaculair, maar wel mooi meegenomen.
Uiteraard waren we geïnteresseerd in een test van de MaXLine III. Navraag bij Maxtor leerde dat er nog geen MaXLine III samples aan de pers zijn vrijgegeven. De exemplaren van de eerder genoemde sites waren verscheept als onderdeel van de Intel 915/925 reviewsystemen en waren niet bedoeld om als losstaand component gereviewed te worden. Dit is wellicht de oorzaak van de grote verschillen in prestatiebeeld tussen de MaXLine III reviews van AnandTech en Storage Review. In de tests van AnandTech deed de MaXLine III het erg goed terwijl Storage Review een gematigder beeld liet zien. Deze maand zullen officiële units voor persdoeleinden beschikbaar komen.
Nu de MaXLine III door Maxtor is geïntroduceerd, is het wachten op de aankondiging van de opvolger van de DiamondMax Plus 9. Onze vermoedens dat de DiamondMax Plus 10 een omgekatte MaXLine III (of de MaXLine III een rebadge van de DMax Plus 10) zou worden, werd bevestigd toen vanuit Japan de eerste foto's van de DiamondMax Plus 9 - met identieke specificaties als de MaXLine III - verschenen. Het is aannemelijk dat Maxtor voor de productie van de MaXLine III hetzelfde procédé gebruikt als voor de MaXLine II. Deze schijven worden aan de hand van fysieke eigenschappen zoals de vlieghoogte van de schijfkoppen en de stijfheid van de platters geselecteerd uit de productielijnen van de DiamondMax Plus 9. De MaXLine's zijn bedoeld voor nearline storage zoals disk-to-disk backup en archivering van documenten, terwijl de DiamondMax-serie op de desktopmarkt is gericht.

De Maxtor MaXLine III en DiamondMax Plus 10 beschikken evenals de nieuwe Seagate Barracuda 7200.8 over 16MB cache. Ook is ondersteuning voor NCQ bij al deze nieuwe schijven aanwezig. Seagate kon op het moment van schrijven nog geen samples van de Barracuda 7200.8 en de nieuwe versie van de 7200.7 met NCQ-ondersteuning leveren.
Silicon Image heeft met de Sil 3124-controller - de naam werd zonet al even genoemd - een veelbelovend product op de markt gebracht waarin een ruime verzameling van features is geïntegreerd. Op het lijstje staan onder andere PCI-X, Tagged Command Queuing en Serial ATA Native Command Queuing. De Sil 3124 kan vanwege PCI-X en NCQ de ideale opvolger zijn voor de huidige Serial ATA-adapter in het testsysteem, een Promise FastTrak S150 TX2plus. De S150 TX2plus mist ondersteuning voor NCQ en kan daardoor de nieuwste generatie Serial ATA-harde schijven niet optimaal aansturen. Tevens heeft de controller problemen om op 66MHz busspeeds te functioneren in het MSI K8D Master-F moederbord van het testsysteem. Daardoor kunnen RAID 0 benchmarks, die we standaard uitvoeren op alle desktop drives, niet onder ideale omstandighden uitgevoerd worden.

Na flink zeuren kregen we één van de eerste exemplaren in handen van het Sil 3124 reference plankje van Silicon Image. Of deze adapter gepromoveerd zal worden naar de standaard controller voor Serial ATA-harde schijf benchmarks hangt af van de NCQ-prestaties en de performance in RAID 0. Een alternatief is de Promise FastTrak TX4200, die binnenkort leverbaar zal worden. De eerste indruk van de Silicon Image Sil 3124 is dat de firmware en managementsoftware nog een hoog beta-gehalte heeft. Hopelijk komen hier verbeteringen in als dit najaar de eerste producten met deze controller op de markt komen.
Volgende pagina (RAIDCore BC4852 - 7/8)
