Você está na página 1de 42

Conceitos do Barramento SCSI

Introduo
Com a chegada de controladores de dispositivos inteligentes e a demanda crescente por dispositivos de I/O de grande performance, se fez necessria a criao de uma arquitetura de storage. SCSI a sigla para Small Computer System Interface No incio dos anos 80, a NCR Corporation e Shugart Associates, se uniram para desenvolver uma arquitetura de storage padro de indstria. Este foi o nascimento do SCSI, que mais tarde tornouse um padro da American National Standard ANSI X3.131-1986. Este padro define todos os requisitos mecnicos, eltricos e funcional do barramento SCSI.

Descrio
O que o SCSI?
um barramento de I/O paralelo que permite a conexo de uma variedade de perifricos aos computadores, mantendo independncia dentro da classe de dispositivos. Isto inclui discos, fitas, modems, impressoras, scanners, dispositivos ticos e equipamentos de teste, que podem ser conectados aos computadores sem requerer modificaes no hardware genrico do computador, bastando para isso a instalao de um host adapter, pois os controladores dos perifricos j fazem parte dos dispositivos.

Evoluo do barramento SCSI


A primeira implementao foi denominada de SCSI-1. Ela implementava poucos comandos mandatrios e deixava a maioria deles como opcionais para serem implementados pelos vendors da maneira que cada um desejasse. Isso levou a vrios problemas de compatibilidade. Para esclarecer e melhorar a especificao do barramento SCSI, surgiu, ento, o SCSI-2. Foi definido um conjunto de comandos chamado de CCS (Common Command Set) como parte do SCSI-2. Ele um subconjunto de dezoito comandos dentro do conjunto de comandos do SCSI para ajudar a resolver os problemas de compatibilidade que apareceram entre os diversos fabricantes de dispositivos SCSI.

Barramento Multidrop
O barramento SCSI no igual a configurao radial de barramento, onde o controlador localizado no host, fornece um interface separado para cada dispositivo. O barramento SCSI prov um nico interface para todos os dispositivos.

Descrio (cont.)
Barramento Multidrop x Barramento Radial

Descrio (cont.)
Localizao dos Controladores dos Dispositivos
Como j vimos anteriormente, os dispositivos so dotados de inteligncia e so responsveis por operaes como head seeks (posicionamento das cabeas sobre uma determinada trilha em um disco), movimentao de fita e etc. Como o controlador do dispositivo est embutido no prprio dispositivo, em oposio ao mtodo tradicional de colocar o controlador no host, isto faz com que o host no tenha que se ocupar das funes de baixo nvel do dispositivo, ganhando tempo para fazer tarefas mais importantes.

Configurao Tpica de um Bus SCSI


O bus SCSI conectado ao host atravs de um adaptador, capaz de manipular mltiplos dispositivos em um nico barramento. Em um dos seus extremos, o adaptador se comunica com o bus do sistema e no outro se comunica com os controladores SCSI embutidos nos dispositivos.

Nmero Mximo de Dispositivos Suportados


At oito dispositivos SCSI so suportados em um nico SCSI bus (dezesseis com Wide SCSI). Cada dispositivo denominado como n. O adaptador SCSI tambm conta como um n do bus SCSI, logo o bus SCSI suporta um adaptador e at sete dispositivos (quinze no Wide SCSI).

Descrio (cont.)
Diagrama de uma Configurao Tpica

Comunicao no Bus SCSI


Targets e Initiators
Quando os dispositivos SCSI se comunicam, um dispositivo o initiator e o outro o target. Um initiator um dispositivo capaz de iniciar uma operao e tipicamente um adaptador ou um controlador no host. Um target um dispositivo SCSI que executa a operao. Dispositivos SCSI de armazenamento tm um papel fixo, geralmente como targets.

Tcnica de Arbitrao no Bus SCSI


Para definir quem ir utilizar o barramento, o SCSI utiliza uma tcnica de arbitrao. A arbitrao baseada num sistema de prioridade, que garante o controle do barramento ao interface que estiver pedindo para us-lo e que tiver a mais alta prioridade. No bus SCSI a deciso de quem ir usar o bus feita da seguinte maneira: o dispositivo que desejar utilizar o bus, assim que terminar a transao corrente, monitora o bus e, assim que ele estiver livre, ativa o sinal bus busy e seu ID no barramento. Aps um pequeno atraso (arbitration delay), ele verifica no barramento de dados se h algum dispositivo com um ID maior que o seu. Se houver, ele retira o seu ID e tentar de novo mais tarde. Caso contrrio, ele ter o direito de usar o bus. O ID dos dispositivos so configurados geralmente por meio de switches ou jumpers. Em alguns subsistemas de storage, como o StorageWorks, o ID dos dispositivos dado pela sua posio fsica dentro do gabinete (shelf) onde ele instalado.

O Barramento Fsico
Sinais do Bus SCSI
O bus SCSI tem um total de 18 sinais que so divididos em duas partes, a saber: sinais de dados + paridade e sinais de controle. As linhas de dados transferem dados, comandos, informao de mensagens e de estado. Elas so bidirecionais. A determinao de quando e em que direo os dados sero transferidos, uma funo dos sinais de controle e das fases do barramento. O padro SCSI tambm define um mtodo opcional de implementar o que se chama de WIDE SCSI, que consiste em aumentar as linhas de dados para dezesseis.

Descrio dos Sinais do Bus SCSI Sinal Descrio


BSY (BUSY) SEL (SELECT) C/D (CONTROL/DATA) Uma ligao OR de sinais, que indica que o bus est em uso. Um sinal usado pelo initiator para selecionar um target, ou por um target para reselecionar um initiator. Um sinal usado pelo target para indicar se as informaes que esto no barramento de dados so de controle ou de dados. Verdadeiro (True) indica controle. Um sinal usado pelo target para controlar a direo do fluxo de dados no barramento de dados. Verdadeiro (True) significa entrada de dados para o initiator. Este sinal tambm usado para distinguir entre uma fase de Seleo e Reseleo. Um sinal usado pelo target durante a fase de Message.

I/O (INPUT/OUTPUT)

MSG (MESSAGE)

O Barramento Fsico (cont.)


Sinal
REQ (REQUEST) ACK (ACKNOWLEDGE) ATN (ATTENTION) RST (RESET) DB (7-0,P) (DATA BUS)

Descrio
Um sinal usado pelo target para pedir uma transferncia de dados utilizando o handshake REQ/ACK Um sinal usado pelo initiator para reconhecer uma transferncia de dados usando o handshakeREQ/ACK. Um sinal usado pelo initiator para indicar uma condio de Attention (o initiator tem uma mensagem para o target). Uma ligao de sinais em OR que causa um Reset no bus So os sinais que compe os oito bits de dados mais a paridade. O DB (7) o bit mais significativo e que tem a maior prioridade durante a fase de Arbitrao (Arbitration Phase). O nmero do bit, significncia e prioridade, decresce em direo ao DB (0). Um bit de dado definido como 1 quando o sinal verdadeiro e definido como 0 quando o sinal falso. A paridade dos dados DB (P) mpar, mas esta linha indefinida durante a fase de Arbitrao.

O Barramento Fsico (cont.)


Configurao Single-ended
O bus SCSI suporta duas especificaes eltricas, single-ended e diferencial (differential). O driver single-ended usa nveis de lgica TTL e foi concebido para ser utilizado em aplicaes que usam um gabinete. Ele a implementao eltrica mais comum do barramento. O nvel lgico dos sinais do barramento definido pelo nvel de voltagem com relao ao terra (ground). Um sinal alto (high) se seu nvel de voltagem +2,5 VDC e baixo (low) se seu nvel de voltagem menor que +0,4VDC SCSI single-ended ativo low. Isto significa que o nvel lgico 1 representado por um nvel de voltagem baixo e o nvel lgico 0 representado por uma voltagem alta. O comprimento do bus SCSI limitado a 6 metros (3 metros no SCSI-2).

Configurao Diferencial
O driver diferencial utiliza sinais do EIA RS-485. Cada sinal , na realidade, definido por um par de linhas denominadas +SIGNAL e SIGNAL. O nvel lgico de um sinal determinado pela diferena de voltagem entre as duas linhas. Se o +SIGNAL for mais positivo que o SIGNAL, ento o sinal ser verdadeiro. Se o SIGNAL for mais positivo do que o +SIGNAL, ento o sinal ser falso. Esta implementao foi concebida para ser utilizada em aplicaes que tipicamente necessitam de distncias maiores entre os adaptadores e os dispositivos. O comprimento do barramento limitado a 25 metros.

O Barramento Fsico (cont.)


Conversores (Converters)
Os barramentos single-ended e diferencial so incompatveis. Dispositivos, adaptadores e terminadores para as duas implementaes no podem ser misturados no mesmo bus SCSI. Por isso, conversores so necessrios quando certas configuraes requerem, por exemplo, dispositivos single-ended de 8 bits (narrow) conectados a um adaptador diferencial de 16 bits(wide) Conversores de sinais permitem a conexo destes dois barramentos, sem termos que modificar os dispositivos. Como exemplo, podemos citar os conversores DWZZA e DWZZB.

Terminao (Terminator)
Os sinais do bus SCSI necessitam ser terminados nas extremidades do barramento. O bus terminado para evitar reflexo e falsos sinais. Deve haver dois terminadores no bus SCSI, nem mais, nem menos. Esta terminao consiste de uma malha de resistores para cada linha de sinal. A malha de resistores fornece uma impedncia constante para o bus. A malha inclui um resistor de 220 ohm conectado entre +5 Volts e a linha de sinal, e um resistor de 330 ohm conectado entre a linha de sinal e o terra (ground). O fornecimento da tenso de +5 Volts, tambm chamada de TERMPWR, essencial para o bom funcionamento do bus SCSI. Caso ele esteja num nvel marginal, a performance do bus e seus dispositivos imprevisvel. O mesmo pode ocorrer se o bus no estiver propriamente terminado. H dois tipos de terminao, a passiva e a ativa. A passiva a mais empregada e a mais barata, pois utiliza apenas uma malha de resistores. A ativa inclui tambm um regulador de voltagem, para manter um nvel correto de voltagem na linha TERMPWR.

O Barramento Fsico (cont.)


Transferncia de Dados Assncrona e Sncrona
O SCSI define dois mtodos de protocolo, assncrono e sncrono. Assncrono o mtodo padro e sncrono comumente referenciado como FAST SCSI. Durante as transferncias de dados assncronas, targets e initiators utilizam as linhas REQ e ACK para coordenarem a transferncia de cada byte. Cada transferncia de um byte deve ser completada antes que outra comece. A taxa mxima de 5MB/s. SCSI-2 define um protocolo que permite transferncias sncronas de dados a taxas maiores do que 5MB/s. Antes da transferncia de dados, os dois dispositivos negociam entre si a taxa de transferncia que ambos suportam. Cada dispositivo determina a quantidade de bytes que ser transferida e ir comutar a linha de controle de handshaking a cada byte transmitido at atingir o nmero previamente determinado. Com o emprego do FAST SCSI, chega-se a taxa mxima de 10MB/s.

SCSI ID
SCSI IDs (7-0) so assinalados tanto para o adaptador como para cada dispositivo. O ID do dispositivo passa a ser o seu endereo dentro do bus SCSI. Tipicamente os initiators so configurados para SCSI ID 7 ou 6. Os dispositivos mais lentos so configurados com IDs de prioridade mais alta que os dos dispositivos mais rpidos, para se evitar que um dispositivo mais rpido monopolize o barramento. por isso que CD-ROMs e fitas magnticas so configuradas para IDs 5 ou 4 e os discos comeam com IDs 0 em diante.

Como Funciona o Bus SCSI


Processo tpico de uma transao
Certas funes no bus SCSI so atribudas tanto para o initiator quanto para o target. Abaixo segue a descrio tpica de uma transao no bus SCSI: 1. 2. O initiator arbitra o bus SCSI e seleciona um determinado target O target requisita a transferncia do comando, dado, status ou outra informao no barramento de dados e em alguns casos, arbitra o bus SCSI e reseleciona o initiator para continuar a operao. Transferncias de informaes que se fazem pelo barramento de dados so assncronas e obedecem ao handshake de REQ/ACK, transferindo um byte de cada vez. Quanto s transferncia de dados, elas tm a opo de serem sncronas.

Atividade do Bus
Enquanto um dispositivo estiver usando o bus, os outros podem estar fazendo alguma atividade interna. Dispositivos no utilizam o bus a no ser que estejam envolvidos numa transferncia de dados, comando ou tenha uma informao de estado para reportar. Dispositivos podem se desconectar do bus enquanto estiverem executando atividades internas que consumam tempo. To logo o dispositivo esteja pronto para reiniciar a comunicao, ele pode arbitrar o bus para se reconectar com o host. Antes de utilizar o barramento SCSI, os dispositivos devem primeiro disput-lo entre si (arbitrao), a, ento, um caminho lgico ser estabelecido entre o initiator e o target.

Como Funciona o Bus SCSI


Fases do Bus SCSI
Todas as atividades no bus SCSI ocorrem em uma das oito fases. As fases do bus determinam a direo da transferncia e o tipo de informao que colocada nas linhas de dados. As ltimas quatro fases so coletivamente conhecidas como a fase de Transferncia de Informao, porque elas so usadas para transferir dados ou informao de controle. Cabe notar que o bus SCSI no pode estar em mais de uma fase por vez.

Fases do Bus
Bus Free Arbitration

Descrio
A fase Bus Free indica que no h nenhum dispositivo utilizando o bus. Antes que um dispositivo possa iniciar uma fase de arbitrao, o bus deve estar livre Esta fase permite que os dispositivos ganhem acesso ao bus para assumir o papel de initiator ou target. Assim que o initiator reconhece que o bus est livre, ele levanta o sinal BSY e seu prprio ID no bus. Aps um tempo, o initiator verifica as linhas de dados e retira o seu ID, se ele encontrar um ID de maior prioridade. Esta fase permite que o initiator selecione um target para executar uma funo tal como, um comando de leitura ou gravao. Ele (initiator) faz isso levantando o sinal SEL e colocando nas linhas de dados o ID do target e o seu prprio ID. Durante esta fase, o target que venceu a arbitrao, reconecta-se ao initiator para dar continuidade a uma transao previamente estabelecida.

Selection

Reselection

Como Funciona o Bus SCSI (cont.)


Fases do Bus
Command

Descrio
Esta fase permite que o target requisite a informao do comando do initiator. A informao do comando uma coleo de bytes agrupados num pacote de dados, chamado de Command Descriptor Block (CDB). Permite que o target requisite uma transferncia de dados para o initiator. Permite que o target requisiste uma transferncia de dados do initiator. Esta fase permite que o target requisite que o estado de informao seja transferido para o initiator. Permite que o target pea que uma mensagem seja enviada para o initiator. Mensagens so utilizadas para indicar erros, comandos abortados ou avisar ao initiator que o dispositivo target vai se desconectar.

Data In Data Out Status

Message

Sinais de Controle
As fases do bus SCSI so determinadas conforme o estado destas linhas. As seguintes linhas so controladas pelo initiator: RST (Reset), BSY (Busy) , SEL (Select), ACK (Acknowledge), ATN (Attention). As seguintes linhas so controladas pelo target: RST (Reset) , BSY (Busy), C/D (Control or Data), I/O (Direction of Data), MSG (Message), REQ (Request), SEL (Select)

Como Funciona o Bus SCSI (cont.)


Fase de Transferncia de Informao
As fases de Comando, Dados, Estado e Mensagens so coletivamente chamadas de fase de transferncia de informao. Ela utilizada para transferir dados ou informao de controle usando as linhas de dados. Os sinais C/D, I/O e MSG so usados para fazer a distino das fases dentro de uma fase de transferncia de informao. Por exemplo, um initiator pode requisitar uma fase Message Out levantando o sinal ATN ou o target pode causar uma fase Bus Free, baixando os sinais MSG, C/D, I/O e BSY.

Exemplo das Fases no Barramento SCSI

Processo de Arbitrao

Tipos de Cabos

Este tipo de cabo possui 50 pinos e conhecido como 50 pinos low-density (50LD) ou conector centronics

Este tipo de cabo possui 50 pinos e conhecido como 50 pinos high-density (50HD) ou conector honda

Tipos de Cabos (cont.)

Este tipo tipo de cabo possui 68 pinos e conhecido como 68 pinos high-density (68HD)

Este tipo de cabo possui 68 pinos e conhecido como 68 pinos very high density (68VHDCI)

Existem tambm os cabos que chamamos de transition cables (cabos de transio), que servem para adaptar conectores de tipos diferentes, como por exemplo fazer a ligao entre um dispositivo que tenha um conector 50LD e um adaptador que tenha um conector 50HD. No PROSIC (http://prosic.inet.cpqcorp.net/STORAGE/SCSI/CABLES/DEC/index.html), voc encontrar uma pgina sobre os vrios tipos de cabos e seus respectivos part numbers.

Reportando Erros
Reportando uma Condio de Falha
Se uma condio de falha for detectada durante a execuo de um comando, o target ir reportar esta condio para o initiator, retornando um byte de estado com um cdigo de Check Condition ou Command Terminated. O initiator, sob controle do sistema operacional, ir enviar um comando de REQUEST SENSE para o target para receber os sense data bytes do target. Os sense data bytes incluem uma informao detalhada sobre o erro detectado pelo dispositivo e contm informao importante para a anlise da falha e para o gerenciamento entre o target e o host. O target envia uma menssagem de Command Complete para o initiator para sinalizar que ele acabou de processar um comando. Isto no significa que a operao foi bem sucedida, simplesmente indica o final do processamento do comando.

Check Condition Status


Pode resultar de uma falha do hardware ou do software. Command Status enviado para o initiator durante a fase de Status no tmino de um comando. A exceo acontecer quando o comando for terminado por uma das seguintes condies: Mensagem de Abort Mensagem de Bus Device Reset Condio de Hard Reset Condio de Unexpected Bus Free

Reportando Erros (cont.)


Sense Data
A exata natureza da condio de check detectada pelo target definida pelo SENSE DATA. Como mencionado anteriormente, o SENSE DATA relacionado com o erro armazenado pelo target e enviado para o initiator em resposta a um comando REQUEST SENSE.

Protocolo de Mensagens
SCSI Messages
O sistema de mensagens permite que o initiator e o target se comuniquem para gerenciarem o caminho fsico. As mensagens so enviadas durante a fase de Messages e todos os dispositivos SCSI devem implementar a mensagem Command Complete. Algumas mensagens indicam erros que tipicamente resultam de falhas fsicas no barramento SCSI ou durante o protocolo do bus SCSI.

Protocolo de Mensagens (cont.)


Unexpected Bus Free
Em algumas circunstncias o target pode retirar o sinal BSY e entrar na fase Bus Free para indicar para o initiator que um erro ocorreu. O initiator ir gerenciar esta condio como uma operao de I/O m sucedida. O target termina a operao de I/O, fazendo uma retirada dos dados pendentes e da informao de estado da unidade lgica afetada. O target pode, opcionalmente, preparar os sense bytes que podero ser lidos por um comando de Request Sense emitido pelo initiator. Esta exceo causada tipicamente por um problema de timing no barramento ou por um erro de protocolo SCSI durante uma transao. Este erro faz com que o target aborte o comando.

Selection Timeout
A fase de Seleo permite a um initiator selecionar um target para que ele execute alguma funo (por exemplo, um comando de leitura ou gravao). O Selection Timeout ocorrer se o target no responder devido a: erro de paridade no bus, ou mais do que dois bits de SCSI ID estiverem ligados no barramento de dados.

Reselection Timeout
Reselection uma fase opcional que permite ao target se reconectar a um initiator. Reselection um meio pelo qual alguma operao, que foi previamente iniciada pelo initiator, e suspensa pelo target, possa continuar. Por exemplo, o target se desconecta para permitir uma fase de Bus Free antes que a operao se complete. O Reselection Timeout ocorrer se o initiator no responder devido a: erro de paridade no bus, ou mais do que dois bits de SCSI ID estiverem ligados no barramento de dados.

Protocolo de Mensagens (cont.)


Reset Condition
A condio de Reset assncrona e utilizada para zerar imediatamente todos os dispositivos do bus SCSI. Ela tem precedncia sobre todas as outras fases e condies do bus. Qualquer dispositivo SCSI pode criar uma condio de Reset, basta levantar o sinal RST. A fase Bus Free sempre vem aps uma condio de Reset. A condio de Reset usada para: Zerar o bus em condies excepcionais, tais como Selection e Reselection Timeout Terminar uma operao de I/O, onde o initiator no consiga termin-la normalmente, aps a deteco de um erro.

Bus Device Reset Message


O initiator envia uma mensagem de Bus Device Reset (BDR) para que o target zere todos os comandos que tinham sido enviados para ele. Isto fora um hard reset para o dispositivo selecionado. O target vai para a fase de Bus Free aps o recebimento desta mensagem. A diferena entre o BDR e o RST que a condio de RST faz com que todos os dispositivos do bus SCSI se zerem(reset).

Initiator Detected Error


Esta mensagem enviada do initiator para o target a fim de inform-lo que um erro ocorreu, como por exemplo, um erro de paridade. Entretanto, ela no impede que o target refaa a operao. A fonte do erro pode estar relacionada uma atividade prvia no bus SCSI ou interna no initiator.

Protocolo de Mensagens (cont.)


Message Parity Errors
Esta mensagem enviada do initiator para o target para indicar que o ltimo byte da mensagem que ele recebeu, continha um erro de paridade. O target reagir aos erros de paridade de uma das seguintes maneiras: ir para a fase de Bus Free executar a operao novamente reportar um estado de condio de check (check condition status) importante notar que se o estado de condio de check estiver ligado, a informao fornecida pelo Additional Sense Code e o Additional Sense Code Qualifier (ASC/ASCQ) ajudar a identificar a causa do erro.

Message Reject
O initiator ou o target enviam esta mensagem para indicar que a ltima mensagem que foi recebida era inapropriada, no suportada ou no foi implementada.

Host Software Interface


Para compreendermos como o software do host se comunica com o subsistema SCSI, necessrio que compreendamos as funes suportadas pelo Class Driver e pelo Port Driver do host.

Class Driver
O Class Driver responsvel por formatar os comandos, interpretar status e gerenciar o dado do usurio. Ele no tem conhecimento dos protocolos do bus, do hardware ou da estrutura de alto nvel dos arquivos. O Class Driver manipula o controle a nvel de dispositivo e escrito para servir a uma classe de dispositivos, tais como hard disk drives. H diferentes Class Drivers para manipular diferentes tipos de dispositivos (fitas, CD/ROM, etc.).

SCSI Port Driver


O SCSI Port Driver puramente um caminho de comunicao. Ele entende as fases do bus e sabe como enviar e receber informaes de um ponto para outro. O Port Driver monitora e controla as mudanas de fases do bus SCSI e envia e recebe mensagens de controle de caminho do SCSI. O Port Driver se interliga diretamente com o firmware do Port SCSI do sistema, o qual se comunica com o firmware do dispositivo SCSI.

SCSI Port Interface


Juntos, o Class e o Port Drivers compem o SCSI Port Interface (SPI). O SPI usa um conjunto de 11 rotinas ou funes que so evocadas pelos SCSI Class Drivers e so implementadas pelos SCSI Port Drivers. Estas rotinas estabelecem as conexes do SCSI, alocam posies de memria necessrias para passar e receber informaes do subsistema SCSI e enviam comandos para o SCSI. Outras funes podem causar um reset no bus, mudar as caractersticas de um dispositivo SCSI e abortar comandos.

Troubleshooting
Para pesquisar problemas com o bus SCSI, voc ter que definir primeiro a natureza do problema e os eventos que o levam a ele. Abaixo esto boas fontes de identificao de problemas: O cliente Indicadores dos dispositivos e controladores Inspeo fsica do barramento SCSI Error Logs.

Cliente
Conversar com o cliente uma boa maneira de se obter valiosas informaes, pois ele que opera o sistema e, normalmente, est presente quando os erros se manifestam. Siga estes passos: procure saber se houve alguma modificao recente na configurao do SCSI verifique com o cliente a seqncia de operaes que levaram ao erro verifique se o erro pode ser recriado com uma(s) determinada(s) operao(es)

Indicadores dos Dispositivos e Controladores


Inspecione os dispositivos e os controladores e verifique se eles possuem indicadores. Em caso afirmativo, verifique se os indicadores esto sinalizando alguma condio de falha.

Inspeo do Barramento SCSI


Faa uma inspeo no barramento SCSI. Verifique se os cabos, dispositivos e terminadores esto bem encaixados, pois podem existir maus contactos nos conectores. Verifique se a terminao est correta. Lembre-se que o barramento SCSI tem que ser terminado somente nas suas extremidades. A falta ou excesso de terminao ocasiona erros imprevisveis. Verifique o comprimento total do bus SCSI, pois o comprimento fora do padro tambm causa erros estranhos.

Troubleshooting (cont).
Arquivo de Error Log
Uma poderosa ferramenta para a pesquisa de problemas o arquivo de Error Log. Sempre verifique o Error Log, pois l voc poder encontrar informaes sobre o problema que voc est pesquisando. OpenVMS O arquivo de erro pode ser encontrado em SYS$ERRORLOG: ERRLOG.SYS. Para visualiz-lo use o comando ANALYZE/ERROR. Para maiores detalhes use o help. Tru64 Unix O arquivo de erro pode ser encontrado em /var/adm/binary.errlog. Para visualiz-lo use o seguinte comando uerf. Para maiores detalhes use o man. Windows NT O arquivo de erro pode ser visualizado usando a seqncia : start-programs-administrative tools-Event Viewer Existe uma ferramenta que substitui os visualizadores dos sistemas operacionais, pois a partir de determinadas verses dos SO, os visualizadores dos error logs no conseguem transcrever o contedo dos registradores. Esta ferramenta o DECEVENT e ela pode ser encontrada na seguinte pgina da Web: http://pinkft.cxo.dec.com/decevent/ A partir do lanamento das famlias Alpha (DS10, DS20, ES40, WildFire), a ferramenta a ser utilizada para a visualizao de erros o COMPAQ ANALYZE, que pode ser encontrado na Web em: http://pinkft.cxo.dec.com/compaqanalyze/

Troubleshooting (cont.)
Exemplo: OpenVMS Error Log ******************************** ENTRY Logging OS OS version Event sequence number Timestamp of occurrence System uptime in seconds VMS error mask Misc. VMS flags Host name AXP HW model System type register Unique CPU ID mpnum mperr Event validity Event severity VMS entry type Major Event class AXP Device Type IO Minor Class ---- Device Profile ---Product Name Unit Name Unit Number Device Class Architecture 2 ******************************** 1. VAX OpenVMS T1.0-FT4 17595. 13-OCT-1992 17:14:28 309. x00000000 x0000 ADU03 0. Unknown Model x00000002 DEC 4000 x00000002 x000000FF x000000FF 1. Valid -1. Unknown severity code 1. 3. IO Subsystem 0. 1. Device Error RZ57 ADU03$DKE 200. x0001 Disk x0002 SCSI-2

---- SCSI ERROR INFO ---HW Revision VMS SCSI Error Type SCSI ID SCSI LUN SCSI SUBLUN Port Status Direct Access Command Command Data

5000 5. Extended Sense Data from Device X20 x00 x00 x00000001 Success x0A WRITE x00 x00 x01 x01 x00 X20 Check Condition 18. x70 Current Error and "Information Bytes" are Not Valid x00 x00000000 x00000000 x0B Aborted Command x4700 ASC = x0047 ASCQ = x0000 SCSI Parity Error xE0 x00 Sense Key Data NOT Valid x00

SCSI Status Ext Sen Lngt (Byt) Error Code


Segment # Information Bytes CMD Specific Info Sense Key ASC & ASCQ

FRU Code Sense Key Data, Byte 1 Sense Key Data, Byte 2

Exemplo: ULTRIX Error Log ********************************* ENTRY ----- EVENT INFORMATION ----EVENT CLASS OS EVENT TYPE SEQUENCE NUMBER OPERATING SYSTEM OCCURRED/LOGGED ON OCCURRED ON SYSTEM SYSTEM ID 56. ********************************* ERROR EVENT 199. CAM SCSI 19505. ULTRIX 32 Tue Nov 19 19:52:41 1991 EST cam x82012001 HW REV: x1 FW REV: x20 CPU TYPE: R2000A/R3000 KN01 DISK x0000 LUN x0 TARGET x2 cdisk_bbr_done cdisk_bbr: Not ECC Correctable Error _bad block number: 237356 ----- CAM STRING ----DEVICE NAME ----- CAM STRING ----ERROR TYPE ----- CAM STRING --------- CAM STRING ----DEC RZ23L

PROCESSOR TYPE ----- UNIT INFORMATION ----CLASS SUBSYSTEM BUS #

----- CAM STRING ----ROUTINE NAME ----- CAM STRING -----

Soft Error Detected (recovered) Active CCB at time of error

CCB request completed with an error

----- ENT_CCB_SCSIIO ----*MY ADDR CCB LENGTH FUNC CODE PATH ID TARGET ID TARGET LUN CAM FLAGS *PDRV_PTR *NEXT_CCB *REQ_MAP VOID (*CAM_CBFCNP)() *DATA_PTR DXFER_LEN *SENSE_PTR SENSE_LEN CDB_LEN SGLIST_CNT CAM_SCSI_STATUS SENSE_RESID RESID CAM_CDB_IO CAM_TIMEOUT MSGB_LEN VU_FLAGS TAG_ACTION ----- CAM STRING -----

xC1068A70 x008C x01 0. 2. 0. CAM_DIR_IN xC1068818 x00000000 xC1107E80 x80167AD0 x10014BB0 x00002000 xC1068830 x40 x06 x0000 SCSI_STAT_CHECK_CONDITION x2C x00000000 x0000000000000010219F0308 x00000005 x0000 x0000 x00

Error, exception, or abnormal_condition ----- CAM STRING ----Recovered error (success)

----- ENT_SENSE_DATA ----ERROR CODE SEGMENT SENSE KEY INFO BYTE 3 INFO BYTE 2 INFO BYTE 1 INFO BYTE 0

CODE x70 x00 RECOVER ERR x00 x03 x9F x2C

ADDITION LEN x0C CMD SPECIFIC 3 x00 CMD SPECIFIC 2 x00 CMD SPECIFIC 1 x00 CMD SPECIFIC 0 x00 ASC x17 ASQ x00 FRU xD0 SENSE SPECIFIC x000000 ADDITIONAL SENSE 0000: 00000000 00000000 00000000 00000000 *................* 0010: 00000000 00000000 00000000 00000000 *................* 0020: 00000000 00000000 00000000 00000000 *................* 0030: 00000000 00000000 00000000 00000000 *................* ***************************************************************************

Exemplo: Tru64 Error Log

**** V3.3 ********************* ENTRY 992 ******************************** Logging OS System Architecture Event sequence number Timestamp of occurrence Host name System type register 2. Digital UNIX 2. Alpha 35. 02-MAY-2001 15:32:36 djocsc x00000022 Systype 34. (Regatta Family) x00000002

Number of CPUs (mpnum)

CPU logging event (mperr) x00000000

Event validity Event severity Entry type 1.

1. O/S claims event is valid 3. High Priority 199. CAM SCSI Event Type - (minor class)

------- Unit Info ------Bus Number Unit Number 0. x0030 Target = 6. LUN = 0.

------- CAM Data ------Class Subsystem Number of Packets x01 Tape x01 Tape 9.

------ Packet Type ------

258. Module Name String

Routine Name ------ Packet Type ------

ctape_iodone 260. Hardware Error String

Error Type

Hard Error Detected

------ Packet Type ------

257. Device Name String

Device Name

DEC

TLZ9

(C) DECA035

------ Packet Type ------

256. Generic String

Active CCB at time of error ------ Packet Type -----256. Generic String CCB request completed with an error

------ Packet Type

------

1. SCSI I/O Request CCB(CCB_SCSIIO) 76.

Packet Revision

CCB Address CCB Length XPT Function Code CAM Status

xFFFFFC000FEB4800 x00C0 x01 Execute requested SCSI I/O xC4 CCB Request Completed WITH Error SIM Queue Frozen with this Error Autosense Data Valid for Target

Path ID

0.

Target ID
Target LUN CAM Flags *pdrv_ptr *next_ccb *req_map void (*cam_cbfcnp)() *data_ptr

6.
0. x00000040 Data Direction (01: DATA IN) xFFFFFC000FEB44A8 x0000000000000000 xFFFFFC000FE73100 xFFFFFC00005F1110

x0000000140031800 10240.

Data Transfer Length *sense_ptr

xFFFFFC000FEB44D0 64.

Auotsense Byte Length

CDB Length Scatter/Gather Entry Cnt SCSI Status

6. 0. x02 Check Condition x26

Autosense Residue Length

Transfer Residue Length x000013C8 (CDB) Command & Data Buf

15--<-12 11--<-08 07--<-04 03--<-00 :Byte Order 0000: 00000000 00000000 28000008 * ...(........*

Timeout Value *msg_ptr Message Length Vendor Unique Flags Tag Queue Actions

x0000012D x0000000000000000 0. x0000 x00

------ Packet Type ------

256. Generic String

Error, exception, or abnormal condition

------ Packet Type ------

256. Generic String


MEDIUM ERROR - Nonrecoverable medium error

------ Packet Type -----Packet Revision

768. SCSI Sense Data 0.

Error Code

xF0 Current Error Information Bytes are Valid

Segment # Information Byte 3 Byte 2 Byte 1

x00 x00 x00 x28

Byte 0
Sense Key

x00
x03 Medium Error x12 x00

Additional Sense Length CMD Specific Info Byte 3 Byte 2 x00

Byte 1
Byte 0 ASC & ASCQ

x00
x00 x1502 ASC = x0015 ASCQ = x0002 Positioning Error Detected by Read of Medium

FRU Code

x00 x00 Sense Key Data NOT Valid

Sense Key Specific Byte 0 Byte 1 Byte 2 x40 x00

Addition Sense Data Size

Allocated by Driver

Count of valid bytes:

46.

15--<-12 11--<-08 07--<-04 03--<-00 :Byte Order 0000: 0010: 0020: 00000000 00000000 70D13900 00000000 *.....9.p........* 00000000 00000000 00000000 00000000 *................* 00000000 00000000 00000000 00000000 *................*

Evoluo do SCSI

Abaixo segue a definio para os smbolos que aparecem nos dispositivos SCSI.