Lista pecet@man.lodz.pl
[Lista archiwów] [Inne Listy]

Re: [PECET] Kanał IDE ATA133, 2 dyski na jednej taśmie, spadek prędkośc

To: pecet@man.lodz.pl
Subject: Re: [PECET] Kanał IDE ATA133, 2 dyski na jednej taśmie, spadek prędkości przesyłu danych o ile?
From: ptoki <sczygiel@gmail.com>
Date: Mon, 15 Nov 2021 13:13:44 -0800 (PST)
poniedziałek, 15 listopada 2021 o 13:48:41 UTC-6 jedrek napisał(a):
> Czy jak na jednej tasmie wpiętej do kanału IDE ATA133 są zapięte 2 dyski 
> "taśmowe" ATA jako Master i Slave i jest realizowane kopiowanie z jednego 
> dysku na drugi to kanał teoretycznie ma przepustowość max tak jakby był to 
> kanał ATA66? Bo prędkość kanału dzielone na 2 urządzenia? 

Niekoniecznie.
Nie pamietam szczegolow ale jest mozliwe ze podczas komunikacji z jednym 
urzadzeniem nie mozna wydawac polecen ani odbierac danych od drugiego.
Co powoduje ze jesli pierwszy dysk czeka na obrot talerza/przesuniecie glowicy, 
zczytanie danych, zbuforowanie, rozpoczecie wysylania do hosta to OIDP nie 
mozna drugiemu dyskowi powiedziec "naszykuj sie, zara twoja kolej".

> W czasach gdy królowały "taśmowe" kanały IDE na płytach głównych zalecało 
> się, że jak chcemy mieć max prędkość na kanale IDE dla dysku, to na jednej 
> taśmie może być wpięty tylko jedno urządzenie Master (a Slave nieobsadzone), 
> bo inaczej pasmo będzie pochłaniać także pracujące na tym kanale urządzenie 
> Slave (bo muszą pracować na przemian) i że dyski jak są dwa na pokładzie, to 
> mają wisieć na osobnych kanałach. 

Nie do konca tak bylo. Nie bylo roznicy przy podpieciu dysku jako master a 
cdromu jako slave i posiadaniu calej wydajnosci dysku jak cdrom nic nie robil.
Dodatkowo nie bylo tez duzych problemow z wydajnoscia jak sie kopiowalo z 
cdrom-u na dysk na tej samej tasmie.
Ale jak juz cdrom przyblokowal komunikacje bo dane nie naplywaly to juz w 
zaleznosci od sterownika (na linuxie IMHO bylo nieco inaczej niz na windzie) 
problem z dostepem do dysku byl obserwowalny.

Bez wczytania sie w dokumentacje ATA albo przecwiczenie tego na zywo bedzie 
trudno potwierdzic jak powinno byc.
Tu jest jakas zajawka:
https://en.wikipedia.org/wiki/Parallel_ATA#Serialized,_overlapped,_and_queued_operations
Czyli w sumie zalezy od sprzetu i sterownika.

> Trudno to sprawdzić namacalnie gdy sam dysk ATA nie będąc z tych 
> najszybszych, nie uzyskuje sam z siebie prędkości, które by wysycały kanała 
> o teoretycznej przepustowości 133MB. Czyli jeżeli stary poczciwy dysk IDE o 
> pojemności kilkadziesiąt GB, samodzielnie na kanale miał max osiągi ~30-60MB 
> to czy zapinając dwa takie dyski na jednej taśmie będzie już wyczuwalne 
> spowolnienie przesyłu względem gdyby oba były wpięte na osobnych kanałach 
> (taśmach)? 

Raczej nie. Dlatego w tamtych czasach sie temu zbytniej uwagi nie przykladalo.
Jakby dzisiejsze dyski podpiac to moze bylo by ciekawiej.

Od biedy mozna np. hdparm-em -T przetestowac przesyl z cache dysku. Tyle 
powinno wystarczyc aby potwierdzic teorie.

> Czy raczej przepustowość magistrali 133MB gwarantuje tutaj zapas 
> nawet gdy taśma jest dzielona na 2 urzędzenia? Czy raczej dochodzi tutaj 
> jeszcze problem, że jak dane urządzenie IDE wymusi niski numer UDMA na takim 
> kanale, np zgłosi jest jako UDMA-3, czyli teoretyczna przepustowość 44,4MB 
> to dopiero to jest jeszcze dzielone przez 2 jak są dwa zapięte urządzenia? 
> Kanał pracuje z przepływnością jaką wymusza najwolniejsze urządzenie na 
> taśmie i z teoretycznej 133 robi się max 44,4MB, które potem trzeba jeszcze 
> rozdzielić po połowie na dwa zapisująco/doczytujące dyski na tej samej 
> taśmie? Czy raczej kanał sobie pracuje zawsze z możliwą max prędkością 
> 133MB, a co najwyżej wolniejsze urządzenie samo z siebie jest ograniczeniem, 
> a magistrala w związku z tym zawsze ma zapas pasma, bo wolniejsze urządzenie 
> go nie pochłonęło? Czy raczej zmieniają się zegary na taśmie i dane już są 
> pchane zawsze wolniej i nigdy sumarycznie nie da się szybciej pchać kanałem 
> niż ustali to najwolniejsze urządzenie?

Kanaly pracuja niezaleznie. Czyli mozna miec szybki cdrom na udma66 i jakis 
stary dysk bez zadnego dma i kazde bedzie rpacowac tak szybko jak pozwala 
aktualny konfig dla danego urzadzenia.

Nie pamietam przypadku kiedy jeden dysk powodowal problemy drugiemu. Pewnie to 
mozliwe ale nie spotkalem a troche gratow mi przez rece przeszlo.

Czyli podsumowujac:
W praktyce tasma jest wirtualnie przepinana miedzy master i slave i jak jedno 
urzadzenie z niej korzysta to musi wykonac caly rozkaz i zwrocic kontrole do 
hosta ktory nastepnie komunikuje sie z drugim urzadzeniem na jego maksymalnej 
ustalonej predkosci.

A pojedynczym "pakietem" jest rozkaz przy czym TCQ pozwala na wysylanie 
rozkazow, ich szybkie zakonczenie a nastepnie odpytanie przez hosta czy ten 
zakolejkowany rozkaz rzeczywiscie juz zostal wykonany i odebranie rezultatu. W 
miedy czasie mozna bylo wepchnac jakies zadanie drugiemu dyskowi.

Tyle ze to chyba bylo bardzo niepopularne.
Bo w zastosowaniach domowych tego sie ani nie oczekiwalo ani nie widac bylo w 
oferowanych ficzerach a w serwerowych krolowalo scsi.
Ta specyficzna nisza ATA/PATA ktora gdzies tam sie na serwerach uchowala nie 
byla zbyt popularna aby mozna bylo stwierdzic czy to pomaga.

A jak pojawilo sie sata i pozniejsi koledzy to juz byly inne czasy i dyski 
staly sie nieco madrzejsze. Ale to juz inna historia.

Nie wiem czy pomoglem ale w zastosowaniach domowych raczej nie bylo widac 
spowolnien spowodowanych interakcja na tasmie. Dlatego popularne bylo wtedy 
albo kopiowanie przez ram (byly do tego wtyczki w total commanderze) albo z 
dysku A na dysk B i spowrotem na dysk A bo tak bylo szybciej niz windowsiane 
kopiowanie z skakaniem glowicami (obserwowalne chyba az do win7, moze pozniej 
tez)

<Pop. w Wątku] Aktualny Wątek [Nast. w Wątku>