Startström vid start av flera hårddiskar

Permalänk

Startström vid start av flera hårddiskar

Är hårddiskar smarta nog att spinna upp en i taget eller spinner alla upp samtidigt (vilket kräver att man klarar högre ström vid start)?

Går det att ställa in startfördröjning per disk eller liknande?

(I mitt fall gäller det 2,5" SATA, men tycker att frågan är intressant generellt.)

Visa signatur

Huvuddator: Asus laptop 17", i7, 12 GB, Geforce 630M 2 GB

Permalänk
Medlem

De är inte smarta nog, du får styra det med en raidkontroller eller liknande om du har fler diskar än vad ditt nätagg klarar av att starta samtidigt.

Visa signatur

i9 11900k ||32GB 4000MHz CL15||ASUS ROG STRIX Z590-E||Noctua NH-D15s
Intel Arc a750 ||Samsung 980 pro|| EVGA Supernova G3 850W
Asus xonar essence STX|| Lian-Li O11 Dynamic XL
Asus VG27AQ 165Hz IPS, Sennheiser HD650, Logitech g502 Hero, fUnc f30r, Vortex TAB90M, Audio-Technicha ATR2500x-USB
Server: x10SL7-F, Xeon E3 1230v3, 32GB Samsung ECC ram, 6x3TB WD RED, FD Node 804.

Permalänk
Medlem

Sök på staggering spin-up - och ja - det kan vara problem för nätaggregat om typ 8 diskar startar exakt samtidigt och varje disk vill ha 2-3 Ampere var under uppstartsprocessen...

Pinne 11 på SATA-kontaktens strömförsörjnings-sida styr beteendet - jordas den så startar den direkt vid spänningspåslag - friflytande så kan det behöva ATA-kommando från moderkort/HBA innan disken startar upp spindeln.

Problemet är att de flesta SATA-strömkablar från ATX-aggregat så är pinne 11 jordad och därmed startar disken direkt vid strömpåslag

Somliga diskar (bl.a) en del modeller från WD) kan man bygla för att den inte skall starta vid spänningspåslag.

Man kan också prova med hdpar (i linux) för vissa diskar skicka parametrar så att disken förblir i sleep-läge vid strömpåslag och inte startar förrän ATA-kommandon sänds till disken.

Men då krävs det diciplin av HBA-kort - eventuell RAID-läge och bakomliggande drivrutiner/program i att ha en vettig startordning som fungerar i alla lägen - även när diskarna beordras går i sleep-läge senare och ytterligare senare väcks upp igen - den stegvisa starten måste alltid fungera!!

---

Det är dock inte alls lika smidigt som SCSI-diskarna där det hela sköttes om automagiskt och startar en disk i taget i tur och ordning baserat på dess givna SCSI-adress. - har inte koll på hur det är med SAS-men tror knappast att de skulle ha glömt bort den lilla detaljen då det kan vara uppemot 100 diskar i samma låda i en SAN och skulle kräva extremt överdimensionerad nätagg om alla diskar startar exakt samtidigt

Strömrusning när alla diskar försöker starta samtidigt och nätaggen kroknar - är inget nytt problem, fanns redan på mitten på 1980-talet och på den tiden var diskarna ännu mera strömhungriga vid start och nätaggen inte alls lika överdimensionerad som dagens ATX-aggregat på 350 - 750 Watt.

Permalänk

Tack för bra svar!

Jag tyckte väl att jag hade något minne av att det (på 90-talet?) pratades om att diskar kunde starta en i taget automatiskt. Det måste väl alltså ha gällt SCSI. Jag hoppades att alla diskar skulle ha stöd för det nu.

I ett mindre projekt som det här skulle det vara smidigt om man kunde sätta någon variabel i respektive hårddisks firmware där man anger hur många ms den ska vänta innan den spinner upp.

Det där med hdpar kanske kan vara värt att titta på. Om man kan köra något script i FreeNAS som startar en disk i taget, innan FreeNAS försöker accessa lagringsdiskarna.

Skulle man kunna använda pin 11 för att styra en startfördröjning? Eller kollar disken statusen för pin 11 endast direkt vid spänningspåslag? Jag tänker att man kanske skulle kunna bygga något med en Arduino som med olika fördröjning jordar pin 11 för en disk i taget vid start.

Jag tror att 2,5" diskarna det gäller nu kan peaka på upp mot 1 A per disk vid start, medan de drar max 0,5 A under drift (oftast mindre). Med sju diskar (och en SSD) som startar samtidigt skulle det kunna bli 7 A.

Ett moderkort jag har tittat på kan matas med 12 V och har en Molex-utgång man kan koppla diskarna till. Enligt uppgift klarar den dock bara 5 A på 5 V.

Om man skulle köra med picoPSU eller liknande så brukar inte de heller klara speciellt stora strömmar.

Det gäller det här projektet om någon är intresserad:
https://www.sweclockers.com/forum/trad/1524487-bygga-stromsna...

Visa signatur

Huvuddator: Asus laptop 17", i7, 12 GB, Geforce 630M 2 GB

Permalänk
Medlem

Seagates 4 och 5 TB diskar vill ha 1.2 Ampere styck i startström

problemet är nog inte om nätagget kan leverera 5 Volt i tillräcklig ström utan för att strömbelastningen och därmed spänningsfallet kan bli väl mycket över en kabelsträcka med molex i ändan vid över 5 Ampere i ström

Du får köra med SFF SAS-diskar i 2.5" - de använder 12 Volt också

...och en 2.5" SAS-disk 10krpm totalkrossar en 2.5" SATA-disk i allt - trots att tex. överförigshastigheten är ungefär lika som typiskt 110MB/s - att sätta en SATA i en övrig SAS-RAID5 förödmjukar den stackars SATA-disken totalt

Det man kommer se är en SATA-disk med 100% busy mest hela tiden, med armlång kommandokö som aldrig minskar och ca 12 ms i genomsnittlig söktid medans SAS-diskarna hänger på spaden och snackar skit i väntan på att SATA-disken skall bli klar någon gång...

Detta har katastrofal påverkan av RAID5 prestanda och överförings-hastigheten kan gå ned till nästan 1/3-del i jämförelse med SAS-diskarna ensamma (och en disk mindre i RAID) i operationer som att kopiera filer inom samma RAID... men var det sekventiell läsning ut och in i RAID så var handikappet inte full så stor och nästan acceptabelt...

Uppenbarligen har dom gjort saker i protokollen bra mycket bättre på SAS-sidan än SATA-sidan, den saken är helt klar

---

En del BIOS har support för staggering spin-up för sina SATA-uttag - men du kanske måste preppa disken i rätt kommando med hdpar först för att disken skall förbli i standby när strömmen slås på och inte spinna upp vid spänningspåslag - annars har man problemet att pin 11 måste frigöras/isoleras mot resten av jordar i SATA-kontakten

Ett problem till är att linux-kärnan automatisk startar upp diskarna som är i standby-läge och är en del som måste patchas bort i källkoden se:

https://superuser.com/questions/879374/hdd-power-up-in-standb...

Kort sagt problemfritt är det inte och har man HBA-kort så blir det ännu värre och det hela verkar inte så sammarbetsvilligt - men kan man göra så att bara hälften av diskarna startar upp så är det fortfarande bättre än alla på en gång om man har aggregat/kablar som inte pallar för det.

Permalänk
Medlem
Skrivet av xxargs:

Uppenbarligen har dom gjort saker i protokollen bra mycket bättre på SAS-sidan än SATA-sidan, den saken är helt klar

SAS har ju en helt oberoende kontroller i sig. SATA har bara enkla kontroller(s) som ska prata med SATA kontrollern eller disken. Numera verkar man ofta sätta in dual kontrollers dock, just för att minska detta problem lite.

Men det är lite som att jämföra en självlärande ECU med direkt kontroll, vs förgasare i en bil. Båda kan nog ställas in relativt optimalt, men bara ena av dem kan självmant optimera och justera efter omgivningen och last/förändringar.

Skrivet av xxargs:

En del BIOS har support för staggering spin-up för sina SATA-uttag - men du kanske måste preppa disken i rätt kommando med hdpar först för att disken skall förbli i standby när strömmen slås på och inte spinna upp vid spänningspåslag - annars har man problemet att pin 11 måste frigöras/isoleras mot resten av jordar i SATA-kontakten

Detta har jag sett på en del moderkort som har HDD SATA kontroll direkt från moderkortet. Dock klarar de kontakterna ofta bara av fåtal diskar, så jag tror inte det är applicerbart i detta fall.

Sen ja, det går att brygga och bygga en lösning, men det känns som enklare att bara köpa bättre aggregat och se till att använda samtliga strömkablar, även om du måste köra vissa med Molex-> SATA adapter. Även hyfsat prisvärda agg brukar ge med 4-5 kablar här, och även om du har 20 diskar, 4 på varje kabel, med 2A vardera, dvs 40A, pratar vi 8-10A per kabel, vilket är inom vad de kablarna ska klara, och 480W är inte direkt... monster PSU heller.

Så man måste upp i rätt stor skala för att inte klara av att starta många HDDs samtidigt.
Det är väl först när man börjar titta på klena små special PSUer som detta blir ett problem. Men som sagt, se till att du har många vägar ut för att koppla diskarna, så löser det sig. För kör du bara 4 HDDs och bara en kabel, är det precis samma problem som om du kör 20HDDs och 5 kablar, så länge PSUn kan ge den mängden ström som behövs så klart. Så fler kablar att fördela lasten på ftw.

@Prylkillen Kort sagt, jag vet att det är frestande att koppla allt på en gammal 300W ATX 1.x PSU.. men gör det inte. Risken att du får ripples eller överlast som kan slå ut alla dina HDDs är rätt stor. Slår det ut några av dina HDDs lär du snabbt ångra det.

Satsa på en modern ATX 2.x design iaf, som kan gå ner till fåtal Watt i last utan problem, och som istället för 5V/12 separata omvandlingar med låg effektivetet, har en huvud omvandling till 12V och sedan DC-DC omvandling till 5V. Detta ger stabilare ström, bättre effektivitet i låg last och möjligheten att hantera stora 12V startströmmar samt de ska klara jobba ner på fåtal Watt. Ett bra 450/550W agg kostar inte mycket här, och lär hålla väldigt många år. Ofta kan de även vara semi-passiva, så du får helt tyst när du har typ ingen last.

Permalänk
Medlem

2.5 HDD har inte så hög startström, sannolikt max 1A. Exakt vad för diskar är det du har?

Permalänk
Medlem

Seagates 4 och 5 TB 2.5" diskar anger 1.2 ampere i sitt datablad - men de är också de största diskarna som finns ännu i det segmentet (är i SFF-format storleksmässigt - dvs 15 mm tjocka)

Permalänk
Medlem
Skrivet av xxargs:

Det är dock inte alls lika smidigt som SCSI-diskarna där det hela sköttes om automagiskt och startar en disk i taget i tur och ordning baserat på dess givna SCSI-adress. - har inte koll på hur det är med SAS-men tror knappast att de skulle ha glömt bort den lilla detaljen då det kan vara uppemot 100 diskar i samma låda i en SAN och skulle kräva extremt överdimensionerad nätagg om alla diskar startar exakt samtidigt

SCSI var/är en riktigt smart standard, liksom "före sin tid", hade bara bra erfarenheter av SCSI-kontrollers och diskar kontra PATA/IDE och liknande. Men visst, det kostade lite mer.

Visa signatur

|[●▪▪●]| #Lekburk#: Ryzen 3700X >-< GB-X570-AE >-< 32GB DDR4 >-< MSI RTX 3070 >-< 970 EVO 1TB SSD>--
--< Arctic Freezer 34 >-< FD Define R4 >-< Seasonic F.+ 650W >-< Acer XF270HUA >-< AOC Q2778VQE >--
#Servering#: Ryzen 1700@3,6GHz >-< Prime X470 Pro >-< 16GB DDR4 >-< GTX 1030 >-< 970 EVO 500GB SSD >--
--< Stockkylare >-< Antec P182 >-< Silver Power 600W >-< Samsung 245T |[●▪▪●]|

Permalänk
Medlem

Det är Alan Shugart (med uppväxt hos IBM) som är bakom SASI (och han blev fråntagen sitt egna företag av ekonomer och juristers olika krumbukter) - som sedan blev SCSI - bakom de tidiga gränssnitten för hårddiskar (ST506/ST422-gränssnittet) och floppydiskar - det är också Alan Shugart tillsamman med medinvesterare som också skapade ett litet företag som sedan namnades om till Seagate

PATA är ett missfoster som utvecklades av WD tillsammans med ett annat företag som är glömd i historien och och i princip var en bandkabelförlängning (via 74HC244/373-buffar mellan) från ISA-bussen till WD8003 HD-inteface-kort (som i sin tur pratade ST506-protokoll mot hårddiskarna) med i stort sett registrerna behållna (och förvisso utökades efter en tid) och med CHS-adressering cementerad. 'Innovationen' där att bakom dessa register så kunde man adressera diskarna hur man ville och inte var-beroende med begränsningarna som fans med ST506-gränssnittet - men konceptet var inte nytt då varenda SCSI-kontroller var byggd på det sättet och en formfaktor som gjorde att de kunde skruvas direkt på 5-1/4" hårddiskarna som extrakort på befintlig ST506-gränssnitt och inte långt efter hade SCSI-gränssnittet direkt på diskens kontrollekort - tror jag har en gammal rodime på 11 MB byte med SCSI direkt på disken.

Det som knäckte WD dominans i protokolldefinierande var när CD-ROM infördes...

PATA-protokoller kunde inte hantera situationen med sin CHS-adressering med en CD som hade bara 1 cylinder, 1 huvud och sedan en fruktansvärt massa sektorer....

Med andra ord man var piskad till att få in LBA-addressering - och gissa vilket protokoll som hade det från dag 1 - jo SCSI.... med andra ord så implementerades det en subset av SCSI-kommandorn i PATA-protokollet och som blev allt mer använt i bättre OS (windows NT3.51, alla Linux etc.) och blev huvudadresserings-moden efter att starten och bootningen klarades av då man fortfarande satt fast i CHS-addressering i boot-lägen och BIOS.

Seagate designade SATA och SAS-protokollet där PATA-kommandona emulerades men huvuddelen av trafiken går via SATA-kommandon idag i SATA-diskar

Man var tvungen att överge PATA av anledningen att den körde oterminerad kabel och med hastigheterna man nådde med tiden, gav så mycket ekon och reflexer att man kunde inte köra med mer än 133 MB/s (man provade en kort tid med 166 MB/s med kortad mångtrådig specialkabel - men var för dyr och osäker och försvann fort)

Seagates konstruktioner har alltid använt terminerad kabel i sina designer - även för floppydrivers dataledare med blyga 250 Kbit...

Och det man i sluttampen nätt och jämt klarade med PATA på 3 dm-kabel kunde SCSI göra på 10 meter kabel och med halva antalet ledare med samma mängd data överfört per tid (SCSI 8-bitar bus, PATA 16 bitars bus) - av just enda orsaken att SCSI-kablarna var terminerade i ändarna trots att det var en bus-koppling med många enheter på samma kabel.

Sedan gjorde man även på SCSI med dubbel antal ledare (SCSI-wide etc) och 4-dubbel antal ledare för att få upp hastigheten ytterligare men nådde snart gränsen att det blev så väldigt många parallella ledare.

nu var det dags för seriella gränssnitt och först ut var SATA 150 och SAS med 300 MB/s

idag så är det 600 MB/s för SATA medans SAS är på 1200 MB/s, på enterprise-versioner av SAS-kort och diskar har man Dual port - dubbla SAS-kanaler, först då av driftsäkerhsskäl att om kabel eller diskkontrollern på kortet/disken lade av så kunde en andra diskkontroller (på samma disk/kort) med egen kabelpar ta över kommunikationen...

skillnad mellan SATA och SAS är att SAS kan köra duplex - dvs läsa och skriva till disk med full fart exakt samtidigt, ködjupet är 255 istället för 32 mm. - SATA är designad semiduplex och kan antingen läsa data eller sända data - inte båda samtidigt.

Senare SAS-generation har dessutom att man kan växla riktning på datakanalerna (2 par, 2 lanes - normalt en TX och en RX-par i bestämd dedikerat riktining i SATA) vilket gör att man kan använda båda paren parallellt för att köra data i endera riktningen - på en 1200MB/s SAS så kan man skicka 2400 MB/s och med dual port blir det på 4800 MB/s.

Man håller på med nästa SAS-standard där man skall dubbla alltihop - dvs. upp till 9600 MB/s på samma kabel/kontakt som idag - och fortfarande klara 10 meter kabel (SATA-standarden max 1 meter - med eSATA och förhöjd spänningssving 3 meter)

Det finns inga planer/ambitioner ännu att höja farten på SATA, dock finns det förslag på dual port även på SATA (och förstås annan kontakt-tungplacering än dual-port SAS...)