[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [indice analitico] [volume] [parte]


Capitolo 83.   SATA: Serial ATA

Terminato lo sviluppo del bus ATA tradizionale, si introduce un bus diverso meccanicamente, ma che conserva qualche compatibilità a livello di software, denominato SATA, ovvero Serial ATA. Da un punto di vista fisico, questo nuovo bus si presenta con un collegamento differente, attraverso un cavo che non è più realizzato in forma di piattina.

Figura 83.1. Un cavo SATA, con il dettaglio di un connettore.

cavo SATA

83.1   Adattatori

Durante la fase di transizione dal bus ATA tradizionale (ovvero PATA) a quello SATA, sono disponibili dei piccoli convertitori in grado di adattare dischi fissi SATA su bus PATA e dischi PATA su bus SATA.

Figura 83.2. Adattatore da bus PATA a disco SATA. Si può osservare che l'adattatore richiede un'alimentazione supplementare, con un cavetto di quelli usati per le unità a dischetti tradizionali. Questa immagine è stata tratta da <http://www.extrememhz.com/idetosata-p1.shtml>.

adattatore da PATA a SATA

Figura 83.3. Adattatore da bus PATA a disco SATA. A differenza della figura precedente, questo si applica al disco fisso SATA.

adattatore da PATA a SATA

Figura 83.4. Adattatore da bus SATA a disco PATA. Questo adattatore di applica al disco PATA.

adattatore da SATA a PATA

83.2   Gestione da parte del kernel Linux

Il kernel Linux tratta le unità SATA come se fossero unità SCSI, pertanto i file di dispositivo a cui si fa riferimento sono /dev/sdx, dove x è una lettera alfabetica minuscola.

Il kernel Linux deve includere il codice necessario alla gestione dell'adattatore SATA utilizzato, ma dal momento che la gestione SATA viene assimilata a quella SCSI, le voci in questione sono parte del menù {SCSI support}, {SCSI low-level drivers} (sezione 72.2.12).

83.3   Informazioni da un kernel Linux

Le informazioni che si possono ottenere da un kernel Linux consentono di verificare la configurazione effettiva del firmware e il riconoscimento dell'unità di controllo SATA esistente. La prima verifica va fatta sui messaggi iniziali di avvio del kernel, che si possono rileggere con il comando dmesg:

dmesg | less[Invio]

Nella prima parte si può osservare la gestione generale del bus SATA e l'identificazione delle particolarità dell'unità di controllo SATA:

libata version 1.20 loaded.
sata_via 0000:00:0f.0: version 1.1
sata_via 0000:00:0f.0: routed to hard irq line 0
ata1: SATA max UDMA/133 cmd 0xEFF0 ctl 0xEFE6 bmdma 0xEF90 irq 16
ata2: SATA max UDMA/133 cmd 0xEFA8 ctl 0xEFE2 bmdma 0xEF98 irq 16
ata1: dev 0 cfg 49:2f00 82:7c6b 83:7f09 84:4673 85:7c69 86:3e21 87:4663 88:407f
ata1: dev 0 ATA-7, max UDMA/133, 398297088 sectors: LBA48
ata1: dev 0 configured for UDMA/133
ata2: dev 0 cfg 49:2f00 82:7c6b 83:7f09 84:4673 85:7c69 86:3e21 87:4663 88:407f
ata2: dev 0 ATA-7, max UDMA/133, 398297088 sectors: LBA48
ata2: dev 0 configured for UDMA/133

Nella seconda parte si può osservare l'associazione dei dischi a unità SCSI:

scsi0 : sata_via
scsi1 : sata_via
  Vendor: ATA       Model: Maxtor 6L200S0    Rev: BACE
  Type:   Direct-Access                      ANSI SCSI revision: 05
  Vendor: ATA       Model: Maxtor 6L200S0    Rev: BACE
  Type:   Direct-Access                      ANSI SCSI revision: 05
SCSI device sda: 398297088 512-byte hdwr sectors (203928 MB)
SCSI device sda: drive cache: write back
SCSI device sda: 398297088 512-byte hdwr sectors (203928 MB)
SCSI device sda: drive cache: write back
 sda: sda1 sda2 sda4
sd 0:0:0:0: Attached scsi disk sda
SCSI device sdb: 398297088 512-byte hdwr sectors (203928 MB)
SCSI device sdb: drive cache: write back
SCSI device sdb: 398297088 512-byte hdwr sectors (203928 MB)
SCSI device sdb: drive cache: write back
 sdb: sdb1 sdb2 sdb4
sd 1:0:0:0: Attached scsi disk sdb
sd 0:0:0:0: Attached scsi generic sg0 type 0
sd 1:0:0:0: Attached scsi generic sg1 type 0

Se l'unità di controllo SATA è collegata a sua volta su un bus PCI, se ne possono trovare le tracce nella directory virtuale /proc/, attraverso lspci (l'esempio si riferisce a un elaboratore differente, ma sulle stesse coordinate PCI):

lspci -v | less[Invio]

0000:00:0f.0 RAID bus controller: VIA Technologies, Inc. \
  \VIA VT6420 SATA RAID Controller (rev 80) Subsystem: ASUSTeK Computer Inc. A7V600/K8V Deluxe/K8V-X motherboard Flags: bus master, medium devsel, latency 64, IRQ 16 I/O ports at eff0 [size=8] I/O ports at efe4 [size=4] I/O ports at efa8 [size=8] I/O ports at efe0 [size=4] I/O ports at ef90 [size=16] I/O ports at e800 [size=256] Capabilities: [c0] Power Management version 2

83.4   Sistemi RAID SATA

Generalmente, le unità di controllo SATA sono in grado di gestire alcuni livelli RAID con l'unione di più dischi SATA, in modo indipendente dal sistema operativo. Tuttavia, con i sistemi GNU/Linux risulta più conveniente una gestione RAID software, che può essere controllata completamente durante il funzionamento del sistema operativo. Si veda eventualmente il capitolo 168 al riguardo.

83.5   Riferimenti

Appunti di informatica libera 2007.02 --- Copyright © 2000-2007 Daniele Giacomini -- <daniele (ad) swlibero·org>


Dovrebbe essere possibile fare riferimento a questa pagina anche con il nome sata_serial_ata.htm

[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [indice analitico]

Valid ISO-HTML!

CSS validator!