<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <HTML> <HEAD> <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9"> <TITLE>The Linux Ultra-DMA Mini-Howto: Cos'è l'Ultra-DMA e perché dovrei volerlo?</TITLE> <LINK HREF="Ultra-DMA-HOWTO-3.html" REL=next> <LINK HREF="Ultra-DMA-HOWTO-1.html" REL=previous> <LINK HREF="Ultra-DMA-HOWTO.html#toc2" REL=contents> </HEAD> <BODY> <A HREF="Ultra-DMA-HOWTO-3.html">Avanti</A> <A HREF="Ultra-DMA-HOWTO-1.html">Indietro</A> <A HREF="Ultra-DMA-HOWTO.html#toc2">Indice</A> <HR> <H2><A NAME="udma-intro"></A> <A NAME="s2">2. Cos'è l'Ultra-DMA e perché dovrei volerlo?</A></H2> <P>Segue una breve panoramica sui dischi basati sulle tecnologie IDE: <P> <H2><A NAME="classic"></A> <A NAME="ss2.1">2.1 IDE, EIDE & ATAPI</A> </H2> <P> <P>Queste sono vecchie tecnologie per i dischi. Molti dischi rigidi e interfacce per i dischi non SCSI che potete comprare oggi o che probabilmente state usando sono EIDE, benché molti dei dischi più grandi ora disponibili siano UDMA. <P> <H2><A NAME="bm"></A> <A NAME="ss2.2">2.2 Bus Master DMA</A> </H2> <P> <P>Il Bus Master DMA è una tecnologia per aumentare la velocità di trasferimento dei dati dei dischi rigidi che richiede il supporto della scheda madre e del BIOS, e almeno qualche supporto dal disco. Potete imparare di più su <A HREF="http://developer.intel.com/design/pcisets/busmastr/FAQs.htm">http://developer.intel.com/design/pcisets/busmastr/FAQs.htm</A>. <P> <H2><A NAME="udma"></A> <A NAME="ss2.3">2.3 Ultra-DMA alias Ultra-ATA alias Ultra33 alias...</A> </H2> <P>L'Ultra-DMA ha molti nomi, ma qui lo chiameremo solo UDMA. <P>UDMA è la tecnologia più avanzata che fornisce un volume di traffico fino a 33.3 MB/s nell'UDMA mode 2 e fino a 66.7 MB/s nell'UDMA mode 4, da due a quattro volte maggiore rispetto l'EIDE, a un prezzo molto più basso di quello dello SCSI. Molti nuovi computer funzionano con grandi dischi UDMA e con interfacce UDMA, ed è possibile aggiungere una scheda per l'interfaccia (come la Promise Ultra 33 o Ultra 66) ad un sistema esistente per aumentare la velocità anche dei vecchi dischi non UDMA. <P>Potete apprendere maggiori dettagli sull'UDMA su <A HREF="http://www.quantum.com/src/whitepapers/ultraata/">http://www.quantum.com/src/whitepapers/ultraata/</A>. <P> <P>Notate che per l'UDMA la lunghezza del cavo deve essere minore, se confrontata con quella per il DMA semplice, preferibilmente meno di 30 cm (12") di lunghezza massima, sebbene 18 pollici solitamente vadano bene. 66 MB/s richiedono un cavo speciale a 80 conduttori che deve essere tenuto anche più corto. Se ottenete molti errori di CRC, provate ad usare un cavo più corto. <P> <P> <H2><A NAME="speed"></A> <A NAME="ss2.4">2.4 Perché è sempre "Ultra"</A> </H2> <P>Prima di proseguire, lasciatemi chiarire un malinteso. 33 o 66 MB/s rappresentano è il <B>picco di velocità di trasferimento</B>, e non è qualcosa che vedrete molto spesso. Per spiegarlo, riporto un estratto dall'UDMA.txt, preso dall'UDMA-generic (la prima patch sull'UDMA n.d.t.): <P> <BLOCKQUOTE><CODE> <PRE> I picchi di velocità di trasferimento istantanei sono supposti andare da 16.6MB/s (PIO mode 4) a 16.6MB/s (DMA mode 2) fino a 33MB/s (UDMA). Nella sua patch al kernel 2.1.55, Kim-Hoe Pang attualmente controlla il picco della velocità di trasferimento per l'UDMA con un analizzatore logico: 60ns/parola, che trasferisce fino a 33MB/s. Notate che il picco di velocità di trasferimento riguarda solo il trasferimento dei dati dalla cache del disco EIDE (476kB per il disco IBM da 6.4GB ), ed IMHO (In inglese "In My Humble Opinion", "Secondo il mio modesto parere" n.d.t.) non è particolarmente rilevante per la maggioranza degli utenti Linux. Il kernel di Linux tiene nella RAM una cache degli accessi al disco più grande possibile, quindi se un dato non è nella cache del kernel c'è una piccola possibilità che essa possa trovarsi nella cache (molto più piccola) del disco rigido. </PRE> </CODE></BLOCKQUOTE> <P>Molto più rilevante è la <B>velocità di trasferimento sostenuta</B>, la velocità alla quale i dati possono essere trasferiti dal disco alla memoria principale dove possono essere usati. Un modo facile per misurare la velocità di trasferimento sostenuta è di usare <CODE>hdparm</CODE>, per esempio "<CODE>hdparm -Tt /dev/hda</CODE>" per misurare la velocità del primo dispositivo IDE. <P> <BLOCKQUOTE><CODE> <PRE> Seguono alcuni dati raccolti dopo test esaurienti usando l'utility hdparm (scritti anche da Mark Lord): velocità di trasferimento sotto Linux del PIO mode 4: +/- 5.2MB/s velocità di trasferimento sotto Linux del DMA mode 2: +/- 7.2MB/s velocità di trasferimento sotto Linux dell'UDMA mode 2: +/- 9.8MB/s </PRE> </CODE></BLOCKQUOTE> <P> <P>Come potete vedere, l'UDMA è quasi due volte più veloce del normale EIDE ed è significativamente più veloce del normale bus mastering DMA. Molti attuali dischi UDMA vi daranno tra i 10 e i 15 MB/s abilitando l'UDMA mode 2 (33MB/s) o 4 (66MB/s) <P> <P>Inoltre l'ampio uso del DMA riduce l'utilizzo della CPU durante l'I/O del disco vs il PIO. <P> <P> <H2><A NAME="udma-vs-scsi"></A> <A NAME="ss2.5">2.5 Come confrontare l'UDMA con lo SCSI?</A> </H2> <P> <P>Non ho molti numeri concreti da darvi, ma vi è consenso generale sul fatto che i migliori dispositivi SCSI possano dare prestazioni migliori dell'UDMA. Tuttavia se guardate recentemente i cartellini dei prezzi su alcuni dischi rigidi potete notare che i dischi UDMA tendono ad essere molto meno costosi. Il rapporto prestazioni/prezzo favorisce l'UDMA in molti casi. <P> <HR> <A HREF="Ultra-DMA-HOWTO-3.html">Avanti</A> <A HREF="Ultra-DMA-HOWTO-1.html">Indietro</A> <A HREF="Ultra-DMA-HOWTO.html#toc2">Indice</A> </BODY> </HTML>