In elettronica e informatica Serial Attached SCSI (SAS) è una tecnologia o interfaccia di trasferimento dati, evoluzione della SCSI, studiata per lavorare sia con dispositivi ad accesso diretto, come i dischi fissi, sia per quelli ad accesso sequenziale, come i nastri magnetici. Il protocollo di comunicazione è seriale punto-punto diversamente dal bus SCSI di tipo parallelo introdotto nella metà degli anni ottanta.
Descrizione Un tipico sistema Serial Attached SCSI è composto da:
Initiator Un Initiator, che nella modalità più semplice è un controller SAS, è un dispositivo che gestisce le richieste verso le periferiche collegate, trasferendo loro i comandi e aspettando le risposte. Gli initiator possono essere integrati sulla scheda madre (come nel caso delle schede madri orientate ai server) oppure possono essere delle schede aggiuntive. In una Storage Area Network con dischi SAS l'iniziatore è esterno al server in quanto si trova all'interno del sistema di storage. Periferica di destinazione (Target in inglese) Una periferica di destinazione può essere un dispositivo ad accesso diretto come i dischi fissi o le memorie flash o un dispositivo ad accesso sequenziale come i nastri magnetici. Le periferiche di destinazione contengono delle Logical Units (Unità logiche anche chiamate LUNs) e hanno delle porte di comunicazione che ricevono i comandi dall'initiator e gli restituiscono le risposte. Sottosistema di trasmissione (Service Delivery Subsystem in inglese) Un sottosistema di trasmissione è la parte di un sistema I/O che trasmette informazioni tra initiator e periferiche di destinazione. Tipicamente è l'insieme di tutti i cavi e dell'elettronica di comunicazione che servono per connettere l'initiator alle periferiche di destinazione. Expander Gli expander sono i dispositivi del sottosistema comunicazione che agevolano la comunicazione tra le periferiche SAS facilitando la connessione di molteplici dispositivi ad una singola porta di un initiator.
Domini SAS & WWN (World Wide Name) Un Dominio SAS è un sistema I/O che consiste in un set di periferiche SAS che comunicano tra di loro per mezzo di un sottosistema di trasmissione. Ogni periferica SAS in un Dominio SAS ha un unico identificatore assegnato globalmente al produttore della periferica (analogo all'indirizzo MAC di una periferica ethernet) chiamato World Wide Name (o indirizzo SAS). Il WWN identifica esclusivamente la periferica nel dominio SAS precisamente come uno SCSI ID identifica una periferica in una catena SCSI. Un dominio SAS può contenere fino a un totale di 16384 dispositivi.
Differenze fra SAS e SCSI +Differenze fra SAS e SCSISASSCSITipo di buspunto-puntomultidropNecessita di terminatoriNoSISoffre di clock skewNoSIMax periferiche16.3848 o 16Velocità busdedicata aciascuna perifericaCondivisa fratutte le perifericheSupporto SATASINOSet di comandiSAMSAM Il SAS è un bus punto-punto mentre SCSI è un bus multidrop. Ciascun dispositivo SAS è collegato direttamente all'initiator a meno che non sia utilizzato un expander. Se un dispositivo è collegato direttamente all'initiator non esiste contesa del bus pertanto il sistema risulta molto più efficiente di un sistema a contesa come si ha per il bus SCSI anche quando al bus è collegata una sola periferica. Il SAS non utilizza terminatori a differenza di SCSI. Il SAS elimina il clock skew ossia il fatto che il clock arrivi a più dispositivi con ritardi differenti. Il SAS sostiene un più alto numero di periferiche (fino a 16384) mentre la catena SCSI è limitata (a seconda delle versioni) a 8 o 16 periferiche. Il SAS sostiene una maggiore velocità di trasferimento (1.5, 3.0 o 6.0 Gbps). La velocità è realizzata su ogni connessione controller-periferica, quindi un maggior throughput. In un bus SCSI multidrop la velocità è condivisa tra tutte le periferiche. Il SAS supporta periferiche SATA. Il SAS e SCSI utilizzano lo stesso set di comandi SAMSCSI-3 Architecture Model (SAM) . Documento del gruppo di lavoro T10 con la definizione del set di comandi SCSI-3 del 27/11/1995.SCSI Architecture Model - 4 (SAM-4) . Documento del gruppo di lavoro T10 con la definizione del set di comandi modello 4 versione dell'8/5/2008. (SCSI Architecture Model).
Differenze fra SAS e SATA
+Differenze fra SAS e SATASASSATAIdentificazione disp.Con WWNIn base alla portaRiordinamento comandiTCQNCQ (solo su SATA II)Può gestireDischi fissiDischi otticiStampantiNastri MagneticiScanner ecc.Dischi fissiDischi otticiMultipath I/OSi nativoSolo su SATA IIcon hardware proprietarioTensione TX800-1600 mV400-600 mV Tensione RX275-1600 mV 325-600 mV Lunghezza cavi8 m1 m Le periferiche SATA sono identificate esclusivamente dal loro numero di porta connessa all'Host Bus Adapter mentre le periferiche SAS sono identificate dal loro World Wide Name (WWN). Le periferiche SATA I non supportano il riordinamento dei comandi. Le periferiche SAS supportano il TCQ, molto simile al NCQ di SATA II. Il sistema SATA opera con il set di comandi ATA e supporta, quindi, solo hard disk e lettori ottici mentre il SAS supporta un'ampia gamma dispositivi inclusi hard disks, scanners, stampanti, lettori ottici ecc. L'hardware SAS permette il multipath I/O alle periferiche mentre quello SATA nella sua versione iniziale no. SATA II ha introdotto l'utilizzo del port multiplier per aumentare la velocità e alcuni produttori di hardware hanno implementato il port multiplier con un multipath I/0. Il SATA è principalmente usato per applicazioni non critiche come l'uso home PC mentre il SAS, per la sua robustezza, può essere usato per le applicazioni critiche dei server. Nella gestione SAS i rapporti di errore sono più completi rispetto al sistema ATA SMART utilizzato da SATA. Il SAS complementa il SATA e non è in concorrenza con esso. SAS utilizza un differenziale elettrico più alto per la comunicazione (800-1600 mV TX, 275-1600 mV RX) rispetto a SATA (400-600 mV TX, 325-600 mV RX). Quando dispositivi SAS e dispositivi SATA sono collegati allo stesso sistema, i dispositivi SAS operano con la stessa tensione delle periferiche SATA. La tensione maggiore rende più facile l'implementazione nei server con backplane per molti dischi. Grazie alla tensione maggiore i cavi SAS possono essere più lunghi (8 m) di quelli SATA (1 m).
Specifiche tecniche Prestazioni SASSCSIVersioneVelocità di trasferimentoVersioneVelocità di trasferimento3.0 Gib/s 300 MiB/sUltra-320320 MiB/s6.0 Gib/s600 MiB/sUltra-640640 MiB/s12.0 Gib/s1200 MiB/s Come si può vedere nella tabella soprastante SAS, nella versione a 3.0 Gib/s, è leggermente più lento della versione Ultra-320 di SCSI. Nel 2009 dovrebbe uscire la versione con bus a 6.0 Gib/s, che raddoppierà le prestazioni e sarà paragonabile a SCSI Ultra-640 introdotto nel 2003 ma scarsamente utilizzato proprio per l'arrivo di SAS. La velocità del bus però, su un bus SCSI, è condivisa fra tutti i dispositivi e il controller stesso, mentre in un bus SAS è dedicata a ciascun dispositivo. Il set di comandi di SAS è mutuato esattamente da SCSI, così è garantita la completa compatibilità, a livello di comando, per tutti i software sviluppati per SCSI.
Specifiche tecniche del Serial Attached SCSIPrestazioniTrasferimento Full-duplex con l'aggregazione di 8 link su wide ports 24 Gib/s.3.0 Gib/s per link nella versione introduttiva. Pianificato 6.0 Gib/s.ConnettivitàCavo esterno max 8 metri128 dispositivi per porta (16.384 in totale)Compatibilità SAS-SATAAttualmentegià disponibiliHard disk a doppia portaMulti-initiator point-to-pointDriverTrasparente dal punto di vista software con SCSI I dischi fissi SATA possono essere collegati al bus SAS, ma i dischi SAS non possono essere collegati ad un controller SATA. Nel primo caso però i dischi SAS e SATA non possono essere collegati sulla stessa porta contemporaneamente.
Il protocollo SAS è sviluppato e mantenuto dal comitato tecnico T10 del International Committee for Information Technology Standards (INCITS) e promosso dalla SCSI Trade Association (SCSITA).
Architettura
L'architettura SAS è organizzata su sei livelli: Livello fisico (Physical layer)Pur se non sono identiche, le specifiche SATA e SAS sono molto simili a livello fisico, quindi, è difficile, che una delle due tecnologie di interfaccia sia più veloce dell'altra. Molto probabilmente entrambe progrediranno alla stessa velocità 3,0 Gbit/s, 6,0 Gbit/s, e 12,0 Gbit/s.: Definisce le caratteristiche fisiche ed elettriche. Trasmissione differenziale dei dati. Cinque tipi di connettori: SFF 8482 – Compatibile SATA SFF 8484 – Interno fino a 4 dispositivi SFF 8470 – Esterno tipo InfiniBand fino a quattro dispositivi SFF 8087 - Molex 4x iPASS, interno con supporto in futuro 12 Gbps. SFF 8088 - Molex 4x iPASS, esterno con supporto in futuro 12 Gbps. Livello PHY (PHY layer): Definisce il protocollo di segnalazione. Livello di collegamento (Link Layer): Tre tipi di protocollo: SSP, STP, SMP Gestisce le connessioni e trasmette i dati. Livello di porta (Port layer): Associa i dispositivi SAS ai PHY (Interfacce di I/O). Seleziona l'interfaccia PHY per la trasmissione. Apre e chiude le connessioni con i dispositivi. Livello di trasporto (Transport layer): Supporta tre protocolli di trasporto: Serial SCSI Protocol (SSP): per il supporto dei dispositivi SAS. Serial ATA Tunneling Protocol (STP): supporta dischi SATA. Serial Management Protocol (SMP): gestione degli Expanders SAS Livello di applicazione (Application layer): SCSI Architecture Model SAM: comandi SCSI
Topologia Un initiator può essere collegato direttamente ad un dispositivo tramite uno o più PHY. Questa connessione si chiama porta (port in inglese) SAS anche se è caratterizzata dal collegamento di più PHY. Talvolta è utilizzato il termine wide port per indicare la connessione di un dispositivo ad un initiator utilizzando più di un PHY.
Spesso, però, i dispositivi non sono collegati direttamente all'initiator, ma sono collegati agli expander SAS.
Expander SAS Un expander Serial Attached SCSI è un componente che agevola la comunicazione e il cablaggio quando sono presenti un gran numero di dispositivi SAS. Gli expander contengono due o più porte esterne. Ogni dispositivo expander contiene almeno una porta di destinazione SAS Management Protocol per la gestione del dominio SAS e può collegare direttamente i dispositivi SAS. Un expander non è necessario per interfacciare un initiator SAS ad una periferica di destinazione ma se connesso lo aiuta gestire la comunicazione con più periferiche SAS/SATA. Gli expander possono essere visti come una specie di switch (anche se operano una commutazione di circuito e non di pacchetto) che permette a molteplici sistemi di essere connessi utilizzando una singola porta nella rete.
Ci sono due diversi tipi di expander: expander edge ed expander fanout. Un expander edge può gestire la comunicazione con un massimo di 128 indirizzi SAS, permettendo all'initiator SAS di comunicare con questi dispositivi aggiuntivi. Gli expander edge supportano il direct table routing (instradamento diretto basato su tabella di connessioni) e subtractive routing (instradamento basato su mancata risposta). Senza l'utilizzo di expander fanout in un sistema si possono installare solo due expander edge. Questo perché potendo solo utilizzare questi tipi di instradamento l'unica modalità operativa è quella di collegarli a vicenda con la porta configurata per il subtractive routing. Poiché ci può essere solo una porta configurata in questo modo non si possono installare altri expader.