Oto krótki przegląd technologii opartych na IDE:
Są to starsze technologie dyskowe. Większość interfejsów nie-SCSI i dyskowych, które można dzisiaj kupić, to EIDE chociaż wiele dużych dysków umie obsługiwać UDMA. [Od tłumacza: ponieważ dokument jest z XI.1999, więc warto dopowiedzieć, że w tej chwili II.2001 praktycznie wszystkie szanujące się firmy wypuszczają dyski z obsługą UDMA (najlepiej ATA100)].
Bus master DMA to technologia zwiększająca prędkość transferu danych z/do dysku twardego, która wymaga obslugi przez płytę główną i BIOS i chociaż najmniejszej obsługi ze strony dysku.
Więcej możesz się dowiedzieć pod adresem http://developer.intel.com/design/pcisets/busmastr/FAQs.htm.
Ultra-DMA ma wiele nazw - tutaj będziemy je nazywać UDMA.
UDMA jest bardziej zaawwansowaną technologią, która umożliwia o wiele większe transfery (do 33,3 MB/s w UDMA 2 i 66,7 w UDMA 4) od dwóch do czterech razy szybciej niż EIDE i po znacznie niższej cenie niż SCSI. Wiele nowych komputerów dostarczanych jest z dużymi dyskami UDMA i interfejsami UDMA. Możliwe jest też dodanie interfejsów UDMA (jak np. Promise Ultra33/66) do komputera, aby zwiększyć transfery dysków bez obsługi UDMA.
Dużo szczegółów na temat UDMA można się dowiedzieć ze strony http://www.quantum.com/src/whitepapers/ultraata/
Należy zauważyć, że długość taśmy łączącej urządzenie z kontrolerem UDMA musi być mniejsza od zwykłego DMA - najlepiej mniej niż 30 cm, maksymalnie 45 cm. Jeśli chcemy mieć 66 MB/s, to wymagana jest taśma 80-pinowa i na pewno nie dłuższa niż ww. Jeśli pojawia się dużo błędów CRC, to należy użyć krótszej taśmy.
Zanim zaczniemy, pozwolę sobie wyjaśnić drobne nieporozumienie. Te transfery 33 MB/s i 66 MB/s to transfery maksymalne (burst transfer rate) i nie doświadcza się ich zbyt często. Oto mały wyciąg z ,,generic UDMA.txt'':
Transfery chwilowe/maksymalne (burst) powinny osiągać wartości od 16,6 MB/s (dla PIO 4 i DMA
2) do 33 MB/s dla UDMA. W swojej łacie do jądra 2.1.55 Kim-Hoe Pang
wyliczył te transfery z zależności 60 ns/słowo co daje 33 MB/s.
Jednak transfery takie dotyczą tylko danych przesyłanych z/do cache'u
(476 kB dla dysku IBM 6,4 GB) i nie są zbyt odpowiednie dla
większości użytkowników Linuksa.
Jądro Linuksa używa tyle RAMu ile się tylko da, aby cache'ować dane z
dysku. Tak więc jeśli czegoś nie ma w tej podręcznej pamięci jądra, to
jest bardzo małe prawdopodobieństwo, że będzie w o wiele mniejszym cache'u
dysku.
O wiele bardziej odpowiedni będzie sustained transfer rate,
czyli prędkość z jaką dane są transportowane z dysku do głównej
pamięci, gdzię mogą być użyte. Prostym sposobem na zmierzenie tego
transferu jest użycie polecenia hdparm - np hdparm -Tt
/dev/hda, aby zmierzyć transfer pierwszego dysku IDE.
Oto trochę danych zebranych po intesnywnym testowaniu hdparmem:
[od tłumacza: W tej chwili (II.2001) te transfery wyglądają znacznie
lepiej]
PIO tryb 4: +/- 5,2 MB/s
DMA tryb 2: +/- 7,2 MB/s
UDMA tryb2: +/- 9,8 MB/s
Jak widać, UDMA jest prawie dwa razy szybsze od EIDE i znacząco szybsze niż zwykłe ,,bus mastering DMA''. Większość obecnych dysków UDMA potrafi osiągnąć tranfery między 10 a 15 MB/s w UDMA 2 (33 MB/s) i UDMA 4 (66 MB/s).
Nie mam żadnych konkretnych liczb, abym mógł je podać, ale ogólnie dyski SCSI są szybsze od UDMA. Jednak jeśli spojrzeć na cenę, to można zauważyć, że dyski UDMA są o wiele tańsze. Stosunek wydajność/cena jest znacznie lepszy dla UDMA.