"ARQUITETURA DE CONECTOR ÓTICO UNIFICADO" CAMPO DA INVENÇÃO A invenção refere-se à implementação de uma arquitetura de conector ótico unificado através de um sistema computacional.
HISTÓRICO DA INVENÇÃO A arquitetura atual de plataforma de computador apresenta uma variedade de controladores hospedeiros para implementar diversos tipos diferentes de 1/0 entre as plataformas e periféricos de computador que são conectados às plataformas. Por exemplo, um controlador hospedeiro de gráficos tem potencialmente portas analógicas e digitais com interfaces de conexão correspondentes (isto é, os plugues nas extremidades dos cabos que conectam um dispositivo de exibição a uma plataforma de computador. Os controladores de rede de área local dentro da plataforma têm geralmente uma ou mais tomadas de Ethernet. O subsistema de barramento serial universal (USB) tem diversas interfaces de plugue USB associadas. O Firewire IEEE 1394 também pode ter uma ou mais interfaces de plugue. A lista de portas separadas e distintas e as interfaces de hardware associadas para plugar periféricos em uma plataforma de computador crescem sem parar. As plataformas de computador com todas estas interfaces e tomadas/plugues de hardware correspondentes têm uma exigência significativa por grande quantidade de placa-mãe e demandam imóveis para ter todo deste hardware em um ponto. Isto limitou a capacidade de que os computadores móveis tenham um complemento total destas interfaces e painel traseiro de interface periférica em muitos sistemas de desktop cresceu infelizmente no tamanho também.
BREVE DESCRIÇÃO DOS DESENHOS A presente invenção é ilustrada de modo exemplar e não limitada pelos desenhos, em que referências semelhantes indicam elementos similares, e em que: A Figura 1 descreve uma modalidade de uma implementação em nível de sistema de uma arquitetura de conector ótico unificado. A Figura 2 descreve uma modalidade da lógica de conversão e transmissão dentro de uma porta de conector ótico unificado. A Figura 3 descreve uma outra modalidade de uma implementação em nível de sistema de uma arquitetura de conector ótico unificado. A Figura 4 descreve uma modalidade do conector de slot da arquitetura de conector ótico unificado para placas gráficas e de rede de área local (LAN) discretas. A Figura 5 descreve uma modalidade da arquitetura de conector ótico unificado estendida em um dispositivo periférico. A Figura 6 é um fluxograma de uma modalidade de um processo para rotear pacotes de dados em um ambiente de arquitetura de conector ótico unificado.
DESCRIÇÃO DETALHADA DA INVENÇÃO
As modalidades de um sistema, um dispositivo, e um método para implementar uma arquitetura de conector ótico unificado em uma plataforma de computador são descritas. Na seguinte descrição, inúmeros detalhes específicos são determinados. Entretanto, compreende-se que as modalidades podem ser praticadas sem estes detalhes específicos. Em outros exemplos, os elementos, as especificações, e os protocolos bem conhecidos não foram discutidos em detalhes de modo a evitar obscurecer a presente invenção. A Figura 1 descreve uma modalidade de uma implementação em nível de sistema de uma arquitetura de conector ótico unificado. Em muitas modalidades, o sistema inclui um ou mais processadores, tal como a unidade central de processamento (CPU) 100. Em modalidades diferentes, a CPU 100 pode incluir um núcleo ou múltiplos núcleos. Em algumas modalidades, o sistema é um sistema de multiprocessador (não mostrado) onde cada um dos processadores apresenta um núcleo ou múltiplos núcleos. A CPU 100 é acoplada à memória de sistema 102 por meio de uma ou mais ligações de alta velocidade (isto é, interconexões, barramentos, etc.) . A memória de sistema 102 é capaz de armazenar a informação que a CPU 100 utiliza para operar e executar programas e sistemas operacionais. Em modalidades diferentes, a memória de sistema 102 pode ser qualquer tipo útil de memória legível e gravável tal como uma forma de memória de acesso aleatório dinâmico (DRAM).
Em algumas modalidades, a CPU 100 é acoplada também a um controlador de gráficos discreto 104 por meio de uma ligação de alta velocidade adicional. O controlador de gráficos discreto 104 pode ser acoplado fisicamente a uma placa-mãe ou à outra placa de circuito impresso por meio de um conector de slot. Em muitas modalidades, o controlador de gráficos discreto pode ser uma placa/controlador de gráficos PCI Express® que é plugado em um conector de slot gráfico PCI Express®. Neste caso, o controlador/placa de gráficos PCI Express® pode estar de acordo com uma revisão da especificação tal como a PCI Express® Base Specification, Rev. 2.0, publicada em 20 de Dezembro de 2006. Em outras modalidades, o controlador de gráficos discreto utiliza um protocolo diferente do PCI Express®. Em algumas modalidades, a CPU 100 é acoplada a múltiplos controladores de gráficos discretos (modalidades com múltiplos controladores gráficos discretos não são mostradas). A CPU 100 também é acoplada ao complexo de I/O 106, em muitas modalidades. O complexo de I/O 106 pode abrigar um ou mais controladores de I/O hospedeiros, tal como o controlador de 1/0 hospedeiro 108. Cada controlador de I/O hospedeiro controla uma ou mais ligações de I/O que permitem que a CPU 100 se comunique com os periféricos de I/O anexados ao sistema computacional. Por exemplo, o controlador de I/O hospedeiro 108 pode ser um controlador hospedeiro de barramento serial universal (USB) de acordo com a revisão 2.0 da especificação USB, publicada em 27 de Abril de 2000. Os periféricos de I/O tais como a web câmera 110, o display 112, o display 114, e o roteador sem fio 116 são exemplos de periféricos de I/O que podem ser presos ao sistema computacional.
Em muitas modalidades o complexo de 1/0 106 é acoplado a um controlador de interface de rede (NIC) discreto 118. 0 NIC discreto 118 é capaz de fornecer uma interface entre o sistema computacional e uma ou mais redes externas ao sistema computacional. Estas redes podem incluir redes tais como redes sem fio e cabeadas de intranet dentro de um domínio em que o computador está localizado ou podem também incluir a própria Internet.
Em muitas modalidades, o sistema na Figura 1 inclui uma ou mais portas de conector ótico unificado (UOC), tais como as portas 120, 122, e 124. Em muitas modalidades, uma ligação elétrica (isto é, um ou mais fios em que um sinal elétrico pode ser transmitido) acopla cada porta UOC a cada controlador hospedeiro no sistema computacional. Por exemplo, na Figura 1, um controlador hospedeiro de gráficos (104), um controlador hospedeiro de rede (118), e um controlador hospedeiro de I/O (108) estão presentes no sistema computacional.
Deste modo, em muitas modalidades, a ligação elétrica 126 é um meio para transmitir um sinal elétrico que compreende dados gráficos entre o controlador de gráficos 104 e cada uma das portas UOC 12 0, 122 e 124. Também, a ligação elétrica 128 é um meio para transmitir um sinal elétrico que compreende dados de rede entre o controlador de rede 118 e cada uma das portas UOC 120, 122 e 124. Finalmente, a ligação elétrica 130 é um meio para transmitir um sinal elétrico que compreende dados de I/O entre o controlador hospedeiro de I/O 108 e cada uma das portas UOC 120, 122 e 124. Pode haver mais controladores hospedeiros e portas UOC presentes no sistema, mas a modalidade mostrada na Figura 3 utiliza três controladores e três portas. Dessa forma, na modalidade mostrada, cada porta UOC é acoplada a cada controlador hospedeiro no sistema computacional que exige potencialmente a interação com um ou mais dispositivos periféricos plugados no sistema computacional.
Em muitas modalidades, cada porta UOC é acoplada também a uma ligação ótica que compreende uma ou mais fibras ópticas capazes de transportar um sinal ótico a partir de uma extremidade da ligação a outra extremidade da ligação. Por exemplo, na Figura 1, a ligação ótica 132 é acoplada à porta UOC 120, a ligação ótica 134 é acoplada à porta UOC 122, e a ligação ótica 136 é acoplada à porta UOC 124. Em muitas modalidades, cada ligação ótica utiliza a tecnologia de multiplexação por divisão de comprimento de onda, assim pode haver mais de um sinal ótico sendo transmitido simultaneamente através de cada ligação ótica.
Em algumas modalidades, cada porta UOC inclui lógica adicional que é capaz de converter um sinal elétrico em um sinal ótico correspondente e vice versa e então transmitir o sinal convertido na ligação de meio alternativo. Por exemplo, a webcam 110, embora não acoplada diretamente à ligação ótica 132, é acoplada ao display 112, que por sua vez é acoplado à ligação ótica 132. A webcam 110 pode requerer comunicação com o controlador hospedeiro de I/O 108 e o display 112 pode requerer comunicação com o controlador hospedeiro de display 104.
Uma primeira comunicação (por exemplo, um ou mais pacotes de dados) que se origina a partir do controlador de gráficos 104 e objetivando o display 112 é inicialmente transmitida eletricamente como um sinal elétrico através da ligação elétrica 126, que alcança a porta UOC 120. A porta UOC 120 converte então a primeira comunicação em um sinal ótico e transmite o sinal ótico através da ligação ótica 132 para o display 112. Neste exemplo, ao mesmo tempo em que a primeira comunicação está ocorrendo, o controlador hospedeiro de I/O 108 gera uma segunda comunicação objetivando a webcam 110. Esta segunda comunicação é transmitida eletricamente inicialmente como um sinal elétrico através da ligação elétrica 128, que também alcança a porta UOC 120. A porta UOC 120 converte então a segunda comunicação a um sinal ótico e transmite o sinal ótico através da ligação ótica 132 para o display 112, (o display então deixa a comunicação simplesmente passar pela webcam 110 ou retransmite a comunicação para a própria webcam 110) .
Em muitas modalidades, a primeira comunicação a partir do controlador de gráficos 104 e a segunda comunicação a partir do controlador hospedeiro de 1/0 108 são transmitidas através da ligação ótica 132 simultaneamente utilizando a lógica de multiplexação por divisão de comprimento de onda dentro da porta UOC 120. Esta lógica multiplexa os dois sinais óticos convertidos em conjunto e transmite o sinal multiplexado. O sinal multiplexado então alcança o display 112 e o display 112 demultiplexa então o sinal ótico nas duas comunicações separadas, a primeira comunicação sendo recebida pelo display 112 e a segunda comunicação sendo passada para a webcam 110 onde é então recebida. A lógica adicional dentro de cada uma das portas UOC permite que a conversão oposta ocorra. Por exemplo, a webcam 110 e o display 112, ambos, emitem comunicações simultâneas ao controlador hospedeiro de 1/0 108 e ao controlador de gráficos 104, respectivamente. A webcam 110 emite inicialmente um sinal ao display 112. Este sinal pode ser elétrico ou ótico em modalidades diferentes. Se o sinal for elétrico, a seguir a lógica dentro do display 112 converte a transmissão da webcam em um sinal ótico. Se o sinal originário da webcam for ótico, então nenhuma conversão é requerida. Após ambos os sinais óticos da webcam e do display terem sido gerados, a lógica adicional dentro do display (por exemplo, potencialmente cada dispositivo apresenta uma porta UOC com toda lógica interna idêntica ou similar por porta) multiplexa os dois sinais óticos e transmite o sinal multiplexado à porta UOC 120.
Após ter recebido o sinal multiplexado, a porta UOC 120 demultiplexa o sinal em dois sinais óticos separados. A porta UOC converte então cada um dos dois sinais óticos nos sinais elétricos correspondentes que portam as comunicações da webcam 110 e do display 112. Finalmente, os sinais elétricos convertidos são transmitidos através das ligações elétricas 126 e 128, respectivamente, onde alcançam seus alvos (isto é, o controlador de display 104 e o controlador hospedeiro de I/O 108) .
As portas UOC 122 e 124 realizam conversões e transmissões similares entre um ou mais controladores hospedeiros no sistema computacional 138 e um ou mais dispositivos periféricos usando a ligação ótica 132, 134 e/ou 136.
Na multiplexação por divisão de comprimento de onda, uma única ligação ótica pode carregar múltiplos sinais óticos simultaneamente onde cada um dos sinais óticos é transmitido em um comprimento de onda diferente (isto é, único) a partir de todos os outros sinais óticos que estão sendo transmitidos. Em muitas modalidades, cada sinal elétrico que corresponde a um controlador hospedeiro pode ser alocado um comprimento de onda específico de luz para a transmissão através de uma ou mais das ligações óticas (132-13 6) . A tabela de alocação de comprimento de onda 140 mostra um exemplo das alocações de comprimento de onda. O sinal elétrico transmitido e recebido pelo controlador de gráficos 104 através da ligação elétrica 126 é o comprimento de onda de luz alocado 1 (λΐ), o sinal elétrico transmitido e recebido pelo controlador hospedeiro de I/O 108 através da ligação elétrica 128 é o comprimento de onda de luz alocado 2 (λ2), e o sinal elétrico transmitido e recebido pelo controlador de rede 114 através da ligação elétrica 130 é o comprimento de onda de luz alocado 3 (λ3) . Em algumas modalidades, a alocação de comprimento de onda por controlador pode ocorrer na inicialização do sistema. A Figura 2 descreve uma modalidade da lógica de conversão e transmissão dentro de uma porta de conector ótico unificado. Em muitas modalidades, uma porta UOC 2 00 é acoplada eletricamente aos controladores hospedeiros 202, 204, e 206, que se refere a uma ligação elétrica (isto é, interconexão, barramento) conectando fisicamente um controlador hospedeiro à porta UOC 200. Por exemplo, o controlador hospedeiro 202 é acoplado eletricamente à porta UOC 200 pela ligação A.
Adicionalmente, a porta UOC 2 00 é acoplada oticamente ao dispositivo periférico 208 pela ligação ótica D. Em muitas modalidades, tais como a modalidade mostrada na Figura 2, a ligação ótica D apresenta duas fibras ópticas separadas, uma fibra é o meio para as comunicações transmitidas a partir da porta UOC 200 ao dispositivo periférico 208, e uma segunda fibra é o meio para as comunicações transmitidas a partir do dispositivo periférico 208 à porta UOC 200. A ligação ótica D também pode incluir um ou mais fios elétricos usados para energizar o periférico, etc.
Um controlador hospedeiro, tal como o controlador hospedeiro 202, pode iniciar uma comunicação com o dispositivo periférico 208. Esta comunicação começa com um controlador hospedeiro, por exemplo, controlador hospedeiro 202, transmitindo um sinal elétrico (portando informação tal como um ou mais pacotes de dados) através da ligação elétrica A à porta UOC 200. A porta UOC 200 recebe o sinal elétrico a partir da ligação elétrica A em uma unidade de alocação de comprimento de onda 23 8. A unidade de alocação de comprimento de onda aloca um comprimento de onda de sinal ótico que ainda não esteja em uso e liga aquele comprimento de onda ao sinal elétrico recebido a partir do controlador hospedeiro 202. Cada comprimento de onda tem um conversor elétrico/ótico dedicado (210, 212 e 214) assim como um laser de transmissão (Tx) correspondente (216, 218 e 220). Assim, embora a Figura 2 mostre somente três pares de conversores elétrico/ótico e de lasers de Tx correspondentes, em muitas modalidades, a implementação de uma porta UOC incluiria tantos pares de conversores elétrico/ótico e de lasers de Tx correspondentes, quantos comprimentos de onda existentes a alocar. Por exemplo, em um sistema computacional de estação de trabalho com quatro displays, uma conexão de rede, e oito portas USB, pode haver um total de seis comprimentos de onda a alocar (quatro para o display, um para a rede, e um compartilhado pelas oito portas USB) .
Retornando para a Figura 2, uma vez que um comprimento de onda ótico é alocado a um sinal elétrico específico de uma ligação elétrica, a unidade de alocação de comprimento de onda 238 roteia o sinal elétrico ao conversor elétrico/ótico específico que converte a um sinal ótico nesse comprimento de onda. Por exemplo, a unidade de alocação de comprimento de onda pode alocar o comprimento de onda 1 (λΐ) ao sinal elétrico A. Em muitas modalidades, a unidade de alocação de comprimento de onda 238 roteará o tráfego do sinal elétrico A (isto é, os pacotes de dados que estão sendo transportados dentro do sinal elétrico A) para a lógica λΐ. Assim, a unidade de conversor elétrico/ótico 210 converte o sinal em um sinal ótico (isto é, uma onda de luz do comprimento de onda alocado) , que é então transmitido pelo laser de Tx 216 ao multiplexador ótico 222. O multiplexador ótico 222 utiliza a tecnologia de multiplexação por divisão de comprimento de onda para multiplexar, caso necessário, dois ou mais sinais óticos de transmissão. Neste exemplo, somente o sinal convertido oticamente originário do controlador hospedeiro 202 é utilizado, assim nenhuma multiplexação de múltiplos sinais óticos é requerida. Embora, em outras modalidades os sinais elétricos do controlador hospedeiro 204 e/ou do controlador hospedeiro 206 sejam recebidos também. Dessa forma, os sinais adicionais são então convertidos em comprimentos de onda adicionais de sinais óticos (tais como λ2 e λ3) que usam as unidades de conversor elétrico/ótico (212 e/ou 214) e então transmitidos ao multiplexador ótico 222 utilizando unidades de laser de Tx (218 e/ou 220), respectivamente. Nas modalidades onde os múltiplos comprimentos de onda são utilizados, o multiplexador ótico combina os múltiplos comprimentos de onda em um único sinal que é então transmitido através da ligação ótica D ao dispositivo periférico 208. A Figura 2 também descreve o percurso de retorno da comunicação (isto é, um percurso de sinal de comunicação originado no dispositivo periférico 208 com um destino alvo de um ou mais dos controladores hospedeiros (202-206). Esta comunicação começa com o dispositivo periférico 208 que transmite um sinal ótico (portando informação tal como um ou mais pacotes de dados) através da ligação ótica D à porta UOC 200. Este sinal ótico pode ser multiplexado se o dispositivo periférico tem a tecnologia de multiplexação por divisão de comprimento de onda para realizar a multiplexação. A porta UOC 200 recebe o sinal ótico no demultiplexador ótico 224. O demultiplexador ótico 224 separa cada sinal ótico individual a partir do sinal multiplexado. Por exemplo, o dispositivo periférico 208 pode ter enviado dois sinais óticos, um primeiro sinal ótico objetivando o controlador hospedeiro 202 e um segundo sinal ótico objetivando o controlador hospedeiro 204. Cada sinal ótico de um comprimento de onda específico é enviado a uma unidade específica de detector fotorreceptor (Rx) . Neste exemplo, o sinal ótico objetivando o controlador hospedeiro 202 está usando o comprimento de onda λΐ, assim é enviado ao detector fotorreceptor Rx 226. Também, o sinal ótico objetivando o controlador hospedeiro 204 está usando o comprimento de onda λ2, assim é enviado ao detector fotorreceptor Rx 228. As unidades de detector fotorreceptor Rx alimentam a informação de detecção às suas correspondentes unidades de conversor ótico/elétrico. Neste exemplo, as unidades de conversor ótico/elétrico 232 e 234 recebem a informação. Cada unidade de conversor ótico/elétrico converte então o sinal ótico que recebe em um sinal elétrico correspondente. O sinal elétrico convertido é enviado então à unidade de alocação de comprimento de onda 238, que mantém a informação de alocação de comprimento de onda. Assim, a unidade de alocação de comprimento de onda 23 8 está ciente que o sinal elétrico que recebe do conversor ótico/elétrico 232 corresponde ao comprimento de onda λΐ e a unidade pode rotear este sinal elétrico adequadamente ao controlador hospedeiro 202 através da ligação A de sinal elétrico. Adicionalmente, a unidade de alocação de comprimento de onda 238 está ciente que o sinal elétrico que recebe do conversor ótico/elétrico 234 corresponde ao comprimento de onda λ2 e a unidade pode rotear este sinal elétrico adequadamente ao controlador hospedeiro 204 através da ligação B do sinal elétrico.
Em modalidades adicionais, o dispositivo periférico 208 pode emitir um sinal ótico objetivando o controlador hospedeiro 206. Nestas modalidades, uma vez que este sinal ótico é separado dos outros sinais óticos no demultiplexador ótico 224, a unidade de detector fotorreceptor Rx 230 e a unidade de conversor ótico/elétrico 236 são ambas utilizadas para receber o sinal ótico, para converter o sinal ótico em um sinal elétrico, e para transmitir o sinal elétrico à unidade de alocação de comprimento de onda, que roteia então o sinal elétrico adequadamente ao controlador hospedeiro 206 através da ligação elétrica C.
Em muitas modalidades, um protocolo nativo de descoberta de dispositivo é utilizado. Em algumas modalidades, a ligação ótica D pode adicionalmente incluir um ou mais fios elétricos utilizados para detectar a presença de um dispositivo acoplado à ligação ótica. Quando um ou mais fios elétricos estão presentes para ajudar na detecção, eles podem ser separados da ligação ao entrar na porta UOC 200 e roteados ao longo da ligação elétrica 240 a uma unidade de descoberta de dispositivo 242. A unidade de descoberta de dispositivo pode ajudar no processo de descoberta ao descobrir o dispositivo periférico 208 acoplado à ligação D.
Em muitas modalidades, a unidade de alocação de comprimento de onda é capaz de desligar as unidades de transmissão, detecção, e conversão para os comprimentos de onda específicos que não são utilizados. As linhas de controle associadas a esta implementação não são mostradas na Figura 2, embora compreendam simplesmente as linhas de controle a cada unidade associada com um comprimento de onda específico que controla a fonte de energia fornecendo energia à lógica que se encontra dentro das unidades de conversor elétrico/ótico, de conversor ótico/elétrico, de laser de Tx, e de detector fotorreceptor Rx associadas a um comprimento de onda.
Por exemplo, se o controlador hospedeiro 202 estiver se comunicando com o dispositivo periférico 208 através da porta UOC 200 e o único meio de comunicação é um único sinal que está alocado ao comprimento de onda λΐ, a seguir a unidade de alocação de comprimento de onda pode interromper todas as unidades lógicas associadas aos comprimentos de onda λ2 e λ3 (isto é, unidades 212, 214, 218, 220, 228, 230, 234, e 236) .
Em outras modalidades, somente uma parcela destas unidades é interrompida, dependendo da duração da inatividade bem como a duração requerida para ligar uma determinada unidade (isto é, se uma unidade tem uma latência significativa entre ser ligada e quando a unidade está inteiramente funcional, aquela unidade pode continuar ligada, ou permanecer pelo menos ligada por um período de tempo mais longo depois que ela ficou ociosa com nenhuma carga de trabalho).
Em muitas modalidades, se nenhum dispositivo periférico é preso, todas as unidades lógicas dentro da porta UOC 200 que são associadas especificamente a um comprimento de onda determinado são desligadas (isto é, todos os conversores elétrico/ótico, todos os conversores ótico/elétrico, todos os lasers de Tx, e todos os detectores fotorreceptores Rx) . Em outras modalidades, algumas ou todas estas unidades não são inteiramente desligadas, mas preferencialmente são energizadas em um modo reduzido de energia.
Em muitas modalidades onde algumas ou todas as unidades supracitadas são desligadas quando nenhum dispositivo periférico é detectado, a unidade de descoberta de dispositivo 242 permanece inteiramente operacional. A unidade de descoberta de dispositivo 242 inteiramente operacional monitorará a ligação D por atividade de um evento de plugar o dispositivo periférico. Uma vez que a unidade de descoberta de dispositivo 242 identifica esta atividade, ela pode informar à unidade de alocação de comprimento de onda para acordar um ou mais conjuntos de unidades correspondendo a um ou mais comprimentos de onda.
Uma vez que o dispositivo periférico foi descoberto, um processo de enumeração de dispositivo é iniciado. A enumeração de dispositivo pode utilizar lógica dentro da unidade de alocação de comprimento de onda 238, com a unidade de descoberta de dispositivo 242, ou dentro de outra lógica no sistema computacional. A Figura 3 descreve outra modalidade de uma implementação em nível de sistema de uma arquitetura de conector ótico unificado. Em muitas outras modalidades, toda lógica dentro da porta UOC (porta 200 da Figura 2) é removida da porta UOC e disposta em uma unidade ótica de lógica de transceptor 300 acoplada a um ou mais controladores hospedeiros no sistema computacional (por exemplo, controladores hospedeiros 104, 108 e 118) . A unidade ótica de lógica de transceptor 3 00 pode ser localizada em uma posição central na placa-mãe 138 ou adjacente a um ou mais controladores hospedeiros na placa-mãe 13 8 do sistema computacional. Em muitas modalidades, a unidade ótica de lógica de transceptor é acoplada aos controladores hospedeiros 104, 108 e 118 através das ligações elétricas 126, 128 e 130, respectivamente.
Nestas modalidades, todo o trabalho realizado pela lógica dentro da porta UOC discutida acima em referência à Figura 2 é realizado preferivelmente muito mais perto dos controladores hospedeiros em questão e uma ligação ótica é roteada na placa-mãe da unidade ótica de lógica de transceptor 300 para as portas UOC. Estas ligações óticas (ligações 302, 304 e 306) acoplam a unidade ótica de lógica de transceptor 300 às portas UOC 120, 122 e 124, respectivamente.
Nestas modalidades, as portas reais de UOC não têm nenhuma lógica dentro delas e atuam somente como um conector físico da ligação ótica interna (ligações óticas 302, 304 e 306) distribuído na placa-mãe para a ligação ótica externa plugada na porta (ligações óticas 132, 134, e 136).
Em algumas modalidades, a unidade ótica de lógica de transceptor 300 inclui a transmissão, a recepção, e a lógica de conversão para cada controlador hospedeiro. Em outras modalidades (não mostradas) , pode haver uma unidade ótica de lógica de transceptor por controlador hospedeiro (junto a cada controlador hospedeiro) . Em ainda outras modalidades (não mostradas) , pode haver uma unidade lógica com a transmissão, a recepção, e a lógica de conversão integrada em cada controlador hospedeiro. A Figura 4 descreve uma modalidade do conector de slot de arquitetura de conector ótico unificado para placas gráficas e de rede de área local (LAN) discretas. Para ilustrar as modificações às placas gráficas e de LAN discretas atuais, a Figura 4 mostra uma versão atual de cada placa lado-a-lado com uma versão da arquitetura de conector ótico unificado (UOCA) de cada placa. Os exemplos mostrados na Figura 4 utilizam PCI Express®, embora qualquer outro protocolo relevante possa ser usado.
Uma versão atual de uma placa gráfica discreta PCI Express® 400 é mostrada. A placa gráfica 400 inclui os pinos conectores de slot 402, como mostrado. Adicionalmente, a placa gráfica 400 tem um conector periférico de display externo 404. Em cenários atuais de placa gráfica discreta PCI Express®, os dados a partir da CPU e da memória de sistema são enviados à placa gráfica 400 através da ligação PCI Express® que está acoplada fisicamente aos pinos conectores de slot 402 quando a placa gráfica 400 for plugada no slot da placa gráfica PCI Express® na placa-mãe do sistema computacional. A placa gráfica 400 opera então sobre estes dados recebidos e envia-os a um periférico de display plugado no conector periférico de display externo 404.
Partindo agora para a placa gráfica discreta com a UOCA 406, na modalidade mostrada na Figura 4, uma placa gráfica capaz de UOCA 406 inclui os pinos conectores de slot 408, similar à placa gráfica 400 da versão atual. Embora, em vez de ter um conector periférico de display externo, a placa gráfica discreta com UOCA 406 tem os pinos conectores de slot extras 410. Uma vez que a placa gráfica discreta com UOCA 406 tem dados recebidos a partir da ligação PCI Express® (a partir dos pinos conectores de slot 408) e tem operado nos dados recebidos, a placa gráfica capaz de UOCA 406 envia os dados a um periférico de display plugado em uma porta UOC na placa-mãe. Especificamente, os dados são enviados através de pistas de ligação PCI Express® adicionais que são roteadas do conector de slot à porta UOC no sistema computacional (isto é mostrado como a ligação 126 na Figura 1) . Estas pistas de ligação adicionais são acopladas fisicamente aos pinos conectores de slot extras 410.
Em seguida, a Figura 4 mostra uma versão atual da placa LAN discreta PCI Express® 412 (que tem um NIC integrado na placa). A placa LAN 412 inclui os pinos conectores de slot 414, como mostrado. Adicionalmente, a placa LAN 412 tem um conector de LAN/Ethernet externo 416. Em cenários atuais de placa LAN PCI Express® discreta, os dados a partir da CPU e da memória de sistema são enviados à placa LAN 412 através da ligação PCI Express® que está acoplada fisicamente aos pinos conectores de slot 414 quando a placa LAN 412 for plugada em um slot da placa LAN PCI Express® na placa-mãe do sistema computacional. A placa LAN 412 empacota então estes dados recebidos e envia-os através da rede que o conector de LAN/Ethernet 416 está plugado.
Finalmente, partindo agora para a placa LAN discreta com a UOCA 418, na modalidade mostrada na Figura 4, uma placa LAN capaz de UOCA 418 inclui os pinos conectores de slot 420, similar à placa LAN 412 da versão atual. Embora, em vez de ter um conector de LAN/Ethernet externo, a placa discreta LAN com UOCA 418 tem pinos conectores de slot extras 410. Uma vez que a placa discreta LAN com UOCA 412 recebeu dados a partir da ligação PCI Express® (a partir dos pinos conectores de slot 420) e empacotou os dados recebidos, a placa LAN capaz de UOCA 418 envia os dados a um cabo Ethernet plugado em uma porta UOC na placa-mãe. Especificamente, os dados enviados através das pistas de ligação PCI Express® adicionais são roteados do conector de slot à porta UOC no sistema (isto é mostrado como a ligação 13 0 na Figura 1) . Estas pistas adicionais de ligação são acopladas fisicamente aos pinos conectores de slot extras 422. A Figura 5 descreve uma modalidade de arquitetura de conector ótico unificado estendida em um dispositivo periférico. Em muitas modalidades, o sistema computacional 500 que emprega a arquitetura de conector ótico unificado inclui todos os componentes específicos descritos nas Figuras 1 a 4. Especificamente, pelo menos uma porta UOC está presente e é acoplada a um ou mais controladores hospedeiros (que incluem potencialmente controladores hospedeiros de I/O, controladores de display, controladores de rede, etc) . Os exemplos mostram três portas UOC (502, 504 e 506) embora em muitos sistemas/plataformas de computador, 4, 6, 8 ou mais portas UOC existirão na plataforma.
Em muitas modalidades, um dispositivo periférico 508 é acoplado ao sistema computacional 500 através de um cabo ótico 510 plugado na porta de conector universal 504. No lado do dispositivo periférico 508, o cabo ótico 510 é plugado na porta de conector universal 512, que pode ter um fator de forma idêntico à porta de conector universal 504. A porta UOC 512 no dispositivo periférico 508 inclui um ou mais conjuntos de unidades de lógica de transmissão, de recepção, e de conversão como descritas na Figura 2 (isto é, um conjunto inclui um conversor elétrico/ótico, um conversor ótico/elétrico, um laser de Tx, e um detector fotorreceptor Rx).
Em muitas modalidades, cada porta (tanto no dispositivo periférico como no sistema computacional) inclui um complemento total de conjuntos da lógica supracitada para múltiplos comprimentos de onda. Por exemplo, pode haver um número padrão estabelecido de comprimentos de onda que cada porta pode utilizar, assim cada porta teria a lógica associada ao envio e recepção de sinais óticos em alguns dos comprimentos de onda padrão. Nas modalidades em que cada porta pode utilizar um conjunto padrão de comprimentos de onda, o dispositivo pode ser plugado no sistema computacional, a unidade de descoberta de dispositivo (242 na Figura 2) pode descobrir o dispositivo, e então a unidade de alocação de comprimento de onda (23 8 na Figura 2) pode enviar um sinal ótico de saudação (handshake) no comprimento de onda alocado, que o dispositivo periférico 508 recebe e então inicia transmissões adicionais no comprimento de onda recebido. Dessa forma, em muitas modalidades, a porta UOC no dispositivo periférico é adaptável ao comprimento de onda alocado a ele.
Em muitas outras modalidades, a um tipo específico de dispositivo periférico (tal como um dispositivo USB) é pré-alocado um comprimento de onda padrão (ou subconjunto de comprimentos de onda padrão) que é usado para todos os dispositivos USB. Nestas modalidades, a porta UOC de dispositivo periférico tem somente a lógica associada aos comprimentos de onda que sua classe de dispositivo foi alocada como um padrão. No exemplo da Figura 2, ao dispositivo periférico 508 são alocados dois comprimentos de onda, que ele usa para se comunicar com os dois controladores hospedeiros localizados no sistema computacional 500. Estes dois comprimentos de onda são transmitidos e recebidos através da ligação ótica 510 pela porta UOC 512 no dispositivo periférico 508. Como mencionado, a porta UOC 512 no dispositivo periférico 508 inclui todos os dispositivos de lógica associados aos comprimentos de onda alocados, eles são estabelecidos na mesma configuração que é mostrada na porta UOC discutida em detalhes na Figura 2. Adicionalmente, a porta UOC 512 no dispositivo periférico 508 também inclui um multiplexador e um demultiplexador ótico (o mesmo como mostrado na porta UOC na Figura 2).
Assim, durante a operação, a porta UOC 512 no dispositivo periférico 508 recebe um sinal ótico multiplexado a partir do sistema computacional 500 através da ligação ótica 510. A seguir, a lógica dentro da porta UOC 512 demultiplexa o sinal ótico, converte cada um dos sinais óticos resultantes separados em suas contrapartes elétricas, e transmite os sinais elétricos à lógica interna 514 dentro do dispositivo periférico. A lógica interna também pode enviar um ou mais sinais elétricos à porta UOC 512. Os sinais elétricos enviados à porta UOC 512 são então convertidos em sinais óticos. Se há múltiplos sinais óticos, a seguir eles são combinados no multiplexador. O sinal ótico multiplexado é então transmitido através da porta UOC 504 da ligação ótica 510 no sistema computacional 500. A Figura 6 é um fluxograma de uma modalidade de um processo para rotear pacotes de dados em um ambiente de arquitetura de conector ótico unificado. O processo pode ser realizado por hardware, por software, ou por uma combinação de ambos. Seguindo agora para a Figura 6, o processo começa pela lógica de processamento que determina se um dispositivo periférico foi plugado em uma porta de conector ótico unificado (bloco de processamento 600). "Plugar" se refere ao dispositivo periférico sendo acoplado ou conectado à porta de conector ótico unificado. Em modalidades diferentes, o "plugar" pode ocorrer a qualquer momento, tal como antes da inicialização ou durante a operação total do sistema quando o plugue novo é permitido. A seguir, se nenhum dispositivo periférico foi plugado o bloco de processamento 600 repete (isto é, a porta de conector ótico unificado é designada - continuamente ou uma designação pode ocorrer uma vez a cada período de tempo ajustado).
Em seguida, uma vez que a lógica de processamento detectou que o dispositivo foi plugado, a lógica de processamento enumera o dispositivo periférico (bloco de processamento 602). Então a lógica de processamento aloca um ou mais comprimentos de onda óticos para o dispositivo periférico (bloco de processamento 604) .
Após a alocação, a lógica de processamento determina se um sinal foi recebido (bloco de processamento 606) . Se um sinal não foi recebido, a lógica de processamento determina se houve uma mudança/modificação no dispositivo periférico (bloco de processamento 608) . Por exemplo, um primeiro dispositivo periférico foi desplugado e um segundo dispositivo periférico foi plugado na mesma porta de conector ótico unificado. Se não há nenhuma mudança no status do dispositivo periférico, a lógica de processamento retorna ao bloco de processamento 606 e outra vez verifica se um sinal (contendo dados/pacotes de dados) foi recebido. Caso contrário, se uma mudança foi detectada com o dispositivo periférico, a lógica de processamento retorna ao bloco de processamento 600 para verificar novamente se um dispositivo periférico é plugado na porta de conector ótico unificado.
Retornando ao bloco de processamento 606, se um sinal foi recebido, a lógica de processamento determina se o sinal foi recebido a partir do dispositivo periférico ou do controlador hospedeiro (bloco de processamento 610) . Se o sinal foi recebido a partir do dispositivo periférico, o sinal é um sinal ótico de um determinado comprimento de onda. A lógica de processamento prossegue para demultiplexar o sinal ótico (bloco de processamento 612) se necessário (isto é, se existirem múltiplos sinais óticos multiplexados em um sinal ótico combinado. A seguir, a lógica de processamento converte o sinal ou sinais óticos (dependendo em se o sinal original foi multiplexado) em um sinal elétrico correspondente por sinal ótico (bloco de processamento 614) . A seguir, a lógica de processamento transmite cada sinal elétrico convertido a seu respectivo controlador hospedeiro (bloco de processamento 616). Finalmente, a lógica de processamento retorna ao bloco de processamento 606 para verificar se outro sinal (contendo dados/pacotes de dados adicionais) foi recebido.
Retornando ao bloco de processamento 610, se o sinal foi recebido a partir do controlador hospedeiro então o sinal é um sinal elétrico. Dessa forma, a lógica de processamento prossegue para converter o sinal elétrico a um sinal ótico (bloco de processamento 618) . A seguir, a lógica de processamento, se necessário, multiplexa o sinal ótico convertido com um ou mais outros sinais óticos convertidos (bloco de processamento 620) . Em seguida, a lógica de processamento transmite o sinal ótico (ou uma versão multiplexada ou um único sinal se nenhum sinal ótico adicional está sendo enviado) para o dispositivo periférico (bloco de processamento 622). Finalmente, a lógica de processamento retorna ao bloco de processamento 606 para verificar se outro sinal (contendo dados/pacotes de dados adicionais) foi recebido.
Assim, são descritas as modalidades de um sistema, de um dispositivo, e de um método para implementar uma arquitetura de conector ótico unificado em uma plataforma de computador. Estas modalidades foram descritas em referência às modalidades exemplares específicas dos mesmos. Será evidente às pessoas que têm o benefício desta descrição que as várias modificações e mudanças podem ser realizadas a estas modalidades sem se afastar do espírito e do escopo mais amplo das modalidades descritas neste relatório. O relatório descritivo e os desenhos são, consequentemente, para serem considerados em um sentido ilustrativo em vez de restritivo.
REIVINDICAÇÕES