Controle de Fluxo

Devido à grande largura de banda proporcionada pelo Fibre Channel, é possível que haja a inundação de um target com frames. Por este motivo, deve existir um mecanismo que impeça este acontecimento. Desta forma, foi estabelecido um sistema de crédito, em que o crédito corresponde ao número de buffers que um nó possui para aceitar os dados que chegam.

Buffer a Buffer

Durante o login, as Portas_N e Portas_F dos dois dispositivos que fazem parte de uma conexão estabelecem que o sistema de crédito a ser utilizado é o de buffer a buffer (Crédito_BB). Cada porta atribui ao Crédito_BB o valor máximo que ela suporta. O menor Crédito_BB será adotado por ambos os dispositivos.

Fim a Fim

Durante o login, todas as Portas_N dos dispositivos que fazem parte de uma conexão estabelecem que o sistema de crédito a ser utilizado é o de fim a fim (Crédito_FF). Durante a transmissão de dados, uma porta não pode enviar mais frames do que o buffer da porta receptora pode processar. O envio é retomado quando a porta emissora recebe uma indicação de que a porta receptora já processou o frame enviado anteriormente.

O controle de fluxo é realizado através de contadores de Crédito_BB e Crédito_FF. Ambos são inicializados com 0 durante o login. A cada vez que uma porta envia um frame, os contadores Crédito_BB_CNT e Crédito_FF_CNT são incrementados. Ao receber um R_RDY da porta adjacente, é feito o decremento do Crédito_BB_CNT, e quando o emissor recebe uma confirmação da entrega de mensagem da porta-destino, o Crédito_FF_CNT é decrementado.

Se os valores dos contadores Crédito_BB_CNT e Crédito_FF_CNT atingirem os valores máximos (Crédito_BB e Crédito_FF, respectivamente) da porta receptora, o envio de frames é interrompido até que o contador que atingiu o seu limite seja decrementado.

Design downloaded from free website templates.