Gebruikerstip 37 (juli 2004)



Update: 22 juni 2005

SATA; the good, the bad & the ugly

Deze keer een tip over sata. SATA staat voor Serial ATA, dit in tegenstelling tot ATA, dat nu ook wel PATA, ofwel Parallel ATA wordt genoemd. Aan de buitenkant is het meest opvallende verschil tussen de twee standaarden de breedte van de kabel. Waar PATA een 40- of zelfs 80-aderige kabel gebruikt, bevat de SATA kabel slechts 7. Ook de aansluitkabel voor de voeding is anders. En op de huidige ATX voedingen zitten nog geen SATA voedingsstekkers. Er zijn echter verloopstukken voor de voedingsstekkers te krijgen, dus dat hoeft nooit een probleem te geven. Sata is in zoverre anders gekoppeld dat er bij SATA 2 schijven op 2 kanalen gekoppeld zitten op 1 controller (fig.1). Op PATA zitten er 4 schijven op 2 kanalen op 1 controller gekoppeld (fig. 2). Het mag duidelijk zijn dat SATA alleen al hierdoor sneller is. Immer een kanaal is volledig gekoppeld aan een schijf, en dat komt de doorvoersnelheid ten goede.


voorbeeld  SATA aansluiting voorbeeld  PATA aansluiting
figuur 1 (SATA) figuur 2 (PATA)

SATA biedt nog enkele voordelen boven PATA. SATA biedt een heleboel functies die snellere schijftoegang, en versnelde verwerking van parallele processen (bijvoorbeeld aanvragen van een bepaald bestand door meedere gebruikers tegelijk) mogelijk maken. De meeste van deze functies zijn al bekend van SCSI, maar zijn nu dus in een goedkoper pakket verkrijgbaar voor SATA.
De SATA schijven die op dit moment op de markt zijn, bieden helaas nog lang niet al deze functies. Veel fabrikanten hebben ervoor gekozen om de schijven min of meer compatible te houden met PATA, en bieden dus een schijf aan die een chip bevat die de inkomende SATA signalen weer omzet in PATA voordat ze door worden gestuurd naar de schijf. Deze schijven zijn meestal herkenbaar aan het feit dat ze nog op een standaard voedingsstekker kunnen worden aangesloten (bijvoorbeeld de schijven van Maxtor van de Diamondmax 9 serie). Er zijn echter ook schijven die wel volledig SATA zijn, bijvoorbeeld de schijven van Seagate (de Barracuda 7200.7).

Chip-fabrikanten bieden SATA op dit moment al aan met ingebouwde RAID mogelijkheden. Hierbij kunt u twee afzonderlijke schijven laten werken als een dubbel zo grote schijf, de striping RAID (raid0), of de ene schijf een copie laten zijn van de ander, de full-mirror RAID (raid1). Nvidia en Intel bieden op dit moment zelfs chipsets aan die ook RAID over PATA em SATA schijven mogelijk maken. Of dit echt nuttig/handig is, zal moeten blijken.
Let wel op bij deze functies: Zonder driver van de fabrikant kan dit nooit werken! U dient een driver van de fabrikant te installeren voor u de RAID kunt gebruiken.
De problemen gaan zelfs nog een stap verder: het enige besturingssysteem wat de SATA RAID op dit moment ondersteunt, is Windows. En zelfs daar kan het problemen geven (zie daarvoor verderop in dit artikel). Gebruikers van Linux kunnen (nog) geen gebruik maken van de RAID mogelijkheden van SATA. Zij zullen voorlopig een software RAID moeten opzetten als zij daar gebruik van willen maken. Er is wel een commerciële driver voor SATA RAID onder Linux beschikbaar, maar op dit moment wordt afgeraden deze te gebruiken.

Ook onder Windows werkt niet alles zoals het zou moeten. Veel mensen hebben problemen in de vorm van disk corrupties, en data beschadiging. In het minst problematische geval leidt dit tot een diskcheck bij het opstarten van Windows, maar in het ergste geval kan Windows niet meer opstarten, en wordt uw data permanent beschadigd.
De problemen blijken te zitten in het afsluiten: op het afsluiten van de pc geeft Windows een "flush"-commando aan de schijf (de buffers moeten worden leeggeschreven naar de schijf, en de koppen moeten geparkeerd worden). Kennelijk wacht Windows niet op een respons op dit commando, maar neemt het een time-out van een korte periode. Voor SATA schijven is deze time-out kennelijk te kort.
Er is, voor zover wij weten, tot op dit moment nog geen echte oplossing voor dit probleem. U kunt het "write cache" van de schijf in Windows (in de device manager) uitschakelen, maar dat maakt uw systeem een stuk trager! Daarnaast schijnt het eerste Service Pack voor WinXP het probleem deels op te lossen door de time-out periode iets te verlengen. En voor mensen met een VIA controller chip, de controller chip die het meeste problemen geeft, heeft VIA een nieuwe versie van de driver uitgebracht: versie 2.2
Kortom: wees op dit moment voorzichtig met het gebruik van SATA onder Windows!!!

Voor Linux gebruikers hebben wij geen voorbehoud. Als de schijf het doet, dan doet hij het gewoon. Let wel op, in sommige systemen wordt de SATA schijf gezien als "/dev/sd<#>" en in andere als "/dev/hd<#>". Dit is wel een wezenlijk verschil voor programma's als hdparm die alleen met ATA schijven, en niet SCSI schijven volledig werkt.

Update: Naast SATA I, is er nu ook de SATA II standaard. Er bestaat veel verwarring over wat SATA I en SATA II nu eigenlijk inhouden, en wat de verschillen tussen de twee standaarden zijn.


Het komt er dus op neer dat er totaal geen verschil is tussen de SATA I en SATA II standaard, behalve de theoretisch mogelijke snelheid. Het punt daarvan is echter dat de huidige schijven bij lange na geen 150Mb/s aan gegevens kunnen doorzetten. Dat de bus dan 300Mb/s aan kan, en dat dat dus niet eens een "harde" spec. is, heeft dus in gebruik totaal geen waarde.
Wanneer u op zoek bent naar een SATA schijf, kijk dan naar gegevens die wel tellen, zoals of de schijf NCQ ondersteunt, of er een powersave modus is enz. Of een schijf klasse SATA I of SATA II is, is dus niet van belang.
SATAI SATAII
max. theoretische bandbreedte (Mb/s) 150 300 of 150 (!)
Native Command Queuing optioneel optioneel
Hot Plug optioneel optioneel

Bronnen:

  • forums.viaarena.com
  • forum.msi.com.tw
  • forums.pcper.com
  • sata-io.org
  • NCQ (1)
  • NCQ (2)
  • Voor vragen of aanvullende informatie, kunt u terecht op ons e-mail adres.



    home