Produktet er venligst udlånt af: http://www.InterData.dk
Produktet distribueres i DK af: http://www.InterData.dk
Link til producentens website: http://www.Samsung.com
SATA Teknologien
For nu at få det på det rene, så vil jeg starte med at udrydde en stor misforståelse; der er ikke noget der hedder SATAII - ikke mere i hvert fald.
SATAII er navnet på den komite, som skulle formidle SATA specifikationerne, men da den mest opsigtsvækkende feature ved 2. generations SATA, er muligheden for overførsel af op til 3Gb/s, blev 2. generations SATA hurtigt synonym med SATAII. Dette er som sagt forkert.
For at undgå videre misforståelser valgte SATAII at skifte navn til SATA International Organisation og deres hjemmeside hedder derfor www.SATA-IO.org.
Med det på plads, hvordan virker SATA så?
Serial ATA kontra Parallel ATA: Den mest åbenlyse forskel mellem SATA og PATA er selvfølgelig datakablet, hvor der ved PATA bruges store flade, typiske grå, 40- eller 80-pins kabler. Disse fladkabler findes også i et hav af forskellige andre farver, til brug i casemod systemer og også som runde kabler for luftgennemstrømnings og nemhedens skyld. Kort sagt er de store og klodsede og kan i nogen tilfælde vendes forkert.
SATA kabler er relativt små næsten rektangulære kabler med kun 7 pins. Disse findes selvfølgelig også i et hav af forskellige farver, men er typisk røde. I modsætning til PATA kabler er de meget mindre og lettere at have med at gøre, samt at de ikke kan vendes forkert.
Hvis man undersøger termerne seriel og parallel giver dette ganske fin mening, da parallel bruges når to eller flere bits sendes samtidig ved siden af hinanden (på hver sin leder), mens seriel bruges når to eller flere bits sendes efter hinanden. Seriel ATA kræver altså knap så mange ledere som Parallel ATA, da hver bit sendes efter hinanden over en enkelt leder frem for at flere bits sendes samtidig over flere ledere.
Da der skal kunne sendes data begge veje, er der brug for 2 ledere i SATA kabler, men i praksis bruges der minimum 4 ledere fordelt på 2 i hver retning og de sidste 3 ledere bruges til stel/skærm.
Umiddelbart lyder den serielle teknologi som et skridt tilbage, da der er færre ledere til at sende data over, men forklaring på hvorfor den serielle teknologi er hurtigere end den parallelle er ganske simpel; SATA benytter sig af en væsentlig højere clockfrekvens til at overføre data end PATA.
Det konventionelle ATA100 interface kører med svimlende 25MHz og kan overføre data på både rise og fall siden af data clocken - denne praksis kendes også som Double Data Rate (DDR) eller double edge clocking. Med 16 ledere til at overføre data og 8 bits pr. byte giver det følgende regnestykke (fra www.SATA-IO.org ):
Ultra ATA/100 25MHz strobe
x 2 for double data rate clocking
x 16 for bits per edge
/ 8 bits per byte = 100 Mbytes/s
Ved Seriel ATA er der som sagt kun 1 leder i hver retning og ydermere ryger der 20% af ydelsen, da signalet skal encodes, men så kommer fløden ved SATA ind i billedet; en data clock på rablende vanvittige 1500MHz for første generations SATA. Intet mindre end 60 gange hurtigere end data clocken for ATA100!
Med de tal ser regnestykket således ud:
SATA 1.5Gb/s 1500MHz embedded clock
x 1 bit per clock
x 80% for 8b10b encoding
/ 8 bits per byte = 150 Mbytes/s
For 2. generations SATA øges data clocken yderligere til 3000MHz og det giver følgende regnestykke:
SATA 3Gb/s 3000MHz embedded clock
x 1 bit per clock
x 80% for 8b10b encoding
/ 8 bits per byte = 300 Mbytes/s
Deraf navnene SATA 1.5Gb/s = SATA150(MB/s) og SATA 3Gb/s = SATA300(MB/s).
Man kan faktisk sammenligne SATA med én stor motorvej og PATA med 16 små 2 spors regulære veje:
På de 16 PATA veje kan der køre 16 biler samtidig og i hver sin retning, men med en tophastighed så lavt som 25km/t. På SATA motorvejen må der kun køre én bil af gangen, men til gengæld må bilerne køre med helt op til 1500- eller 3000km/t. Pga. luftmodstand kan bilen dog kun opnå 80% af de hastigheder. Sammenlagt viser det sig, at selv den langsomste SATA motorvej vil være hurtigere end de 16 hurtigste PATA veje 8).
Nu hører jeg nogle af jer tænke "Hvorfor laver man så ikke bare et parallelt interface, der kører med en data clock på 1500 eller 3000MHz og derved få et ultrahurtigt interface?". Svaret herpå skal findes i noget langhåret analog/digital elektronikteori, som jeg ikke vil komme nærmere ind på. Hvis det kan lade sig gøre, er det for besværligt sammenlignet med et serielt interface og derfor skiftet til seriel.
En anden fin feature ved SATA er, at de tilsluttede drev er hotswap-able. Det betyder, at man med korrekte drivere kan tilslutte/afbryde drev, på samme måde som USB diske, mens computeren kører. Windows vil derefter detektere dette og udføre de påkrævede handlinger for, at man udnytte drevet uden at skulle genstarte.
Point to point connection: Ved PATA har man mulighed for at tilslutte 2 drev på hver controller via én delt BUS; en master og en slave. I praksis arbejder begge drev ens og en host BUS master sørger for at route data til det korrekte drev. Problemet ved denne konfiguration er, at hvis begge drev har brug for at udnytte BUS'en deles båndbredden imellem hvert drev på bekostning af den sammenlagte ydelse.
Ved SATA forbindes disk og controller via et point to point system, hvor kun én kilde forbindes til én destination. Dette medfører en dedikeret båndbredde på hver kanal og samtidig undgår man at skulle rode med jumpere, for at indstille drevene til hhv. master og slave. Om RAID setups med 2 diske på den måde får dobbelt båndbredde skal jeg desværre ikke kunne svare på, men umiddelbart lyder det sådan.
Native Command Queuing: Når en disk skal læse data, er der minimum 3 ting der spiller en på hastigheden; pladernes rotationshastighed, læsehovedets hastighed og den fysiske placering af de data der skal læses. De to førstnævnte kan man umiddelbart ikke gøre så meget ved og det kan den sidste kan man faktisk heller ikke - det skulle da lige være at defragmentere harddisken - men rækkefølgen af hvilke data, der skal samles op kan ændres. Det er der NCQ kommer ind i billedet.
Hvis man forestiller sig, at data på en harddisk ligger i mange koncentriske ringe, kaldet tracks, og man har 4 datastumper rundt omkring på harddisken i forskellige tracks, som skal samles op, vil en harddisk uden NCQ flytte læsehovedet til den rette det track hvor datastump nummer 1 ligger, vente på at pladen roterer datastumpen hen til læsehovedet og derefter læse det skrevne data. Det samme vil den gøre ved datastump nummer 2, 3 og 4 og i præcis den rækkefølge, som den har fået at vide, at dataene skal samles op i.
Dette betyder, afhængig af dataenes placering, at pladerne muligvis skal rotere længere, før alle datastumper er samlet op og i sidste ende en langsommere harddisk.
Det smarte ved NCQ er, at rækkefølgen af de opsamlede datastumper kan brydes. Hvis harddisken understøtter NCQ, kan den internt beslutte i hvilken rækkefølge, det er smartest at opsamle datastumperne i forhold til deres fysiske placering. Harddisken vil da flytte læsehovedet, så rotationsventetiden minimeres uafhængigt af hvilken rækkefølge dataene skal samles op i. Overflødig rotation af pladerne bliver derved effektivt elimineret og i sidste ende får man en hurtigere harddisk.