Serial Attached SCSI (SAS) é um protocolo serial ponto-a-ponto (point-to-point) que transfere dados de e para dispositivos de armazenamento de computador, como unidades de disco rígido e unidades de fita. O SAS substitui a antiga tecnologia de barramento Parallel SCSI (Parallel Small Computer System Interface, geralmente pronunciada "scuzzy" ou "sexy") que apareceu pela primeira vez em meados da década de 1980. O SAS, como seu predecessor, usa o conjunto de comandos SCSI padrão. O SAS oferece compatibilidade opcional com Serial ATA (SATA), versões 2 e posteriores. Isso permite a conexão de drivers SATA à maioria dos SAS backplanes ou controladores. O inverso, conectar unidades SAS a backplanes SATA, não é possível.
O comitê técnico T10 do International Committee for Information Technology Standards (INCITS) desenvolve e mantém o protocolo SAS; a SCSI Trade Association (SCSITA) promove a tecnologia.
Introdução
Um típico sistema Serial Attached SCSI consiste nos seguintes componentes básicos:
Um iniciador: um dispositivo que origina solicitações de serviço de dispositivo e gerenciamento de tarefas para processamento por um dispositivo de destino e recebe respostas para as mesmas solicitações de outros dispositivos de destino. Os iniciadores podem ser fornecidos como um componente on-board na placa-mãe (como é o caso de muitas placas-mães orientadas a servidor) ou como um adaptador de barramento de host complementar. Um destino: um dispositivo contendo unidades lógicas e portas de destino que recebe solicitações de serviço de dispositivo e gerenciamento de tarefas para processamento e envia respostas para as mesmas solicitações para dispositivos iniciadores. Um dispositivo de destino pode ser uma unidade de disco rígido ou um sistema de matriz de disco. Um subsistema de entrega de serviço: a parte de um sistema de E/S que transmite informações entre um iniciador e um destino. Normalmente, os cabos que conectam um iniciador e um destino com ou sem expansores e backplanes constituem um subsistema de entrega de serviço. Expansores: dispositivos que fazem parte de um subsistema de entrega de serviços e facilitam a comunicação entre dispositivos SAS. Os expansores facilitam a conexão de vários dispositivos SAS End a uma única porta do iniciador.
Histórico SAS-1: 3.0 Gbit/s, lançado em 2004 SAS-2: 6.0 Gbit/s, disponível desde fevereiro de 2009 SAS-3: 12.0 Gbit/s, disponível desde março de 2013 SAS-4: 22.5 Gbit/s chamado "24G", padrão concluído em 2017 SAS-5: 45 Gbit/s está sendo desenvolvido
Identificação e endereçamento Um domínio SAS é a versão SAS de um domínio SCSI - consiste em um conjunto de dispositivos SAS que se comunicam entre si por meio de um subsistema de entrega de serviços. Cada porta SAS em um domínio SAS possui um identificador de porta SCSI que identifica a porta exclusivamente dentro do domínio SAS, o World Wide Name. Ele é atribuído pelo fabricante do dispositivo, como o endereço MAC de um dispositivo Ethernet, e normalmente também é exclusivo em todo o mundo. Os dispositivos SAS usam esses identificadores de porta para endereçar as comunicações entre si.
Além disso, cada dispositivo SAS tem um nome de dispositivo SCSI, que identifica o dispositivo SAS exclusivamente no mundo. Não é comum ver esses nomes de dispositivos porque os identificadores de porta tendem a identificar o dispositivo suficientemente.
Para comparação, em SCSI paralelo, o ID SCSI é o identificador da porta e o nome do dispositivo. No Fibre Channel, o identificador da porta é um WWPN e o nome do dispositivo é um WWNN.
No SAS, tanto os identificadores de porta SCSI quanto os nomes de dispositivos SCSI assumem a forma de um endereço SAS, que é um valor de 64 bits, normalmente no formato NAA IEEE Registered. As pessoas às vezes se referem a um identificador de porta SCSI como o endereço SAS de um dispositivo, por confusão. As pessoas às vezes chamam um endereço SAS de World Wide Name ou WWN, porque é essencialmente a mesma coisa que um WWN no Fibre Channel. Para um dispositivo expansor SAS, o identificador da porta SCSI e o nome do dispositivo SCSI são o mesmo endereço SAS.
Comparação com SCSI paralelo O "barramento" SAS opera ponto a ponto enquanto o barramento SCSI é multidrop. Cada dispositivo SAS é conectado por um link dedicado ao iniciador, a menos que um expansor seja usado. Se um iniciador estiver conectado a um destino, não haverá oportunidade de contenção; com SCSI paralelo, mesmo essa situação pode causar contenção. O SAS não tem problemas de terminação e não requer pacotes de terminadores como SCSI paralelo. O SAS elimina a distorção do clock. O SAS permite até 65.535 dispositivos através do uso de expansores, enquanto o Parallel SCSI tem um limite de 8 ou 16 dispositivos em um único canal. O SAS permite uma velocidade de transferência mais alta (3, 6 ou 12 Gbit/s) do que a maioria dos padrões SCSI paralelos. O SAS atinge essas velocidades em cada conexão do iniciador-alvo, obtendo assim uma taxa de transferência mais alta, enquanto o SCSI paralelo compartilha a velocidade em todo o barramento multidrop. Os dispositivos SAS possuem portas duplas, permitindo backplanes redundantes ou E/S multipath; esse recurso é geralmente chamado de SAS de domínio duplo. Os controladores SAS podem se conectar a dispositivos SATA, conectados diretamente usando protocolo SATA nativo ou por meio de expansores SAS usando o Serial ATA Tunneling Protocol (STP). Tanto o SAS quanto o SCSI paralelo usam o conjunto de comandos SCSI.
Comparação com SATA Há pouca diferença física entre SAS e SATA.
O protocolo SAS fornece vários iniciadores em um domínio SAS, enquanto o SATA não possui provisão análoga. A maioria das unidades SAS fornece enfileiramento de comandos marcados, enquanto a maioria das unidades SATA mais recentes oferece enfileiramento de comandos nativos. O SATA usa um conjunto de comandos baseado no conjunto de comandos ATA paralelo e, em seguida, estendido além desse conjunto para incluir recursos como enfileiramento de comandos nativos, hot-plugging e TRIM. O SAS usa o conjunto de comandos SCSI, que inclui uma ampla variedade de recursos, como recuperação de erros, reservas e recuperação de blocos. O ATA básico possui comandos apenas para armazenamento de acesso direto. No entanto, os comandos SCSI podem ser encapsulados por meio de ATAPI para dispositivos como unidades de CD/DVD. O hardware SAS permite E/S multipath para dispositivos, enquanto o SATA (anterior ao SATA 2.0) não. De acordo com a especificação, o SATA 2.0 faz uso de multiplicadores de porta para alcançar a expansão de porta, e alguns fabricantes de multiplicadores de porta implementaram E/S multipath usando hardware de multiplicador de porta. O SATA é comercializado como um sucessor de uso geral do ATA paralelo e se tornou comum no mercado consumidor, enquanto o SAS mais caro visa aplicativos de servidor críticos. A recuperação e o relatório de erros do SAS usam comandos SCSI, que têm mais funcionalidade do que os comandos ATA SMART usados por unidades SATA. O SAS usa voltagens de sinalização mais altas (800-1.600 mV para transmissão e 275-1.600mV para receber) do que SATA (400-600 mV para transmissão e 325-600 mV para recebimento). A voltagem mais alta oferece (entre outros recursos) a capacidade de usar SAS em backplanes de servidor. Devido às suas tensões de sinalização mais altas, o SAS pode usar cabos de até 10 m (33 pés) de comprimento, enquanto o SATA tem um limite de comprimento de cabo de 1 m (3,3 pés) ou 2 m (6,6 pés) para eSATA. SAS é full-duplex, enquanto SATA é half- duplex. A camada de transporte SAS pode transmitir dados na velocidade total do link em ambas as direções ao mesmo tempo, portanto, um comando SCSI executado no link pode transferir dados de e para o dispositivo simultaneamente. No entanto, como os comandos SCSI que podem fazer isso são raros e um link SAS deve ser dedicado a um comando individual de cada vez, isso geralmente não é uma vantagem com um único dispositivo.
Características
Detalhes técnicos O padrão Serial Attached SCSI define várias camadas (em ordem do mais alto para o mais baixo): aplicativo, transporte, porta, link, PHY e físico. O Serial Attached SCSI compreende três protocolos de transporte:
Serial SCSI Protocol (SSP) - para comunicação em nível de comando com dispositivos SCSI. Serial ATA Tunneling Protocol (STP) - para comunicação em nível de comando com dispositivos SATA. Serial Management Protocol (SMP) - para gerenciar a malha SAS.
Para as camadas Link e PHY, o SAS define seu próprio protocolo exclusivo.
Na camada física, o padrão SAS define conectores e níveis de tensão. As características físicas da fiação e sinalização do SAS são compatíveis e têm rastreado vagamente as do SATA até a taxa 6 Gbit/s, embora o SAS defina especificações de sinalização física mais rigorosas, bem como uma oscilação de tensão diferencial permitida mais ampla, destinada a permitir um cabeamento mais longo. Enquanto o SAS-1.0 e o SAS 1.1 adotaram as características de sinalização física do SATA na taxa de 3 Gbit/s com condificação 8b/10b, o desenvolvimento do SAS-2.0 de uma taxa física de 6 Gbit/s levou ao desenvolvimento de uma velocidade SATA equivalente. Em 2013, 12 Gbit/s seguiram a especificação SAS-3. O SAS-4 está programado para introduzir sinalização de 22,5 Gbit.s com um esquema de codificação 128b/150b mais eficiente para obter uma taxa de dados utilizável de 2.400 MB/s, mantendo a compatibilidade com 6 e 12 Gbit/s.
Além disso, o SCSI Express aproveita a infraestrutura PCI Express para conectar diretamente os dispositivos SCSI em uma interface mais universal.
Arquitetura
A arquitetura SAS consiste em seis camadas: Camada física: define as características elétricas e físicas transmissão de sinalização diferencial Vários tipos de conectores: SFF-8482 - compatível com SATA Conectores internos de quatro pistas: SFF-8484, SFF-8087, SFF-8643 Conectores externos de quatro pistas: SFF-8470, SFF-8088, SFF-8644 Camada PHY: Codificação de dados 8b/10b (3, 6 e 12 Gbit/s) Codificação de pacote SPL 128b/150b (22,5 Gbit/s) (cabeçalho de 2 bits, carga útil de 128 bits, correção de erro de encaminhamento Reed-Solomon de 20 bits) Inicialização de link, negociação de velocidade e sequências de reset Negociação de recursos de link (SAS-2 em diante) Camada de links: Inserção e exclusão de primitivos para correspondência de disparidade de velocidade de clock Codificação primitiva Embaralhamento de dados para EMI reduzido Estabeleça e desfaça conexões nativas entre os alvos e iniciadores do SAS Estabeleça e destrua conexões em túnel entre iniciadores SAS e destinos SATA conectados a expansores SAS Gerenciamento de energia (proposto para SAS-2.1) Camada de porta: Combinando vários PHYs com os mesmos endereços em portas amplas Camada de transporte: Contém três protocolos de transporte: Serial SCSI Protocol (SSP): para comunicação em nível de comando com dispositivos SCSI Serial ATA Tunneled Protocol (STP): para comunicação em nível de comando com dispositivos SATA Serial Management Protocol (SMP): para gerenciar a malha SAS Camada de aplicação
Topologia Um iniciador pode se conectar diretamente a um destino por meio de um ou mais PHYs (essa conexão é chamada de porta se usar um ou mais PHYs, embora o termo porta ampla às vezes seja usado para uma conexão multi-PHY).
Expansores SAS