ES2265971T3 - Conmutador y componentes de red y metodo de funcionamiento. - Google Patents
Conmutador y componentes de red y metodo de funcionamiento. Download PDFInfo
- Publication number
- ES2265971T3 ES2265971T3 ES00959158T ES00959158T ES2265971T3 ES 2265971 T3 ES2265971 T3 ES 2265971T3 ES 00959158 T ES00959158 T ES 00959158T ES 00959158 T ES00959158 T ES 00959158T ES 2265971 T3 ES2265971 T3 ES 2265971T3
- Authority
- ES
- Spain
- Prior art keywords
- data
- interface
- memory
- processors
- guided
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3036—Shared queuing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/15—Interconnection of switching modules
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/20—Support for services
- H04L49/205—Quality of Service based
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3009—Header conversion, routing tables or routing tags
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/35—Switches specially adapted for specific applications
- H04L49/351—Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Oscillators With Electromechanical Resonators (AREA)
- Multi Processors (AREA)
Abstract
Aparato que comprende: un procesador del punto de control; un dispositivo de interfaz conectado operativamente a dicho procesador del punto de control por un camino de control y que proporciona un camino de datos de alta velocidad, teniendo dicho dispositivo de interfaz un substrato (10) de semiconductores; una pluralidad de procesadores (12) del interfaz formados sobre dicho substrato, siendo el número de dichos procesadores al menos cinco; una memoria interna de instrucciones formada sobre dicho substrato y que almacena instrucciones de manera accesible para dichos procesadores del interfaz; una memoria interna de datos formada sobre dicho substrato y que almacena datos que pasan a través de dicho dispositivo, de manera accesible para dichos procesadores del interfaz; y una pluralidad de puertos de entrada/salida formados sobre dicho substrato; conectando al menos uno de dichos puertos de entrada/salida a dicha memoria interna de datos con la memoria externa de datos; intercambiando, al menos otros dos de dichos puertos de entrada/salida, datos que pasan a través del dispositivo de interfaz, con una red externa a la velocidad del medio bajo la dirección de dichos procesadores del interfaz; cooperando dicho procesador del punto de control con dicho dispositivo de interfaz, cargando en el interior de dicha memoria de instrucciones las instrucciones que han de ser ejecutadas por dichos procesadores del interfaz al dirigir el intercambio de datos entre dichos puertos de entrada/salida de intercambio de datos y el flujo de datos a través de dicha memoria de datos.
Description
Conmutador y componentes de red y método de
funcionamiento
Esta invención está relacionada con un aparato
para una red de comunicaciones, tal como se usa para enlazar
conjuntamente sistemas de gestión de información u ordenadores de
diversos tipos y capacidades, y con componentes de tal aparato. En
particular, esta invención está relacionada con aparatos de
conmutación escalables y con componentes útiles para montar tal
aparato. Esta invención está relacionada con un dispositivo de
interfaz mejorado y multifuncional y con la combinación de ese
dispositivo con otros elementos para proporcionar un conmutador de
una red con la velocidad de un determinado medio. La invención está
relacionada también con métodos para hacer funcionar tal aparato que
mejoran la capacidad de manejo del flujo de datos de los
conmutadores de una red.
La descripción siguiente presupone el
conocimiento de las comunicaciones de datos por una red y de los
conmutadores y enrutadores que se utilizan en tales redes de
comunicaciones. En particular, la descripción presupone una
familiaridad con el modelo ISO de arquitectura de red, que divide el
funcionamiento de red en capas. Una arquitectura típica basada en
el modelo ISO se extiende desde la Capa 1 (identificada también
algunas veces como "L1"), que es el camino físico del medio a
través del cual se hacen pasar las señales hacia arriba en las Capas
2, 3, 4 y así sucesivamente hasta la Capa 7, siendo está
últimamente mencionada la capa de programación de aplicaciones
ejecutándose en un sistema de ordenador enlazado con la red. En este
documento, la mención a L1, L2 y así sucesivamente pretende
referirse a la capa correspondiente de una arquitectura de red. La
divulgación presupone también una comprensión fundamental de las
cadenas de bits conocidas como paquetes y tramas en tal comunicación
por red. En el mundo de redes de hoy día, la anchura de banda es un
recurso crítico. El aumento del tráfico en la red, debido a
Internet y a otras aplicaciones emergentes, está esforzando la
capacidad de las infraestructuras de red. Para mantener el ritmo,
diversas entidades están buscando mejores tecnologías y metodologías
para soportar y gestionar el crecimiento del tráfico y la
convergencia de voz y datos.
El drástico crecimiento de hoy día en el tráfico
de la red puede ser atribuido a la popularidad de Internet, una
necesidad creciente de acceso remoto a la información, y a
aplicaciones emergentes. Solamente Internet, con su explosivo
crecimiento en comercio electrónico, ha colocado algunas veces una
carga insoportable en infraestructuras centrales de las redes. Es
también la causa singular más importante de los crecientes volúmenes
de tráfico de datos, que exceden del tráfico de voz por primera
vez. Las crecientes demandas de aplicaciones de acceso remoto,
incluyendo correo electrónico, acceso a bases de datos y
transferencia de ficheros, están forzando las redes aún más.
La convergencia de voz y datos jugará un gran
papel en la definición del entorno de redes del mañana. Actualmente,
la transmisión de datos sobre redes del protocolo de Internet (IP)
es gratis. Debido a que las comunicaciones por voz seguirán de
manera natural el camino del coste más bajo, la voz convergerá
inevitablemente con los datos. Las tecnologías tales como Voz sobre
IP (VoIP), Voz sobre ATM (VoATM), y Voz sobre Frame Relay
(conmutación de tramas o VoFR), son alternativas rentables en este
mercado cambiante. Sin embargo, para hacer posible la migración a
estas tecnologías, la industria tiene que asegurar la calidad del
servicio (QoS) para la voz, y determinar cómo facturar la
transferencia de voz sobre líneas de datos. El Acta de Desregulación
de las Telecomunicaciones de 1996, complica aún más este entorno.
Esta legislación reforzará una relación simbólica entre el
protocolo de voz elegido, ATM, y el protocolo de datos elegido,
IP.
También es un problema crucial la integración de
sistemas obsoletos en funcionamiento para las diversas entidades, a
medida que se hacen disponibles nuevos productos y capacidades. Para
preservar sus inversiones en equipos y software existentes, las
diversas entidades demandan soluciones que permitan migrar a nuevas
tecnologías, sin perturbar su funcionamiento actual.
La eliminación de cuellos de botella en la red
continúa siendo una alta prioridad en los proveedores de servicios.
Los enrutadores son a menudo la fuente de estos cuellos de botella.
Sin embargo, la congestión en la red en general es diagnosticada
erróneamente a menudo como un problema de anchura de banda y es
abordado mediante la búsqueda de soluciones de mayor anchura de
banda. Hoy día, los fabricantes reconocen esta dificultad. Retornan
hacia las tecnologías de procesadores de red para gestionar los
recursos de anchura de banda más eficazmente y para proporcionar
los servicios avanzados de datos, a velocidad de cable, que se
encuentran normalmente en enrutadores y servidores de aplicaciones
de red. Estos servicios incluyen el equilibrado de cargas, la QoS,
las puertas de entrada y salida, los cortafuegos, la seguridad y las
memorias caché del entramado de redes.
Para aplicaciones de acceso remoto, el
rendimiento, la anchura de banda bajo demanda, la seguridad, y el
rango de autenticación, son de alta prioridad. La demanda de
integración de QoS y CoS, gestión de voz integrada, y soluciones de
seguridad más sofisticadas, conformarán también los diseños de
conmutadores de redes de acceso remoto. Además, el acceso remoto
tendrá que acomodar un creciente número de medios físicos, tales
como RDSI, T1, E1, OC-3 hasta
OC-48, cable, y módems xDSL.
\newpage
Los consultores en la industria han definido un
procesador de red (denominado también de aquí en adelante como
"NP"), como un circuito integrado programable de
comunicaciones, capaz de realizar una o más de las funciones
siguientes:
- Clasificación de paquetes - identificación de un paquete basándose en características conocidas, tales como la dirección o el protocolo.
- Modificación de paquetes - modificación del paquete para que sea conforme con IP, ATM u otros protocolos (por ejemplo, actualización del campo de tiempo-de-vida en la cabecera para IP).
- Gestión de colas/políticas - refleja la estrategia de diseño para las colas de paquetes, para deshacer las colas y para la programación de paquetes para aplicaciones específicas.
- Reenvío de paquetes - transmisión y recepción de datos por la matriz del conmutador y reenvío o encaminamiento del paquete a su destino apropiado.
Aunque esta definición es una descripción
precisa de las características básicas de los NP antiguos, no se
han realizado todavía todas las capacidades y beneficios potenciales
de los NP. Los procesadores de red pueden aumentar la anchura de
banda y resolver problemas de latencia en una amplia gama de
aplicaciones, permitiendo que tareas de red previamente gestionadas
por software, se ejecuten en hardware. Además, los NP pueden
proporcionar mejoras de la velocidad por medio de arquitecturas
tales como el proceso distribuido en paralelo y los diseños de
proceso en los trayectos de los datos. Estas capacidades pueden
permitir que los motores de búsqueda sean más eficientes, un
aumento del rendimiento y proporcionar una ejecución rápida de
tareas complejas.
Se espera que los procesos de red se conviertan
en el bloque constructivo fundamental para las redes, de la misma
manera que las CPU son para los PC. Las capacidades típicas
ofrecidas por un NP son el proceso en tiempo real, la seguridad, el
almacenamiento y reenvío, la matriz del conmutador y las capacidades
de gestión y aprendizaje de paquetes IP. Los NP apuntan a las capas
dos a cinco de ISO y están diseñados para optimizar las tareas
específicas de la red.
El NP del modelo de procesador incorpora
múltiples procesadores de propósito general y lógica especializada.
Los proveedores están volviendo a este diseño para proporcionar
soluciones escalables y flexibles que puedan acomodar el cambio de
una manera oportuna y rentable. Un NP del modelo de procesador
permite el proceso distribuido a menores niveles de integración,
proporcionando un rendimiento, una flexibilidad y un control
mayores. La capacidad de ser programable puede permitir una
migración fácil a nuevos productos y tecnologías, sin requerir
nuevos diseños de ASIC. Con los NP del modelo de procesador, los NEV
se benefician de unos costes reducidos de la ingeniería a fondo
perdido y de un tiempo de comercialización mejorado.
Una finalidad de esta invención es proporcionar
una arquitectura escalable de los conmutadores, para ser utilizada
en la red de comunicación de datos, que sea capaz de dimensionar las
capacidades de soporte de una gama de demandas potenciales, al
tiempo que mejore la velocidad de la gestión de los datos que se
están transfiriendo. Esta finalidad se intenta conseguir
proporcionando componentes, y montajes de componentes, que eliminen
de la carga de trabajo de las unidades de proceso implicadas, una
mayor cantidad de gestión de datos de lo que ha sido el caso hasta
ahora.
Otra finalidad es proporcionar un dispositivo de
interfaz o procesador de red (los términos pueden utilizarse de
manera intercambiable), que incluya una pluralidad de subconjuntos
integrados en un solo substrato, y que cooperen para proporcionar
la conmutación de tramas a la velocidad del medio incluyendo la capa
2, la capa 3, la capa 4 y la capa 5. El dispositivo de interfaz
puede ser utilizado como una solución autónoma que proporciona un
primer nivel de capacidad a un conmutador de un grupo de trabajo,
una solución interconectada que proporciona un conmutador de un
grupo de trabajo con un mayor nivel de capacidad, o una capacidad
escalada hacia arriba aún más mediante la cooperación con un
dispositivo de la matriz de conmutación.
Algunas de las finalidades de la invención ya
han sido establecidas, otras aparecerán a medida que progresa la
descripción, cuando se considera conjuntamente con los dibujos que
se acompañan, en los cuales:
La figura 1 muestra un diagrama de bloques de un
dispositivo de interfaz de acuerdo con esta invención.
La figura 1A muestra un diagrama de bloques para
el MAC.
Las figuras 2A a 2D muestran el dispositivo de
interfaz interconectado con otros componentes en distintas
configuraciones del sistema.
La figura 3 muestra el flujo y el proceso de una
trama encapsulada guiada.
La figura 4 muestra el flujo y el proceso de una
trama interna guiada.
La figura 5 muestra el formato generalizado de
una Célula Guiada.
La figura 6 muestra el formato de la Información
de Control de la Trama.
La figura 7 muestra el formato del Dispositivo
de Correlación.
La figura 8 muestra el Formato de Información de
Control de Órdenes.
La figura 9 muestra el Formato de Información de
Direccionamiento.
La figura 10 muestra una Forma General de
Direccionamiento de Estructuras.
La figura 11 muestra un diagrama para
Direccionamiento y Codificación de Islas.
La figura 12A muestra un diagrama de bloques del
Complejo de Procesadores Incorporados.
La figura 12B muestra un esquema de los
Procesadores Incorporados.
La figura 12C muestra una estructura de un
Procesador GxH.
La figura 13 muestra un diagrama de bloques del
complejo de memorias.
La figura 14 muestra un diagrama de flujo del
algoritmo de búsqueda de Coincidencia Fija (FM).
La figura 15 muestra flujos que ilustran una
Estructura de Datos sin utilizar una Tabla Directa y utilizando una
Tabla Directa.
La figura 16 muestra un diagrama de bloques de
un sistema de conmutación tal como el Prizma.
La figura 17 muestra un diagrama de bloques de
un CP.
La figura 18 muestra un diagrama de bloques del
Procesador de Red de un solo chip, destacando la función en el
EDS-UP, EDS DOWN y EPC.
Aunque la presente invención será descrita con
más detalles a continuación, haciendo referencia a los dibujos que
se acompañan, en los cuales se ilustran modos de realización
preferidos de la presente invención, debe entenderse al comenzar la
descripción siguiente que las personas expertas en las técnicas
apropiadas puede modificar las invenciones descritas en esta
memoria, haciendo que sigan consiguiendo al mismo tiempo los
favorables resultados de las invenciones. Consecuentemente, la
descripción que sigue debe entenderse como una divulgación amplia y
didáctica dirigida a personas expertas en las técnicas apropiadas, y
no como limitadora de las presentes invenciones.
El aparato aquí divulgado es escalable y capaz
de funcionar con elementos de sobremesa interconectados o
conmutadores de un grupo de trabajo, agregar tales conmutadores a
una estructura central de una red, y proporcionar servicios de
conmutación de las estructuras centrales. El aparato puede dar
soporte al reenvío por hardware en la Capa 2, la Capa 3 y la Capa
4+. Ciertas formas del aparato están diseñadas para la agregación de
elementos de sobremesa o de conmutadores de un grupo de trabajo,
mientras que otras tienen como objetivo las estructuras centrales
básicas de conmutación.
La arquitectura utilizada para el aparato está
basada en un dispositivo de interfaz o subsistema de hardware del
procesador de red, y una biblioteca de software que se ejecuta en un
punto de control, todo ello según se describe con más detalle en
otro lugar de este documento. El dispositivo de interfaz, o
subsistema del procesador de red, es un motor de reenvío de tramas
de alto rendimiento, diseñado para análisis y traducción de
cabeceras de protocolo de L2, L3 y L4+. Esto permite que los
protocolos se conmuten a velocidades mayores, utilizando hardware.
El dispositivo de interfaz o subsistema del procesador de red
proporciona un camino rápido a través de la caja mientras que la
biblioteca de software y el procesador del punto de control
proporcionan las funciones de gestión de descubrimiento de rutas
necesarias para mantener un camino rápido. El procesador del punto
de control y la biblioteca de software que se ejecuta en él, definen
conjuntamente el Punto de Control (CP) del sistema. El CP es el
lugar en el que se ejecutan los protocolos reales de puentes y
encaminamiento, tal como el Transparent Bridging (Formación
Transparente de Puentes) y OSPF. También puede ser denominado como
el camino lento del sistema.
Aunque el aparato aquí divulgado soporta el
reenvío multicapa en hardware, también puede funcionar como un
conmutador de L2 solamente, y ese es su modo de funcionamiento por
defecto en la forma más sencilla divulgada. Cada puerto será
colocado en un solo dominio, permitiendo que cualquier dispositivo
se comunique con cualquier otro dispositivo. El aparato es
configurable en L2, permitiendo a los administradores del sistema
tener la capacidad de configurar características tales como:
agrupamiento de puertos en dominios o enlaces troncales
independientes, configuración de segmentos de LAN virtuales (VLAN),
o filtros para el control de la difusión y multidifusión del
tráfico.
Este aparato escalable tiene muchos beneficios.
En primer lugar permite al administrador del sistema la capacidad
de configurar en L3 el reenvío y encaminamiento de tráfico IP e IPX,
utilizando el mismo hardware que se utiliza para L2 y a la misma
velocidad. En segundo lugar, elimina la necesidad de utilizar
enrutadores externos para interconectar edificios de un campus al
mismo tiempo que aumenta el rendimiento. En tercer lugar, simplifica
o combina la gestión del servicio L2/L3 para un edificio en un solo
punto de control. Finalmente, proporciona características de valor
añadido con funciones de L4+ que permiten a los administradores del
sistema tener la capacidad de asignar distintas clasificaciones de
tráfico para dar soporte a aplicaciones con una misión crítica y al
distribuidor de la red para el equilibrio de carga entre los
servidores.
El aparato está diseñado de manera que forma una
unidad modular utilizando un dispositivo de interfaz o un
procesador de red, un Punto de Control (CP), y un dispositivo
opcional de la matriz de conmutación como su bloque constructivo
fundamental. El dispositivo de interfaz proporciona preferiblemente
servicios de reenvío por un camino rápido de L2/L3/L4+, mientras
que el CP proporciona la gestión y funciones de descubrimiento de
rutas necesarias para mantener el camino rápido. El dispositivo
opcional de la matriz de conmutación se utiliza cuando se unen
conjuntamente más de dos subsistemas de dispositivo de interfaz. El
dispositivo opcional de la matriz de conmutación puede ser como el
divulgado en la patente de Estados Unidos 5.008.878, publicada el
16 de Abril de 1991, para un Aparato Modular de Conmutación de Alta
Velocidad, para el Tráfico de Conmutación de Circuitos y de
Paquetes.
Se puede anticipar el montaje del aparato
utilizando elementos de placas de circuito impreso, que también se
denominan en esta memoria como "láminas". Los elementos de
placa de circuito impreso tienen elementos del circuito montados en
ellos y son recibidos en conectores provistos en alojamientos del
aparato. Dispositivos similares son conocidos también como
"tarjetas opcionales". El aparato contempla que las láminas
puedan ser intercambiadas entre diversos chasis o alojamientos,
siempre que se disponga de los conectores y conexiones eléctricas
de la placa madre apropiados. El componente básico encontrado en
todas las láminas es un subsistema portador. Empezando con un
subsistema portador, se pueden fabricar tres tipos de láminas. El
primer tipo es una Lámina de solamente un CP, que consiste en un
subsistema portador y un subsistema de CP. El uso principal de una
lámina de solamente un CP es para un producto en el que la
redundancia es la preocupación principal. El segundo tipo es una
Lámina de CP + Medios, que consiste en un subsistema portador, un
subsistema de CP, y 1 a 3 subsistemas de medios. El principal uso
de una lámina de CP + Medios es un producto en el que se estima más
importante la densidad de puertos que la redundancia. El tercer tipo
es la Lámina de Medios, que consiste en un subsistema portador y 1
a 4 subsistemas de medios. Las láminas de medios pueden ser
utilizadas en cualquier chasis y el tipo de subsistema de medios
utilizado es configurable.
La gestión de láminas implicará la detección de
averías, la gestión de alimentación, la detección de nuevos
dispositivos, la inicialización y la configuración. Esta gestión
será efectuada utilizando varios registradores, señales de E/S, y
un interfaz de célula guiada que se utiliza para comunicarse entre
el CP y los subsistemas portadores. Sin embargo, a diferencia del
chasis, existen dispositivos programables y memorias en todas las
láminas. La dimensión de la capacidad de programación depende del
tipo de lámina. Cuando hay un subsistema de CP en una lámina, tanto
el CP como los subsistemas portadores son programables. Los
subsistemas de medios son también programables, pero solamente de
manera indirecta a través del subsistema portador.
En productos de mayor capacidad, también existe
una Lámina del Conmutador, que contiene el subsistema de
dispositivos de la matriz de conmutación. La gestión de esta lámina
implicará la detección de averías, la gestión de alimentación, la
detección de nuevos dispositivos y la inicialización. Esta gestión
será hecha utilizando varios registradores y señales de E/S que
serán objeto de un mapa de correspondencia con el subsistema de
CP.
En su forma más simple, un aparato de
conmutación contemplado por esta invención tiene un procesador del
punto de control, y un dispositivo de interfaz operativamente
conectado al procesador del punto de control. Preferiblemente, y
como se divulga en esta memoria, el dispositivo de interfaz (también
conocido como procesador de red) es un dispositivo de circuito
unitario integrado a muy gran escala (VLSI) o un chip que tiene un
substrato de semiconductores; una pluralidad de procesadores de
interfaz formada sobre el substrato; una memoria interna de
instrucciones formada sobre dicho substrato y que almacena
instrucciones accesiblemente a los procesadores del interfaz, una
memoria interna de datos formada sobre el substrato y que almacena
datos que pasan a través del dispositivo accesiblemente hacia los
procesadores del interfaz; y una pluralidad de puertos de
entrada/salida. Los procesadores de interfaz son identificados
algunas veces en esta memoria como pico procesadores o unidades de
proceso. Los puertos proporcionados incluyen al menos uno que
conecta la memoria interna de datos con la memoria externa de
datos, y al menos otros dos puertos que intercambian datos que pasan
a través del dispositivo de interfaz con una red externa, bajo la
dirección de los procesadores del interfaz. El punto de control
coopera con el dispositivo de interfaz cargando en la memoria de
instrucciones las instrucciones a ejecutar por los procesadores del
interfaz, dirigiendo el intercambio de datos entre los puertos de
entrada/salida de intercambio de datos y el flujo de datos a través
de la memoria de datos.
El procesador de red aquí divulgado se considera
inventivo independientemente de los conjuntos del conmutador en los
que está incorporado. Además, el procesador de red aquí divulgado se
considera que tiene dentro de sus elementos aquí descritos otras
invenciones adicionales, que no son estudiadas aquí
completamente.
La figura 1 muestra un diagrama de bloques del
chip del dispositivo de interfaz, que incluye un substrato 10 y una
pluralidad de subconjuntos integrados en el substrato. Los
subconjuntos están organizados en una configuración del lado
superior y una configuración del lado inferior. Según se utiliza
aquí, el "lado superior" se refiere a flujos de datos hacia
dentro desde una red hasta el aparato aquí divulgado, mientras que
"lado inferior" se refiere a datos que salen desde el aparato
a una red servida por el aparato. El flujo de datos sigue las
respectivas configuraciones. Como consecuencia, existe un flujo de
datos del lado superior y un flujo de datos del lado inferior. Los
subconjuntos en el lado superior incluyen una lógica 16 de Poner en
cola - Quitar de la cola - Programar UP (EDS-UP),
MAC's-UP multiplexada (PPM-UP) 14,
Desplazador de datos del conmutador - UP (SDM-UP)
18, interfaz del sistema (SIF) 20. Enlace Serie de Ajuste de Datos A
(DASLA) 22, y Enlace Serie de Ajuste de Datos B (DASLB) 24. Un
enlace serie de ajuste de datos se describe con más detalle en la
solicitud de patente de Estados Unidos, pendiente de concesión, con
el número de serie 09/330,968, solicitada el 11 de Junio de 1999 y
titulada "Enlace Paralelo/Serie de Alta Velocidad para
Comunicaciones de Datos". Aunque la forma preferida del aparato
de esta invención aquí divulgada utiliza un enlace DASL, la
presente invención contempla que puedan emplearse otras formas de
enlaces para conseguir tasas de flujo de datos relativamente altas,
particularmente cuando los flujos de datos están restringidos a
estar dentro de la estructura VLSI.
Los subconjuntos en el lado inferior incluyen
DASL-A 26, DASL-B 28, SIF 30,
SDM-DN 32, EDS-DN 34 y
PPM-DN 36. El chip incluye también una pluralidad
de S-RAM internas, un Programador 40 de Gestión de
Tráfico y un Complejo de Procesadores Incorporados (EPC) 12. Hay
acoplado un dispositivo 38 de interfaz por medio de los respectivos
buses DMU, a PMM 14 y 36. El interfaz 38 podría ser cualquier
conjunto L1 de circuitos adecuado, tal como un ethernet Físico
(ENET PHY), un generador de tramas de ATM, etc. El tipo de interfaz
está impuesto en parte por el medio de la red a la cual está
conectado el chip. Hay disponible una pluralidad de
D-RAM y de S-RAM externas para ser
utilizadas por el chip.
Aunque aquí está particularmente divulgada para
redes en las cuales se hace pasar el flujo general de datos fuera
de los dispositivos relevantes de conmutación y encaminamiento, a
través de conductores eléctricos tales como hilos y cables
instalados en edificios, la presente invención contempla que los
conmutadores de la red y los componentes de la misma aquí
divulgados pueden ser utilizados también en un entorno inalámbrico.
A modo de ejemplo ilustrativo, los elementos de control de acceso
del medio (MAC) aquí descritos pueden ser sustituidos por elementos
de radiofrecuencia adecuados, posiblemente utilizando la conocida
tecnología de Silicio Germanio, que daría como resultado una
capacidad para enlazar los elementos aquí descritos, directamente a
una red inalámbrica. Cuando se aplica apropiadamente tal
tecnología, los elementos de radiofrecuencia pueden ser integrados,
por una persona con la experiencia apropiada en las técnicas
aplicables, en las estructuras VLSI aquí divulgadas.
Alternativamente, los dispositivos respuesta de radiofrecuencia o
bien inalámbricos, tales como los dispositivos que responden a
infrarrojos, pueden ser montados sobre una lámina con otros
elementos aquí divulgados para conseguir un aparato de conmutación
útil con sistemas de red inalámbricos.
Las flechas muestran el flujo general de datos
dentro del dispositivo de interfaz. Las tramas recibidas desde un
MAC de Ethernet son colocados en memorias intermedias internas de
Almacenamiento de Datos por EDS-UP. Estas tramas
son identificadas como Tramas de Datos normales o bien como Tramas
Guiadas de control del sistema y puestas en cola por el EPC (figura
1). El EPC contiene N procesadores de protocolo capaces de trabajar
en hasta N tramas en paralelo (N > 1). En un modo de realización
de diez procesadores de protocolo (figura 12B), dos de los diez
procesadores de protocolo son especializados, uno para gestionar las
Tramas Guiadas (el Gestor Central Genérico o GCH) y otro para
construir Datos de Consulta en Memoria de Control (el Gestor
Genérico del Árbol o GTH). Como está ilustrado en la Figura 12A, el
EPC contiene también un distribuidor que hace coincidir tramas
nuevas con procesadores libres, una unidad de terminación que
mantiene la secuencia de tramas, una memoria de Instrucciones
Comunes compartida por los diez procesadores, un Asistente
Clasificador por Hardware, que determina la clasificación de tramas
y un coprocesador que ayuda a determinar la dirección de la
instrucción de inicio de la trama, interfaces de Entradas y Salidas
del Almacenamiento de Datos, que controlan las operaciones de
lectura y escritura de las memorias intermedias de tramas, un
Arbitrador de Memoria de Control que permite compartir la Memoria
de Control a los diez procesadores, un arbitrador e interfaz de
Control de la Red, que permite depurar el acceso a estructuras de
datos del dispositivo de interfaz interno, así como otras
realizaciones por hardware.
Las Tramas Guiadas son enviadas por el
distribuidor al procesador GCH a medida que se hace disponible. Las
operaciones codificadas de la Trama Guiada son ejecutadas, tales
como grabaciones en registradores, lecturas en contadores, cambios
de configuración en MAC de Ethernet y similares. Las alteraciones de
la tabla de Consulta, tales como añadir elementos MAC o IP, son
traspasadas al procesador de Datos de Consulta para operaciones de
Memoria de Control, tales como lecturas y grabaciones en memoria.
Algunas órdenes, tales como lecturas de contador MIB, requieren
construir una trama de respuesta y enviarla al puerto apropiado
sobre el dispositivo de interfaz apropiado. En algunos casos, la
Trama Guiada es codificada para el lado de Salida del dispositivo
de interfaz. Estas tramas son reenviadas al lado de Salida del
dispositivo de interfaz requerido, que ejecuta entonces las
operaciones codificadas y construye cualquier trama de respuesta
apropiada.
Las tramas de datos son distribuidas al
siguiente procesador de protocolo disponible para realizar consultas
de trama. Los datos de tramas son traspasados al procesador de
protocolo junto con los resultados del Motor Asistente Clasificador
por Hardware (CHA). El CHA analiza si es IP o IPX. Los resultados
determinan el algoritmo de Búsqueda del Árbol y la Dirección de
Instrucción Común (CIA) de inicio. Los algoritmos del Árbol de
Búsqueda admitidos incluyen los Árboles de Coincidencia Fija
(modelos de tamaño fijo que requieren una coincidencia exacta, tal
como las tablas MAC de Ethernet de Capa 2), Árboles de Coincidencia
de prefijo más largo (modelos de longitud variable que requieren
coincidencias de longitud variable, tales como el reenvío de IP en
una subred) y los Árboles Gestionados por Software (dos modelos que
definen una gama o un conjunto de máscaras de bits, tales como los
utilizados para reglas de los filtros).
La consulta es realizada con ayuda del
Coprocesador del Motor de Búsqueda de Árboles (TSE), que es una
parte de cada procesador de protocolo. El coprocesador TSE realiza
los accesos a la memoria de control, liberando el procesador de
protocolo para que continúe la ejecución. La memoria de control
almacena todas las tablas, contadores, y otros datos necesarios
para el picocódigo. Las operaciones de la memoria de control son
gestionadas por el Arbitrador de la memoria de control, que arbitra
el acceso a memoria entre los diez complejos de procesadores.
Los datos de tramas don accedidos a través del
Coprocesador de Almacenamiento de Datos. El Coprocesador de
Almacenamiento de Datos contiene una memoria intermedia principal de
datos (que contiene hasta ocho segmentos de 16 bytes de datos de
tramas), una memoria intermedia de apuntes de datos (que también
contiene hasta ocho segmentos de 16 bytes de datos de tramas) y
algunos registradores de control para las operaciones de
Almacenamiento de Datos. Una vez que se encuentra una coincidencia,
las alteraciones de tramas de entrada pueden incluir una inserción
o superposición de cabecera de VLAN. Esta alteración no es realizada
por el complejo de procesadores del dispositivo de interfaz, sino
que más bien se obtienen señalizadores de hardware y es otro
hardware del Interfaz de Entrada del Conmutador el que realiza las
alteraciones. Pueden conseguirse otras alteraciones de trama por
medio del picocódigo y el Coprocesador de Almacenamiento de Datos,
modificando el contenido de la trama contenido en el Almacenamiento
de Datos de Entrada.
Se reúnen y utilizan otros datos para construir
Cabeceras del Conmutador y Cabeceras de Trama, antes de enviar
tramas al dispositivo de la matriz del conmutador. Los datos de
control incluyen información del conmutador, tal como la lámina de
destino de la trama, así como la información para el dispositivo de
Interfaz de Salida, ayudándole a agilizar la consulta de tramas de
los puertos de destino, las operaciones de multidifusión o
unidifusión, y las alteraciones de Tramas de Salida.
Al terminar, el Coprocesador de Puesta en Cola
construye los formatos necesarios para poner en cola la trama en la
matriz del conmutador, y los envía a la Unidad de Terminación. La
Unidad de Terminación garantiza el orden de las tramas desde los
diez procesadores de protocolo a las colas de la matriz del
conmutador. Las tramas de las colas de la matriz del conmutador son
segmentadas en células de 64 bytes, con inserción de bytes de
Cabecera de Trama y bytes de Cabecera del Conmutador, a medida que
son transmitidas por el Conmutador Prizma-E.
Las tramas recibidas desde la matriz del
conmutador son colocadas en las memorias intermedias de
Almacenamiento de Datos de Salida (DS de Salida), por medio de un
EDS de Salida (34) y son puestas en cola en el EPC. Una parte de la
trama es enviada por el distribuidor a un procesador de protocolo
que esté libre, para realizar consultas de trama. Los datos de
trama son distribuidos al procesador de protocolo junto con los
datos del Asistente Clasificador por Hardware. El Asistente
Clasificador de Hardware utiliza datos de control de trama creados
por el Interfaz de Entrada, para ayudar a determinar la Dirección de
la Instrucción de Código (CIA) inicial.
Las Búsquedas de Árboles de Salida admiten los
mismos algoritmos admitidos en las Búsquedas de Entrada. La
consulta se realiza con el Coprocesador TSE, liberando al procesador
de protocolo para continuar la ejecución. Todas las operaciones de
la memoria de Control son gestionadas por el Arbitrador de la
memoria de Control, que asigna acceso a la memoria entre los
complejos de diez procesadores.
Los datos de trama de salida son accedidos a
través del Coprocesador de Almacenamiento de Datos. El Coprocesador
de Almacenamiento de Datos contiene una memoria intermedia principal
de datos (que contiene hasta ocho segmentos de 16 bytes de datos de
trama), una memoria intermedia de apuntes de datos (que contiene
también hasta ocho segmentos de 16 bytes de datos de trama) y
algunos registradores de control para las operaciones de
Almacenamiento de Datos. El resultado de una consulta con éxito
contiene información de reenvío y, en algunos casos, información de
alteración de tramas. Las alteraciones de tramas pueden incluir la
eliminación de cabecera VLAN, el incremento (IPX) o decremento (IP)
del Tiempo de Vida, volver a calcular la Suma de Comprobación de la
Cabecera de IP, la superposición o inserción de CRC en la trama de
Ethernet y la superposición o inserción de MAC DA/SA. Las sumas de
comprobación de la Cabecera de IP son preparadas por el Coprocesador
de Suma de Comprobación. Las alteraciones no son realizadas por el
Complejo de Procesadores del dispositivo de Interfaz, sino que se
crean señalizadores por hardware y es el hardware de Salida de PMM
el que realiza las alteraciones. Al terminar, se utiliza el
Coprocesador de Puesta en Cola para ayudar a construir los formatos
necesarios para poner en cola la trama en las colas de Salida de
EDS y enviarlos a la Unidad de Terminación. La Unidad de Terminación
garantiza el orden de las tramas de
los diez procesadores de protocolo a las colas de Salida de EDS que alimentan los MAC 36 de Ethernet de salida.
los diez procesadores de protocolo a las colas de Salida de EDS que alimentan los MAC 36 de Ethernet de salida.
Las tramas completadas son enviadas finalmente
por el hardware de Salida de PMM a los MAC de Ethernet saliendo por
los puertos de Ethernet.
Un bus interno, denominado Web (entramado de
redes), permite el acceso a registradores internos, contadores y
memoria. La Web incluye también un interfaz externo para controlar
el paso de instrucciones y el control de interrupciones para
depuración y diagnósticos.
El coprocesador del Motor de Búsqueda
proporciona una comprobación de la amplitud de la memoria, la
notificación de acceso ilegal a memoria y ejecuta instrucciones de
búsqueda de árbol (tales como lectura, escritura o
lectura-y-escritura de memoria),
operando en paralelo con la ejecución del procesador de
protocolo.
La Memoria Común de Instrucciones consiste en
una RAM de 1024 x 128 y dos conjuntos de RAM dual de 512 x 128.
Cada conjunto de RAM dual proporciona dos copias del mismo
picocódigo, permitiendo a los procesadores acceder
independientemente a las instrucciones dentro de la misma gama de
direcciones. Cada palabra de 128 bits incluye instrucciones de 32
bits, proporcionando una gama total de 8192 instrucciones.
El distribuidor controla el traspaso de tramas a
los diez procesadores de protocolo y gestiona interrupciones y
temporizadores.
La Unidad de Terminación garantiza el orden de
tramas desde el complejo de procesadores a la matriz del conmutador
y a las colas de puertos de su objetivo. Un conjunto de
instrucciones consistente incluye ejecución condicional,
empaquetado (para claves aleatorias de entrada), ramificación
condicional, operaciones con y sin firma, recuentos de ceros
antepuestos y otros.
El motor del Asistente Clasificador de Hardware
analiza cada cabecera de protocolo de capa 2 y capa 3 de la trama y
proporciona esta información con tramas a medida que son
distribuidas a los procesadores de protocolo.
El Arbitrador de memoria de Control controla el
acceso del procesador tanto a la memoria interna como a la
externa.
Las opciones de memoria externa de control
incluyen 5 a 7 subsistemas DDR DRAM que soportan, cada uno de ellos,
una pareja de DDR RAM de 2M x 16 bits x 4 bancos o una pareja de 4M
x 16 bits x 4 bancos. El interfaz DDR RAM funciona con una
velocidad de reloj de 133 MHz y un muestreo de datos de 266 MHz que
admite latencia CAS configurable y capacidad de accionamiento.
Puede añadirse una ZBT SRAM opcional de 133 MHz en una configuración
de 128K x 36, 2 x 256K x 18 o 2 x 512K x 18.
Las tramas de salida pueden ser almacenadas en
una Memoria Intermedia Externa de Datos (por ejemplo, DSO) o bien
en dos Memorias Intermedias Externas de Datos (DSO y DS1). Cada
Memoria Intermedia puede estar comprendida por una pareja de DDR
DRAM de 2M x 16 bits x 4 bancos (que almacenan hasta 256K tramas de
64 bytes) o bien una pareja de DDR DRAM de 4M x 16 bits x 4 bancos
(que almacenan hasta 512 K de tramas de 64 bytes). Se elige la
Memoria Intermedia Externa única de Datos (por ejemplo, DSO) para
2,28 Mbps, o bien se añade la segunda Memoria Intermedia (por
ejemplo, DS1) para admitir la conmutación de capa 2 y capa 3 de 4,57
Mbps. Al añadir la segunda Memoria Intermedia se mejora el
rendimiento, pero no aumenta la capacidad de tramas. El interfaz de
la Memoria Intermedia Externa de Datos funciona a una velocidad de
reloj de 133 MHz, con un muestreo de datos de 266 MHz, y admite la
latencia CAS configurable y la capacidad de accionamiento.
La memoria Interna de Control incluye dos RAM de
512 x 128 bits, dos RAM de 1024 x 36 bits y una RAM de 1024 x 64
bits.
El almacenamiento Interno de Datos proporciona
una memoria intermedia para hasta 2048 tramas de 64 bytes en la
dirección de entrada (UP).
Las alteraciones fijas de Trama incluyen
inserciones de etiquetas VLAN en la dirección de Entrada y
eliminaciones de etiquetas de VLAN, incremento/decremento (IP, Ipx)
del Tiempo de Vida, superposición/inserción de CRC de Ethernet y
superposición/inserción de MAC DA/SA en la dirección de Salida
(DOWN).
La formación de espejos de puertos permite
copiar un puerto de recepción y un puerto de transmisión a un puerto
de observación designado por el sistema, sin utilizar recursos de
procesador de protocolo. Los puertos del dispositivo de Interfaz de
los que se hace un espejo son configurados para añadir datos de
control de trama y del conmutador. Un camino de datos independiente
permite la puesta en cola directa en el interfaz de Entrada del
Conmutador. El dispositivo de interfaz integra cuatro macros de
Ethernet. Cada macro puede ser configurada individualmente para
funcionar en modo de 1 Gigabit o de 10/100 Ethernet Rápido. Cada
macro de Ethernet admite hasta diez MAC de 10/100 Mbps o un MAC de
1000 Mbps para una de cada cuatro macros.
La figura 1A muestra un diagrama de bloques del
núcleo de MAC. Cada macro incluye tres diseños del Núcleo de
Ethernet; para afinar, el Núcleo MAC multipuerto de 10/100 Mbps
(Fenet), el núcleo MAC de 1000 Mbps (Genet) y el Núcleo de Subcapa
de Codificación Física de 100 Mbps (PCS).
Características del MAC 10/100 multipuerto de
Ethernet:
- Admite diez Interfaces Serie Independientes del Medio con la capa física.
- Capaz de manejar diez puertos de velocidades del medio de 10 Mbps o 100 Mbps, con cualquier combinación de velocidades.
- Un solo MAC da servicio a los diez puertos con un Interfaz de Multiplexación por División de Tiempos.
- Admite operaciones en Full dúplex/semidúplex a la velocidad del medio en todos los puertos.
- Admite el Retroceso Exponencial Binario de IEEE 802.3.
Características del Núcleo de MAC Ethernet de
1000 Mbps:
- Admite un Interfaz Independiente del Medio de Gigabits (GMII) con la capa PCS física o directamente con la capa física.
- Con el núcleo de PCS, admite una solución completa TBI (8b/10b).
- Admite conexiones punto a punto en Full dúplex a la velocidad del medio.
- Admite señalización de bytes válida del núcleo de IBM PCS.
Características del Núcleo de Subcapas Físicas
de Codificación de Ethernet de 1000 Mbps:
- Efectúa la codificación y descodificación de 8b/10b.
- Admite el Interfaz de Servicio de PMA (10 bits), según se define en IEEE 802.3z; este interfaz se une a cualquier PMA que sea conforme con IEEE 802.3z.
- Sincroniza los datos recibidos desde el PMA (reloj de dos fases) con el reloj de MAC (una sola fase).
- Admite la Auto-Negociación incluyendo dos páginas siguientes.
- Convierte desde un sistema de reloj de dos fases definido en los estándares en un reloj de una sola fase.
- Proporciona una señal al MAC que indica aquellos ciclos de reloj que contienen datos nuevos.
- Comprueba los COMMA de los grupos (de 10 bits) de códigos recibidos y establece sincronismo de palabras.
- Calcula y comprueba la disparidad de ejecución de 8b/10b.
Las figuras 2A-2D muestran
diferentes configuraciones del Chip del dispositivo de Interfaz. Las
configuraciones son facilitadas por DASL y por la conexión a un
dispositivo de la matriz de conmutación. Cada DASL incluye dos
canales que son: un canal de transmisión y un canal receptor.
La figura 2A muestra una configuración de
empaquetamiento para un dispositivo de un solo interfaz. En esta
configuración, el canal de transmisión está empaquetado en el canal
de recepción.
La figura 2B muestra la configuración en la cual
hay conectados dos chips de dispositivo de interfaz. Cada chip de
dispositivo de interfaz está provisto de al menos dos DASL. En esta
configuración, los canales de un DASL de unos de los chips están
operativamente conectados a los canales de un DASL coincidente en el
otro chip. El otro DASL de cada chip está empaquetado.
La figura 2C muestra la configuración en la cual
hay conectados múltiples dispositivos de interfaz a una matriz de
conmutación. Las flechas de doble punta indican transmisión en ambos
sentidos.
La figura 2D muestra la configuración en la cual
hay conectados un conmutador Principal y un conmutador de reserva a
múltiples dispositivos de interfaz. Si se avería el conmutador
principal, el de reserva está disponible para su utilización.
Un punto de control (CP) incluye un Procesador
del Sistema que está conectado a cada una de las configuraciones.
El procesador del sistema en el CP, entre otras cosas, proporciona
servicios de inicialización y configuración al chip. El CP puede
estar situado en cualquiera de los tres lugares siguientes: en el
chip del dispositivo de interfaz; en la lámina sobre la cual está
montado el chip o externamente a la lámina. Si es externo a la
lámina, el CP puede ser remoto; es decir, alojado en cualquier otro
sitio y comunicándose por la red a la cual están unidos el
dispositivo de interfaz y el CP. Los elementos de un CP están
ilustrados en la figura 17 e incluyen elementos de memoria (caché,
flash y SDRAM), un controlador de memoria, un bus de PCI y
conectores para una placa madre y para medios de red L1.
La figura 18 muestra el Procesador de Red de un
solo chip y las funciones proporcionadas por el
EDS-UP, el Programador de Gestión de Tráfico (MGT)
y por el EDS-DOWN (DN). Los iconos en forma de U
representan colas y el Bloque de Control (CB) que hace un
seguimiento del contenido de las colas, están representados por
iconos rectangulares.
A continuación se ofrece una descripción de los
elementos, de sus respectivas funciones y de su interacción.
PMM: Esta es la parte de los Procesadores de Red
que contiene los MAC (Fenet, POS, Genet) y se une a los dispositivos
PHY externos.
UP-PMM: Esta lógica toma bits de
los PHY y les da el formato FISH (16 bytes) para pasarlos al
UP-EDS. Hay 4 DMU dentro del PMM, siendo capaz cada
uno de ellos de trabajar con 1 Genet o 10 dispositivos FEnet.
UP-EDS: Esta lógica toma los
formatos "fish" del UP-PMM y los almacena en el
Almacenamiento de Datos UP (RAM interna). Es capaz de trabajar con
40 tramas a la vez, y tras haber recibido un número de bytes
apropiados, pondrá en cola la trama en el EPC. Cuando el EPC termina
con la trama, el UP-EDS pondrá en cola la trama en
la Cola del Puerto Objetivo apropiada y comenzará a enviar la trama
al UP-SDM. El UP-EDS es responsable
de la gestión de todas las memorias intermedias y tramas y devuelve
las memorias intermedias/tramas a los sitios comunes libres cuando
termina la transferencia de UP-SDM.
EPC: Esta lógica contiene los picoprocesadores y
puede contener incorporado un PC de potencia. Esta lógica es capaz
de mirar la cabecera de la trama y decidir qué hacer con la trama
(reenviarla, modificarla, filtrarla, etc.). El EPC tiene acceso a
diversas tablas de consulta y asistentes de hardware para permitir a
los picoprocesadores mantener los requisitos de amplia anchura de
banda del Procesador de Red.
UP-SDM: Esta lógica toma las
tramas y las formatea en células PRIZMA para su transmisión a la
matriz de conmutación. Esta lógica es capaz también de insertar la
cabecera de VLAN en la trama.
UP-SIF: Esta lógica contiene las
macros UP-DASL y se une a las E/S del conmutador
externo.
DN-SIF: Esta lógica contiene las
macros DN-DASL y recibe células PRIZMA desde las E/S
externas.
DN-SDM: Esta lógica recibe las
células PRIZMA y las preprocesa para ayudar a la reconstrucción de
tramas.
DN-EDS: Esta lógica toma cada
célula y las vuelve a construir como tramas. La célula es almacenada
en Almacenamiento Externo de Datos, y las memorias intermedias son
enlazadas conjuntamente para construir tramas. Cuando se recibe la
trama entera, la trama quedará en cola en el EPC. Una vez que el EPC
ha terminado con la trama, es puesta en cola en el Programador (si
está presente) o en las Colas del Puerto Objetivo.
DN-EDS envía entonces las tramas al puerto apropiado
enviando la trama, cualquier información de alteraciones y alguna
información de control al DN-PMM.
DN-PMM: Toma la información del
DN-EDS y da formato a las trama en Ethernet, POS,
etc., y envía la trama al PHY externo.
SPM: Esta lógica se utiliza para permitir al
Procesador de Red hacer de interfaz con los dispositivos externos
(PHY, LED, FLASH, etc.) pero solamente requiere 3 E/S. El Procesador
de Red utiliza un interfaz serie para comunicarse con el SPM y
después el SPM realiza las funciones necesarias para gestionar estos
dispositivos externos.
Flujo del LADO-SUPERIOR
- 1)
- La trama llega al PHY.
- 2)
- Se reciben los bytes en el UP-PMM
- 3)
- El UP-PMM envía el FISH al UP-EDS (Fish significa una parte de la trama).
- 4)
- El UP-EDS almacena el FISH en UP-DS.
- 5)
- El UP-EDS envía la cabecera al EPC.
- 6)
- El EPC procesa la cabecera y devuelve información de puesta en cola al UP-EDS.
- 7)
- El UP-EDS continúa recibiendo el resto de la trama desde el UP-PMM.
- 8)
- El UP-EDS envía información al UP-SDM cuando los datos apropiados están disponibles para ser enviados al conmutador.
- 9)
- El UP-SDM lee datos de trama y los formatea como células PRIZMA.
- 10)
- EL UP-SDM envía células al UP-SIF.
- 11)
- El UP-SIF transfiere las células sobre los enlaces serie de DASL al PRIZMA.
- 12)
- El UP-EDS libera memorias intermedias/tramas cuando se han recogido todos los datos.
\vskip1.000000\baselineskip
Flujo del LADO-DN
- 1)
- El DN-SIF recibe células PRIZMA.
- 2)
- EL DN-SIF almacena células y las preprocesa para información de reconstrucción.
- 3)
- El DN-EDS recibe los datos de la célula y la información de reconstrucción y enlaza la célula en una nueva trama en el lado inferior.
- 4)
- El DN-EDS almacena la célula en DN-DS.
- 5)
- El DN-EDS pone en cola la trama en el EPC cuando se han recibido todos los datos.
- 6)
- EL EPC procesa la cabecera y devuelve la información de puesta en cola al DN-EDS.
- 7)
- El DN-EDS pone en cola la trama en una cola de programador (si está presente) o en una Cola de Puerto Objetivo.
- 8)
- EL DN-EDS da servicio a las colas y envía información de trama al PCB
- 9)
- El DN-EDS utiliza el PCB para "desentrañar" la trama y lee los datos apropiados y envía esos datos al DN-PMM.
- 10)
- El DN-PMM formatea los datos (con alteración si se requiere) y envía la trama al PHY externo
- 11)
- El DN-PMM informa al DN-EDS cuando ya no se necesitan las memorias intermedias y el DN-EDS libera estos recursos.
\vskip1.000000\baselineskip
Flujo de Control de TRAMA
- 1)
- Se envía la cabecera al EPC desde el UP-DS o desde el DN-DS.
- 2)
- El EPC busca información de la cabecera en las tablas de consulta y recibe información de puesta en cola de tramas.
- 3)
- El EPC devuelve la información de puesta en cola de tramas al EDS y la trama es puesta en cola en la cola apropiada.
- 4)
- Las cabeceras de célula y las cabeceras de trama son enviadas junto con los datos de trama para ayudar a la reconstrucción y reenvío de tramas.
\vskip1.000000\baselineskip
Flujo de Control de CP
- 1)
- El punto de control da formato a una Trama Guiada y la envía al Procesador de Red.
- 2)
- El Procesador de Red pone en cola la Trama Guiada en el picoprocesador GCH.
- 3)
- El GCH procesa la Trama Guiada y lee o escribe las zonas requeridas de Rainier
- 4)
- El GCH traspasa cualquier petición de actualización de Tabla al GTH.
- 5)
- El GTH actualiza la tabla apropiada con información de la Trama Guiada.
- 6)
- Se devuelve una Trama Guiada de acuse de recibo al CP.
\vskip1.000000\baselineskip
Flujo de Control del Procesador de Red
- 1)
- Un picoprocesador puede construir una Trama Guiada para enviar información a otro Rainier o al Punto de Control.
- 2)
- La trama guiada es enviada al lugar apropiado para su tratamiento.
Un solo dispositivo de interfaz proporciona
conmutación a velocidad del medio para hasta 40 puertos de Ethernet
Rápido (Figura 2A). Se puede dar soporte a 80 puertos de Ethernet
Rápido cuando están interconectados dos dispositivos de interfaz,
utilizando la tecnología del Enlace Síncrono con Ajuste de Datos
(DASL) de IBM (figura 2B). Cada pareja diferencial de DASL
transporta 440 Mbps de datos. Dos conjuntos de ocho parejas
proporcionan una conexión dúplex de 3,5 Gbps (8 veces 440 Mbps en
cada dirección). Como se ilustra en las figuras 2C y 2D, pueden
construirse sistemas más grandes interconectando múltiples
dispositivos de interfaz a un conmutador, tal como el conmutador
Prizma-E de IBM. El dispositivo de interfaz
proporciona dos conexiones DASL dúplex de 3,5 Gbps, una principal y
otra secundaria, que pueden ser utilizadas para proporcionar un
camino envolvente de retorno para el tráfico local de tramas
(cuando hay conectados directamente dos dispositivos de interfaz,
figura 2B) o una conexión a una matriz de conmutación redundante
(figura 2D, Conmutación de Reserva). En vista de lo anterior, el
Chip de un solo Procesador de Red es escalable de manera que puede
utilizarse un chip para proporcionar un sistema de gama inferior
(que tiene una densidad de puertos relativamente baja, por ejemplo
40) hasta un sistema de gama superior (que tiene una densidad de
puertos relativamente alta, por ejemplo 80 - n puertos).
Un dispositivo de interfaz del sistema está
conectado al procesador del sistema a través de uno hasta diez
puertos de Ethernet Rápido de 10/100 Mbps o un solo puerto de
Ethernet de 1000 Mbps. La configuración de Ethernet para el
procesador del sistema es colocada en una EEPROM unida al
dispositivo de interfaz y cargada durante la inicialización. El
procesador del sistema se comunica con todos los dispositivos de
interfaz del sistema (véase la figura 2) construyendo Tramas
Guiadas especiales encapsuladas, por ejemplo, como tramas de
Ethernet o interfaces de otros medios. Las Tramas Guiadas
encapsuladas son reenviadas a través de un enlace DASL a otros
dispositivos, permitiendo controlar todos los dispositivos de
interfaz del sistema desde un solo punto.
Las Tramas Guiadas se utilizan para comunicar
información de control entre el Punto de Control (CP) y el Complejo
de Procesadores Incorporados y dentro del dispositivo de interfaz.
En la patente de estados Unidos 5.724.438, publicada el 3 de Marzo
de 1998, que trata de un Interfaz Eficiente de Hardware/Software
para un Conmutador de Datos, se encuentra una divulgación anterior
de Células Guiadas que aclarará la presente discusión.
Para el tráfico de Tramas Guiadas que se origina
en el CP, el CP construye la Trama Guiada en memorias intermedias
de datos de su memoria local. El Controlador de Dispositivo del CP
envía la Trama Guiada a uno de los interfaces con los medios del
Procesador de Red. El hardware del Control de Acceso de Medios (MAC)
recupera la Trama Guiada y la almacena en su memoria de
almacenamiento interno de datos (U_DS). La Trama Guiada es
encaminada a la lámina apropiada, es procesada y se vuelve a
encaminar al CP según se requiera. Las Tramas Guiadas que pasan
entre un CP externo y el dispositivo de interfaz son encapsuladas
para adaptarse al protocolo de la red externa. Como consecuencia,
si la red externa incluye ethernet, las Tramas Guiadas son
encapsuladas como tramas de ethernet y así sucesivamente.
El encapsulamiento de Ethernet proporciona un
medio de transporte para Tráfico Guiado entre el CP y el dispositivo
de interfaz. El MAC de Ethernet (Enet MAC) del dispositivo de
interfaz no analiza la Dirección de Destino (DA) ni la Dirección
Fuente (SA) cuando recibe tramas. Este análisis es realizado por el
picocódigo de EPC. El Tráfico Guiado presupone que el dispositivo
de interfaz no ha sido configurado y el DA y SA no pueden ser
analizados por el picocódigo de EPC. Por tanto, estas tramas son
inherentemente auto-encaminadas. Sin embargo, el
Enet MAC analiza el campo de Tipo de Ethernet para distinguir el
Tráfico Guiado del Tráfico de Datos. Este valor del Tipo de
Ethernet de la Trama Guiada debe coincidir con el valor cargado en
el Registrador de E_Tipo_C. Este registrador es cargado desde la
Memoria Flash por el picocódigo de arranque del dispositivo de
interfaz.
El CP construye la Trama Guiada en memorias
intermedias de datos de su memoria locales. El contenido de un
registrador de 32 bits del procesador del CP es almacenado en un
formato "big endian" (los bits más significativos primero) en
la memoria local, como se ilustra en la figura 3. Una vez construida
la Trama Guiada, el Controlador de Dispositivos del CP envía una
trama de Ethernet que contiene un DA para el Manejador de Células
Guiadas (GCH) específico, un SA correspondiente a la dirección de
MAC global para el CP, o la dirección de MAC para un interfaz
específico, un campo especial del tipo de Ethernet que indica una
Trama Guiada, y los Datos de la Trama Guiada. Todas las tramas de
Ethernet que llegan al puerto son recibidas y analizadas por Enet
MAC. Para tramas con un valor del tipo de Ethernet coincidente con
el contenido del registrador de E_Tipo_C, el Enet MAC elimina los
campos de DA, SA y Tipo de Ethernet y almacena los datos de Trama
Guiada en la memoria de U_DS. Los bytes son recogidos por el Enet
MAC de uno en uno en un bloque de 16 bytes denominado Fish. Estos
bytes son almacenados en formato "big endian", estando
almacenado el primer byte de la Trama Guiada en el lugar del bit
más significativo del Fish (byte 0). Los bytes siguientes son
almacenados en lugares de bytes sucesivos dentro del Fish (byte 1,
byte 2,…, Byte 15). Estos 16 bytes son almacenados después en una
Memoria Intermedia del U_DS, comenzado en el lugar del Fish 0. Los
Fish sucesivos son almacenados en lugares sucesivos de Fish dentro
de la Memoria Intermedia (Fish 1, Fish 2, Fish 3, etc.). Se obtienen
memorias internas adicionales a partir de un lugar común libre, a
medida que se requieren para almacenar el resto de la Trama
Guiada.
El flujo de tráfico guiado dentro del
dispositivo 10 de interfaz está ilustrado en la figura 4. La función
Enet MAC del dispositivo de interfaz examina la información de
cabecera de tramas y determina que la trama es una Trama Guiada. El
Enet MAC elimina la cabecera de trama de la Trama Guiada y deja en
memoria intermedia el resto de su contenido en la memoria interna
U_DS del dispositivo de interfaz. El Enet MAC indica que la trama
ha de ser puesta en cola en la Cola de Control General (GC) para su
tratamiento por el GCH. Cuando se ha alcanzado el final de la Trama
Guiada, la lógica de Puesta en Cola, Sacar de la Cola y Programar
(EDS) pone en cola la trama en la Cola GC.
El picocódigo del GCH de la lámina que está
unida localmente al CP examina la Información de Control de Tramas
(véase la figura 6), para determinar si la Trama Guiada está
destinada a otras láminas del sistema, y si la Trama Guiada ha de
ejecutarse en el lado inferior del dispositivo de interfaz. Si la
trama está destinada a otras láminas distintas o además de a la
lámina unida localmente, el picocódigo del GCH actualiza el valor
TB en el Bloque de Control de Tramas (FCB) con el valor TB de la
Información de Control de Tramas de la Trama Guiada, e instruye al
EDS para que ponga en cola la trama en la Cola de Inicio de Trama de
la Lámina Objetivo (TB_SOF) de multidifusión. Por razones de
rendimiento, todo el Tráfico Guiado es puesto en cola en la cola de
TB-SOF de multidifusión, independientemente del
número de hojas de destino indicadas.
Si la trama está destinada solamente a la lámina
unida localmente, el picocódigo del GCH examina el campo de
arriba/debajo de la información de Control de Tramas para determinar
si ha de ejecutarse la Trama Guiada en el lado superior o inferior
del dispositivo de interfaz (véase la figura 6). Si la Trama Guiada
ha de ejecutarse en el lado inferior del dispositivo de interfaz,
el picocódigo del GCH actualiza el valor de TB en el FCB con el
valor de TB de la Información de Control de Tramas de la Trama
Guiada e instruye al EDS para que ponga en cola la trama en la Cola
de Inicio de Trama de la Lámina Objetivo (TB-SOF) de
multidifusión. Si la información de Control de Tramas indica que ha
de ejecutarse la Trama Guiada en el lado superior, el picocódigo del
GCH analiza la Trama Guiada y efectúa las operaciones indicadas por
las Órdenes Guiadas que contiene.
Antes de procesar las Órdenes Guiadas, el
picocódigo comprueba el valor del campo ack/\upbar{noack} de la
información de Control de Tramas. Si este valor es “0”b, se
descarta la Trama Guiada que sigue al proceso. Las órdenes leídas
Guiadas no serán de esta categoría.
Si el valor del campo ack/\upbar{noack} es
“1”b, y el valor del campo anterior/posterior es “1”b, entonces,
antes de procesar cualquiera de las Órdenes Guiadas de la Trama
Guiada, el picocódigo construye una Trama Guiada de Acuse Anterior
con el valor del campo TB del Control de Tramas, igual al contenido
de la Trama Guiada de Acuse Anterior con el valor del campo TB del
Control de Tramas igual al contenido del Registrador My_TB. El
picocódigo encamina la Trama Guiada de Acuse Anterior de vuelta al
CP, mediante la actualización del valor de TB del FCB de la Trama
con el valor contenido en el campo TB del Registrador de Direcciones
del Punto de Control de LAN (LAN_CP_Addr) e instruyendo al EDS para
que ponga en cola la trama en la Cola TB_SOF de multidifusión. El
picocódigo procesa entonces las Órdenes Guiadas de la Trama Guiada y
descarta la Trama Guiada. Las órdenes leídas guiadas no serán de
esta categoría.
Por otra parte, si el valor del campo
ack/\upbar{noack} es “1”b y el valor del campo anterior/posterior
es “0”b, el picocódigo cambia el campo resp/\upbar{req} de la
Información de Control de Tramas a “1”b para indicar una respuesta
de Trama Guiada, sustituye el campo TB con el contenido del
Registrador My_TB y procesa cada Orden Guiada dentro de la Trama
Guiada. Durante el curso del proceso de una Orden Guiada, el
picocódigo actualiza el campo de Código de Terminación de la
siguiente Orden Guiada con el valor del código de estado de
terminación de la Orden Guiada en curso. El picocódigo encamina la
respuesta de vuelta a la fuente, mediante la actualización del valor
TB del (FCB) con el valor correspondiente a la Lámina Fuente (Valor
del registrador LAN_CP_Addr para CP) e instruyendo al EDS para que
ponga en cola la trama en la Cola TB_SOF de multidifusión.
Las tramas que residen en la Cola TB_SOF son
programadas para el reenvío por el EDS. El Desplazador de Datos del
Conmutador (SDM) construye la Cabecera de Célula de la matriz de
conmutación y la Cabecera de Tramas del dispositivo de Interfaz, a
partir de la información contenida en el FCB. Estas células pasan a
través del dispositivo de la matriz de conmutación y llegan a la
lámina objetivo, donde son reconstruidas las células como una trama
en la memoria D-DS. El SDM del lado inferior
reconoce que la trama es una Trama Guiada e indica una señal al EDS
para ponerla en cola en la Cola GC.
La presión desde la Cola GC o de la Cola GT
estimula al picocódigo para acceder y analizar las Tramas Guiadas.
Todas las Tramas Guiadas que llegan al lado inferior son puestas en
cola inicialmente en la Cola GC. El valor gth/\upbar{gch} de la
información de Control de Trama para estas tramas es examinado por
el picocódigo del GCH. Si el valor de gth/\upbar{gch} es “0”b, la
Trama Guiada es puesta en cola en la Cola GT. En otro caso, el
picocódigo del GCH examina el campo resp/\upbar{req} de la
información de Control de Tramas para determinar si la Trama Guiada
ha sido ya ejecutada. Si el valor de resp/\upbar{req} es “1”b, la
Trama Guiada ya ha sido ejecutada y es encaminada al CP. Los valores
del puerto objetivo correspondientes a las conexiones CP son
mantenidos por el picocódigo de EPC. Las tramas de estas colas del
Puerto Objetivo son transmitidas desde el dispositivo de interfaz
volviendo al CP.
Si el campo resp/\upbar{req} tiene un valor de
“0”b, la lámina puede ser local o remota con respecto al CP. Esto se
resuelve comparando el valor del campo TB del registrador
LAN_CP_Addr con el contenido del Registrador Mi Lámina Objetivo
(My_TB). Si coinciden, la lámina es local para el CP; en otro caso,
la lámina es remota para el CP. En cualquier caso, el picocódigo
examina el valor de arriba/abajo de la Información de Control de
Tramas. Si up/\upbar{down} s igual a “1”b, la trama se pone en
la cola de TB de Envoltura para su reenvío al U_DS y tratamiento por
el GCH en el lado superior. En otro caso, el picocódigo (GCH o GTH)
efectúa las operaciones indicadas por las Órdenes Guiadas
contenidas en la Trama Guiada. Antes del proceso de Órdenes Guiadas,
el picocódigo comprueba el valor del campo de ack/\upbar{noack}
de la Información de Control de Tramas. Si este valor es “0”b, la
Trama Guiada se descarta después del proceso. Las órdenes leídas
guiadas no serán de esta categoría.
Si el valor del campo de ack/\upbar{noack} es
“1”b y el valor del campo early/\upbar{late} es “1”b, entonces,
antes de procesar cualquiera de las Órdenes Guiadas de la Trama
Guiada, el picocódigo construye una Trama Guiada de Acuse de Recibo
Anterior con el valor del campo TB de la Información de Control de
Trama igual al contenido del Registrador My_TB. Si la lámina es
remota al CP, el picocódigo encamina la Trama Guiada de Acuse de
Recibo Anterior al Puerto de Envoltura. En otro caso, la lámina es
local al CP y la trama es encaminada a la Cola del Puerto
correspondiente al CP. El picocódigo procesa las Órdenes Guiadas
mientras que el Puerto de Envoltura desplaza la Trama Guiada de
Acuse de Recibo Anterior desde el D_DS al U_DS y pone en cola la
trama en la Cola de GC del lado superior, o bien la trama es
transmitida desde la Cola del puerto volviendo al CP. Para tramas
empaquetadas de nuevo en el U_DS, el picocódigo ve nuevamente esta
trama, pero el campo resp/\upbar{req} tendrá un valor de “1”b. El
picocódigo de GCH encamina la trama de nuevo hacia el CP
actualizando el campo TB del FCB con el valor contenido en el campo
TB del Registrador LAN_CP_Addr e instruyendo al EDS para que ponga
en cola la trama en la Cola TB_SOF de multidifusión. Las tramas que
residen en la Cola TB_SOF son programadas para el reenvío por el
EDS. El SDM construye la Cabecera de la Célula Prizma y la cabecera
de la Trama del dispositivo de interfaz a partir de la información
contenida en el FCB. Las células de esta trama pasan a través de
Prizma y son reconstruidas como una trama en la lámina local del
CP. El SDM del lado inferior reconoce que la trama es una Trama
Guiada e indica una señal al EDS para que la ponga en cola en la
Cola GC. En este momento en que el picocódigo del GCH analiza la
trama, el campo resp/\upbar{rep} tiene un valor de “1”b. Esto
implica que esta lámina está unida localmente al CP y la trama
Guiada es encaminada a la Cola del puerto correspondiente al CP. Las
tramas de esta cola son transmitidas desde el dispositivo de
interfaz volviendo al CP.
Por otra parte, si el valor del campo
ack/\upbar{noack} es “1”b y el valor del campo
early/\upbar{late} es “0”b, el picocódigo cambia el campo
resp/\upbar{req} a “1”b para indicar una respuesta de Trama
Guiada, sustituye el campo TB por el contenido del Registrador
My_TB y procesa después cada una de las Órdenes Guiadas dentro de la
Trama Guiada. En el transcurso del proceso de una Orden Guiada, el
picocódigo actualiza el campo de Código de Terminación de la
siguiente Orden Guiada con el valor del código del estado de
terminación para la Orden Guiada en curso. Si la lámina es remota
al CP, el picocódigo encamina la Trama Guiada al Puerto de
Envoltura. En otro caso, la lámina es local al CP y la trama es
encaminada a la Cola del Puerto correspondiente al CP. El Puerto de
envoltura desplaza la Trama Guiada desde el D_DS al U_DS y pone la
trama en la Cola GC del lado superior, o bien la trama es
transmitida desde la Cola del Puerto volviendo al CP. Para tramas
empaquetadas de nuevo hacia el U_DS, el picocódigo de GCH ve
nuevamente esta trama, pero el campo resp/\upbar{req} tendrá un
valor de “1”b. El picocódigo del GCH encamina la trama de nuevo al
CP, actualizando el campo TB del FCB con el valor contenido en el
campo TB del Registrador LAN_CP_Addr e instruyendo al EDS para que
ponga en cola la trama en la Cola TB_SOF de multidifusión. Las
tramas que residen en la Cola TB_SOF son programadas para su reenvío
por el EDS. El SDM construye la Cabecera de Célula Prizma y la
cabecera de Trama del dispositivo de Interfaz a partir de la
información contenida en el FCB. Las células de esta trama pasan a
través de Prizma y son reconstruidas como una trama en el lado
inferior de la lámina local del CP. El SDM del lado inferior
reconoce que la trama es una Trama Guiada e indica una señal al EDS
para que la ponga en cola en la Cola GC. En este momento en que el
picocódigo del GCH analiza la trama del D_DS, el campo
resp/\upbar{req} tiene un valor de “1”b. Esto implica que esta
lámina esta unida localmente al CP y la Trama Guiada es encaminada
a la Cola del Puerto correspondiente al CP. Las tramas de esta cola
son transmitidas desde el dispositivo de interfaz de vuelta al
CP.
Si, por cualquier razón, el picocódigo del GCH
encuentra una Trama Guiada con el campo TB de la información de
Control de Trama que es igual a "0000"h, entonces el picocódigo
del GCH interpreta que la trama está destinada solamente a esta
lámina y actúa consecuentemente. Esta acción es requerida durante la
inicialización cuando el valor del Registrador My_TB es
"0000"h para todas las láminas. El CP inicializará el
Registrador My_TB de la lámina unida localmente, enviando la Orden
Guiada de Grabación en una Trama Guiada cuya información de Control
de Trama tiene un valor de TB de "0000"h.
Cualquiera de los picoprocesadores dentro del
EPC puede generar una Trama Guiada. Esta trama puede ser la Trama
Guiada No Solicitada o cualquier otra forma de Trama Guiada. Las
tramas de este tipo generadas internamente son construidas de una
manera que no permite el acuse de recibo (es decir,
ack/\upbar{noack} = “0”b). Estas tramas pueden ser enviadas a uno
de los dos picoprocesadores (GCH o GTH) dentro del mismo EPC o el
GCH o GTC de alguna otra lámina.
Las Tramas Guiadas No Solicitadas pueden ser
enviadas también al CP. Las tramas Guiadas destinadas al mismo EPC
son construidas utilizando memorias intermedias de datos en el D_DS.
Estas tramas son puestas en cola después en la Cola GC o GT para su
proceso. Estas tramas son procesadas después y descartadas de la
manera usual. Las Tramas Guiadas No Solicitadas destinadas al CP
unido localmente son construidas utilizando memorias intermedias de
datos en el D_DS. Estas tramas son construidas de una manera que
indica que han sido ejecutadas por el EPC (es decir,
resp/\upbar{req} = “1”b y TB = My_TB). Estas tramas son puestas en
cola en la Cola del Puerto correspondiente al CP. Las tramas de
esta cola son vueltas a transmitir al CP.
Las Tramas Guiadas destinadas a otra lámina
pueden ser construidas utilizando memorias intermedias de datos en
el D_DS o en U_DS. Las Tramas Guiadas No Solicitadas destinadas al
CP son construidas de una manera que indica que han sido ejecutadas
por el EPC (es decir, resp/\upbar{req} = “1”b y TB = My_TB). Las
tramas construidas utilizando memorias intermedias del D_DS son
puestas en cola en el Puerto de Envoltura. Estas tramas son
desplazadas al U_DS y puestas en cola en la Cola del GC del lado
superior. Las Tramas Guiadas No Solicitadas con un valor de
resp/req de “1”b, serán encaminadas al CP utilizando el valor TB del
Registrador LAN_CP_Adddr. En otro caso, el picocódigo del GCH
encamina estas tramas utilizando el valor TB de la Información de
Control de Tramas de la Trama Guiada. En la lámina receptora, la
trama es puesta en cola en la Cola del GC del lado inferior. El GCH
de esta lámina ejecuta y descarta la trama (resp/\upbar{req} =
“0”b y gth/\upbar{gch} = “1”), o pone en cola la trama en la Cola
del GT (resp/\upbar{req} = “0”b y gth/\upbar{gch} = “0”), o pone
en cola la trama en la Cola del Puerto correspondiente al CP
(resp/\upbar{req} = “1”b). Las tramas construidas utilizando
memorias intermedias de datos en el U_DS son puestas en cola
directamente en la Cola del GC del lado superior. Desde este punto
en adelante, estas tramas siguen la misma ruta y son manejadas de
la misma manera que las construidas utilizando memorias intermedias
de datos de D_DS. La figura 5 muestra el formato generalizado para
tramas guiadas.
El formato ilustrado es una representación
lógica con el byte más significativo a la izquierda y el byte menos
significativo en la derecha. Las palabras de cuatro bytes comienzan
con la palabra 0 en la parte superior y se incrementan hacia el
fondo de la página.
Como las Tramas Guiadas deben ser encaminadas y
procesadas antes de haber configurado el dispositivo de interfaz
por medio del CP, estas tramas deben ser
auto-encaminables. Los resultados obtenidos
normalmente mediante consulta y clasificación están contenidos en
este campo de información de Control de Tramas de la Trama Guiada,
permitiendo al chip actualizar el FCB con esta información sin
efectuar una operación de consulta. La información de la lámina
objetivo contenida en el Trama Guiada es utilizada por el Gestor de
Tramas Guiadas para preparar el campo de Página de Hojas del FCB.
El CP proporciona la información de Lámina Objetivo mientras que el
picocódigo del GCH rellena los otros campos del FCB. Esta
información de FCB es utilizada por el SDM para preparar las
cabeceras de Célula y de Trama. El formato del campo de información
de Control de Tramas de la Trama Guiada está ilustrado en la
figura 6.
figura 6.
A continuación se expone una explicación de la
abreviatura de cada posición de bit de la figura 6:
resp/\upbar{req} Valor indicador de Respuesta
y Sin Petición. Este campo se utiliza para diferenciar entre
petición (sin procesar) y Tramas Guiadas de respuesta.
0 petición
1 respuesta
ack/\upbar{noack} Valor de control de Acuse de
recibo o Sin Acuse de Recibo. Este campo se utiliza para controlar
si el picocódigo del GCH acusa (ack) o no (noack) la Trama Guiada.
Las Tramas Guiadas que no han de ser acusadas no contendrán ninguna
forma de Orden Guiada que realice una lectura.
0 Sin acuse
1 Acuse
early/\upbar{late} Valor de control de Acuse
de Recibo Anterior y Posterior. Este campo se utiliza para controlar
si el acuse requerido (ack/\upbar{noack} = “1”b) tiene lugar
antes (anterior) o después (posterior) de que la Trama Guiada haya
sido procesada.
Este campo es ignorado cuando
ack/\upbar{noack} = “0”b.
0 Acuse después del proceso de la Trama
Guiada
1 Acuse antes del proceso de la Trama Guiada
neg/\upbar{all} Valor del control de Acuse
negativo o de Acuse de Todo. Este campo es ignorado cuando el campo
ack/\upbar{noack} tiene un valor de “0”b, a menos que no se
complete totalmente con éxito una orden guiada.
0 Acuse de todas las Tramas Guiadas si ack/noack
= “1”b. El acuse Anterior o Posterior está determinado por el valor
de anterior/posterior.
1 Acuse solamente de Tramas Guiadas que no se
completan con éxito. Este acuse tendrá lugar independientemente de
los valores de ack/\upbar{noack} y early/\upbar{late} y será
naturalmente un acuse posterior.
up/\upbar{down} Valor de control de Arriba o
Abajo. Este valor se utiliza para controlar si la trama se procesa
en el lado superior o en el lado inferior. Este campo es ignorado
cuando resp/\upbar{req} es “1”b. Todas las Tramas Guiadas de
multidifusión tendrán un valor de up/\upbar{down} de “0”b. Además,
las Órdenes Guiadas que requieren el uso de instrucciones de
asistencia al hardware del GTH tendrán un valor de up/\upbar{down}
de “0”b.
0 Proceso en lado inferior
1 Proceso en lado superior
gth/\upbar{gch} Valor de control del Gestor
General del Árbol o Gesto de Células Guiadas. Este valor se utiliza
para dirigir Tramas Guiadas al propio picoprocesador.
0 picoprocesador del GCH
1 picoprocesador del GTH
TB valor de la lámina objetivo. Cuando
resp/\upbar{req} es “0”b, este campo contiene información de
encaminamiento utilizada por Prizma. Cada posición de bit
corresponde a una Lámina Objetivo. Si este valor es "0000"h, se
supone que la Trama Guiada es para esta lámina y es ejecutada
consecuentemente. Un valor de “1”b en una o más posiciones de bit
del campo TB indica que la célula es encaminada a la correspondiente
Lámina (o Láminas) Objetivo. Cuando resp/\upbar{req} es “1”b, el
campo contiene el valor de My_TB de la lámina que responde.
La Palabra 1 de la Trama Guiada contiene un
valor de correlación (figura 7). Este valor es asignado por el
software del CP para efectuar la correlación entre las respuestas de
Trama Guiada y sus peticiones. El Dispositivo de Correlación
incluye una pluralidad de bits con funciones asignadas.
Cada Orden Guiada comienza con un campo de
información de Control de Órdenes. Este Control de Órdenes contiene
información que ayuda al picocódigo del GCH a procesar una Trama
Guiada. El formato de esta información está ilustrado en la figura
8.
Valor de longitud: Este valor indica el número
total de palabras de 32 bits contenidas en las partes de Información
de Control (Palabra 0 de la orden), la Información de Dirección
(Palabra 1 de la orden), y el Operando (Palabras 2+ de la orden) de
la Trama Guiada.
Valor de Código de Terminación: Este campo es
inicializado por el CP y es modificado por el picocódigo del GCH
cuando se procesan las Órdenes Guiadas. El picocódigo del GCH
utiliza este campo para el estado de terminación de la Orden Guiada
precedente en la lista de órdenes. Como todas las listas de Órdenes
Guiadas terminan con la Orden Guiada del Delimitador del Final, el
estado de terminación de la última orden está contenido en el campo
del Código de Terminación del Delimitador del Final.
Nombre Simbólico | Valor del Tipo | Descripción del tipo |
End_delimiter | 0000 | marca el final de una secuencia de Tramas Guiadas |
Build_TSE_Free_list | 0001 | construir lista libre |
Sostware_action | 0010 | ejecutar acción de software |
No solicitado | 0011 | tramas iniciadas por el picocódigo de EPC |
Block_write | 0100 | graba un bloque de datos en direcciones consecutivas |
Duplicate_Write | 0101 | graba datos duplicados en registradores o memoria |
Read register | 0110 | petición orespuesta de lectura o datos de memoria |
0111 | reservado | |
Insert_leaf | 1000 | insertar una hoja en el árbol de búsqueda |
Update_leaf | 1001 | actualizar una hoja del árbol de búsqueda |
Read_leaf | 1010 | petición y respuesta de lectura de datos de Página |
1011 | reservado | |
Delete_leaf | 1100 | eliminar una hoja del árbol de búsqueda |
1101-1111 | reservado |
La información de direccionamiento contenida en
la Trama Guiada identifica un elemento dentro del esquema de
direccionamiento del Procesador de Red. La forma general del campo
de Información de Direcciones está ilustrada en la figura 9.
El dispositivo de interfaz emplea un esquema de
direccionamiento de 32 bits. Este esquema de direccionamiento
asigna un valor de dirección a cada estructura accesible del
dispositivo de interfaz. Estas estructuras son internas al
Procesador o bien están conectadas a interfaces bajo el control del
Procesador. Algunas de estas estructuras son accedidas por el
Complejo de Procesadores Incorporados (EPC) a través de un interfaz
interno denominado Interfaz del Entramado de Redes (Web). El resto
de las estructuras son accedidas a través de interfaces de
controlador de memoria. En todos los casos, la forma general de la
dirección está ilustrada en la figura 10.
El Controlador de Red está subdividido en islas
de chips principales. A cada isla se le da un valor de Identificador
de Isla exclusivo. Este valor de Identificador de Isla de 5 bits
forma los 5 bits más significativos de la dirección para
estructuras controladas por esa isla de chips. La correspondencia
entre el valor del Identificador de Isla codificado y el nombre de
la isla de chips está ilustrada en la figura 11. La segunda parte de
la dirección de la Web consiste en los 23 bits siguientes más
significativos. Este campo de direcciones es segmentado en una
parte de dirección de la estructura y una parte de dirección del
elemento. El número de bits utilizado para cada segmento puede
variar de isla a isla. Algunas islas pueden contener solamente unas
pocas estructuras grandes, mientras que otras pueden contener
muchas estructuras pequeñas. Por esa razón, no hay un tamaño fijo
para estos segmentos de direcciones. La parte de dirección de la
estructura se utiliza para dirigir una agrupación dentro de la
isla, mientras que la parte de dirección del elemento se utiliza
para dirigir un elemento dentro de la agrupación. La parte restante
de la dirección es para acomodar la limitación del bus de datos de
32 bits del Interfaz de la Web. Esta dirección de palabra de 4 bits
se utiliza para seleccionar segmentos de 32 bits del elemento
direccionado. Esto es necesario para desplazar elementos de
estructura mayores de 32 bits a través del Bus de Datos de la Web
del Controlador de Red. El valor “0”h de la dirección de una palabra
se refiere a los 32 bits más significativos del elemento de la
estructura, mientras que los valores secuenciales de las
direcciones de una palabra corresponden sucesivamente a segmentos
menos significativos del elemento de la estructura. La parte de
dirección de una palabra de la dirección no es requerida para
estructuras no accedidas a través del Interfaz de la Web. Por esta
razón, el Almacenamiento Superior de Datos, las Memorias de Control
y el Almacenamiento Inferior de Datos hacen uso de la totalidad de
27 los bits menos significativos de la dirección para acceder a los
elementos de la estructura. Otra excepción a este formato es la
dirección del Interfaz SPM. En ese caso, se utiliza la totalidad de
los 27 bits de la dirección y ningún elemento es mayor que 32
bits
en anchura.
en anchura.
El Complejo de Proceso Incorporado (EPC)
proporciona y controla la capacidad de programación del Chip del
Dispositivo de Interfaz. Incluye los componentes siguientes (véase
también la figura 12A):
N unidades de proceso, denominadas GxH: Los GxH
ejecutan concurrentemente el picocódigo que está almacenado en una
Memoria de Instrucciones común. Cada GxH consiste en un núcleo de la
Unidad de Proceso, denominado CLP, que contiene una línea de
distribución de 3 etapas, 16 GPR y una ALU. Cada GxH contiene
también varios coprocesadores, como por ejemplo el Motor de
Búsqueda de Árbol.
Memoria de Instrucciones: Se carga durante la
inicialización y contiene el picocódigo para reenviar tramas y
gestionar el sistema.
Un distribuidor: Quita de la cola las
direcciones de trama que están en la cola del distribuidor de la
parte superior y de la inferior. Una vez quitadas de la cola, el
distribuidor pre-recupera parte de la cabecera de
la trama del Almacenamiento de Datos (DS) de la parte superior o
inferior y la almacena en una memoria interna. Tan pronto como el
GxH queda libre, el Distribuidor pasa la cabecera de la trama con la
información de control apropiada, como la Dirección de Instrucción
de Código (CIA) al GxH. El distribuidor gestiona también los
temporizadores y las interrupciones.
Un Arbitrador de Memoria de Búsqueda de Árbol
(TSM): Hay diversos lugares de memoria compartida interna y externa
disponibles para cada GxH. Como esta memoria es compartida, se
utiliza un arbitrador para controlar el acceso a la memoria. El TSM
puede ser accedido directamente por el picocódigo, que puede ser
utilizado por ejemplo para almacenar tablas antiguas en el TSM.
Además, el TSM será accedido por el TSE durante búsquedas de
árbol.
árbol.
La Unidad de Terminación (CU): La Unidad de
Terminación realiza dos funciones. En primer lugar, hace de interfaz
entre las N Unidades de Proceso y el UP y el Dn EDS (Poner en cola,
Quitar de la cola y Programar Isla). El EDS realiza la acción de
poner en cola: una dirección de trama, junto con los parámetros
apropiados denominados FCBPage, es puesta en cola en una cola de
transmisión, una cola de descartes, o una cola de distribuidor. En
segundo lugar, la Unidad de Terminación garantiza la secuencia de
tramas. Como puede suceder que haya múltiples GxH procesando tramas
que pertenecen al mismo flujo, deben tomarse precauciones para que
estas tramas sean puestas en cola en las colas de transmisión de la
parte superior o inferior en el orden correcto. La Unidad de
terminación utiliza una etiqueta que es generada por el Asistente
Clasificador por Hardware al distribuir una trama.
Asistente Clasificador por Hardware: Para tramas
de la parte superior, el Asistente Clasificador por Hardware
proporciona una clasificación para casos muy conocidos de formatos
de trama. Los resultados de la clasificación son traspasados al
GxH, durante la distribución de tramas, en términos del CIA y del
contenido de uno o más registradores. Para tramas del lado
inferior, el Asistente Clasificador por Hardware determina el CIA,
dependiendo de la cabecera de la trama. Para ambas distribuciones
del lado superior y del lado inferior, el Asistente Clasificador
por Hardware genera una etiqueta que es utilizada por la Unidad de
Terminación para mantener la secuencia de tramas.
Interfaz y Arbitrador del Almacenamiento de
Datos de la parte superior e inferior: Cada GxH tiene acceso al
Almacenamiento de Datos de la parte superior e inferior: se
proporciona el acceso a lectura cuando se lee "más Fish" y se
proporciona acceso a la grabación cuando se graba de nuevo el
contenido del FishPool (Lugar común de los Fish) en el
Almacenamiento de Datos. Como hay N Unidades de Proceso, y solamente
una de ellas a la vez puede acceder al Almacenamiento de Datos
Superior y solamente una a la vez puede acceder al Almacenamiento
de Datos Inferior, se requiere un arbitrador para cada
Almacenamiento de Datos.
Arbitrador de WEB e interfaz de WEBwatch: El
Arbitrador de WEB arbitra entre los GxH para acceder a la WEB.
Todos los GxH tienen acceso a la WEB, lo cual permite acceso a todas
las funciones de memoria y registradores en un dispositivo de
interfaz. Esto permite a cualquier GxH modificar o leer todas las
zonas de configuración. La WEB puede concebirse como el mapa de
memoria del dispositivo de interfaz. El interfaz WEBwatch
proporciona acceso a toda la WEB desde el exterior del chip
utilizando 3 patillas de E/S del chip.
Depuración, Interrupciones y Control de un solo
paso: La WEB permite al GCH o al WEBwatch controlar cada uno de los
GxH del chip cuando sea necesario. Por ejemplo, la Web puede ser
utilizada por el GCH o el WEBwatch para instrucciones de un solo
paso en el GxH.
Un procesador de propósito general incorporado,
como un PowerPC (PC de potencia).
Hay cuatro tipos de GxH (figura 12B).
GDH (Gestor General de Datos). Hay ocho GDH.
Cada GDH tiene un CLP completo con cinco coprocesadores (que se
describen en la sección siguiente). Los GDH se utilizan
principalmente para reenviar tramas.
GCH (Gestor de Células Guiadas). El GCH tiene
exactamente el mismo hardware que el GDH. Sin embargo, una trama
guiada solamente puede ser procesada por el GCH. Es programable en
la WEB (Registrador CLP_Ena) si el GCH tiene permitido procesar
también tramas de datos (en cuyo caso asume el papel de un GDH). El
GCH tiene hardware adicional en comparación con el GDH: asistente
de hardware para efectuar inserciones y eliminaciones del árbol. El
GCH se utiliza para ejecutar picocódigo relacionado con células
guiadas, efectuar picocódigo relacionado con la gestión de chips y
árboles, como el envejecimiento, y para intercambiar información de
control con el CP y/u otro GCH. Cuando no hay tal tarea que
efectuar, el GCH ejecutará el picocódigo relacionado con el reenvío
de tramas, y en este caso se comporta exactamente como un GDH.
GTH (Gestor General de Árbol). El GTH tiene
asistente de hardware adicional para ayudar a realizar inserciones
en el árbol, eliminaciones del árbol y gestión de cuerdas. El GTH
procesará tramas de datos cuando no hay tramas (que contengan
órdenes de gestión del árbol) en el GPQ.
GPH (Gestor General de PowerPC). El GPH tiene
hardware adicional en comparación con el GDH y el GTH. El GPH hace
de interfaz con el Procesador de Propósito General a través de un
interfaz (i/f) con un Buzón de Correo.
El número de GxH (diez) es una "mejor
estimación". La evaluación del rendimiento determinará cuántos
GxH son realmente requeridos. La arquitectura y estructura es
completamente escalable hacia más GxH y la única limitación es la
cantidad de zona de silicio (que debería incluir entonces un
arbitrador y memoria de instrucciones mayo-
res).
res).
Cada GxH está estructurado como se ilustra en la
figura 12C. Además del CLP con Registradores de Propósito General
(GPR) y Unidad Aritmética Lógica (ALU), cada GxH contiene los
siguientes cinco coprocesadores:
(DS) Interfaz de Coprocesador. Hace de interfaz
con el Distribuidor y con las sub-islas que
proporcionan acceso de lectura y grabación a los Almacenamientos de
Datos superior e inferior. El Interfaz de DS contiene el denominado
FishPool (lugar común de los Fish).
Coprocesador del Motor de Búsqueda de Árbol
(TSE). El TSE realiza búsquedas en los árboles, y también hace de
interfaz con la Memoria de Búsqueda de Árboles (TSM).
Coprocesador de Puesta en cola. Hace de interfaz
con el interfaz de la Unidad de Terminación y contiene la FCBPage
Página de FCB). Este coprocesador contiene un registrador de 256
bits con asistente de hardware adicional que el picocódigo debe
utilizar para construir la FCBPage, que contiene los parámetros de
puesta en cola. Una vez que la FCBPage está construida, el
picoprocesador puede ejecutar una instrucción de puesta en cola, lo
que hace que este coprocesador reenvíe la PCBPage a la Unidad de
Terminación.
Coprocesador de Interfaz con WEB. Este
coprocesador proporciona un interfaz con el arbitrador de la WEB y
permite la lectura y la grabación hacia/desde la WEB del dispositivo
de Interfaz.
Coprocesador de suma de comprobación. Genera
sumas de comprobación en tramas almacenadas en el Fishpool (descrito
más adelante).
Las Unidades de Proceso son compartidas entre el
proceso de entrada y el proceso de salida. Puede programarse la
cantidad de anchura de banda reservada para el proceso de entrada en
comparación con el proceso de salida. En la implementación actual,
hay dos modos: 50/50 (es decir, la entrada y la salida obtienen la
misma anchura de banda) o 66/34 (es decir, la entrada obtiene el
doble de anchura de banda que la salida).
El funcionamiento de las Unidades de Proceso es
provocado por eventos. Es decir, la llegada de una trama se trata
como un evento, así como la aparición repentina de un temporizador o
una interrupción. El distribuidor trata eventos diferentes de una
manera idéntica, aunque hay una prioridad (primero la interrupción,
después los eventos de temporización y finalmente eventos de
llegada de tramas). Cuando se entrega un evento a una Unidad de
Proceso, se le da la información apropiada a la Unidad de Proceso.
Para eventos de llegada de tramas, esto incluye parte de la
cabecera de la trama, e información procedente del clasificador de
hardware. Para temporizadores e interrupciones, esto incluye el
punto de entrada de código y otra información relativa al
evento.
Cuando llega una trama al lado de entrada, y el
número de bytes recibidos de esta trama ha excedido un umbral
programable, se escribe la dirección del bloque de control de tramas
en un GQ.
Cuando se ha reconstruido una trama completa en
el lado de salida, se escribe la dirección de la trama en un GQ.
Hay cuatro tipos de GQ (y por cada tipo, figura 12B, hay una versión
de entrada y una versión de salida):
GCQ: contiene tramas que deben ser procesadas
por el GCH.
GTQ: contiene tramas que deben ser procesadas
por el GTH.
GPQ: contiene tramas que deben ser procesadas
por el GPH.
GDQ: contiene tramas que deben ser procesadas
por cualquier GDH (o GCH/GTH cuando están habilitados para procesar
tramas de datos). Para el GDQ, hay múltiples prioridades, por lo que
las tramas puestas en cola en un GDQ de mayor prioridad serán
procesadas antes que las tramas puestas en cola en una cola de menor
prioridad.
Algunas Unidades de Proceso pueden ser
especializadas. En la implementación actual, hay cuatro tipos de
Unidades de Proceso (GxH) (véase también la figura 12B).
GDH (Gestor General de Datos). Los GDH se
utilizan principalmente para reenviar tramas.
GCH (Gestor de Células Guiadas). El GCH tiene
exactamente el mismo hardware que el GDH. Sin embargo, una trama
guiada solamente puede ser procesada por el GCH. Es programable en
la WEB (registrador CLP_Ena) si el GCH está habilitado para
procesar también tramas de datos (en cuyo caso asume el papel de
GDH).
GTH (Gestor General de Árbol). El GTH tiene
hardware adicional en comparación con el GDH/GCH: el asistente de
hardware para realizar inserciones en árboles, eliminaciones en
árboles y gestión de cuerdas. El GTH procesará tramas de datos
cuando no hay tramas (que contengan órdenes de gestión de árboles)
en el GPQ.
GPH (Gestor General de PowerPC). El GPH tiene
hardware adicional en comparación con el GDH/GTH. El GPH tiene un
interfaz con el PowerPC incorporado por medio de un interfaz de
buzón de correo.
En una implementación actual, el papel del GCH,
GTH y GPH puede ser implementado en una sola Unidad de Proceso. Por
ejemplo, una implementación podría tener una Unidad de Proceso para
el GCH y el GPH. Un comentario similar es aplicable al GCQ, GTQ y
GPQ.
El propósito del Coprocesador del Almacenamiento
de Datos es:
Hacer de interfaz con el Almacenamiento de Datos
Superior, que contiene tramas que han sido recibidas desde el
medio, y con el Almacenamiento de Datos Inferior, que contiene
tramas reconstruidas recibidas desde el sistema de conmutación
Prizma Atlantic.
El Coprocesador del Almacenamiento de Datos
recibe también información de configuración durante la distribución
de un evento de temporización o de interrupción.
El Coprocesador del Almacenamiento de Datos es
capaz de calcular sumas de comprobación en las tramas.
El Coprocesador del Almacenamiento de Datos
contiene un FishPool o lugar común para los Fish, (que puede
contener hasta 8 fish), una memoria de notas (que pueden contener
hasta 8 fish) y algunos registradores de control para leer/grabar
el contenido del FishPool desde/hacia el almacenamiento de datos
superior o inferior. El FishPool puede ser visto como cierta clase
de zona de trabajo para el Almacenamiento de Datos: en lugar de
leer/grabar directamente en un Almacenamiento de Datos, se lee una
cantidad mayor de datos de trama desde el Almacenamiento de Datos
del FishPool o se graba una mayor cantidad de datos desde el
FishPool en el Almacenamiento de Datos. La unidad de transferencia
es un Fish, que es igual a 16 bytes.
El FishPool puede ser visto como una memoria que
puede contener hasta 8 fish, es decir, 8 palabras de 128 bits cada
una. En la arquitectura del procesador del CLP, el FishPool es una
agrupación de registradores de 128 bytes. Cada byte del FishPool
tiene una dirección de bytes de 7 bits (0...127) y el acceso se hace
sobre la base de 16 bits o 32 bits. Al igual que todas las
agrupaciones de registradores, el Fishpool tiene un esquema de
direccionamiento circular. Es decir, al dirigirse a una palabra (es
decir, cuatro bytes) comenzando en el lugar 126 del Fishpool, se
obtienen los bytes 126, 127, 0 y 1. Además, desde el punto de vista
del Coprocesador del Almacenamiento de Datos, los lugares fish del
Fishpool tienen una dirección de fish de 3 bits.
Al distribuir tramas, los primeros N fish de una
trama se copian automáticamente en el Fishpool por medio del
distribuidor. El valor de N es programable en la Memoria de
Configuración de Puertos. Típicamente, N es igual a cuatro para la
distribución de tramas superiores, 2 para la distribución de tramas
inferiores en difusión única, 4 para distribución de tramas
inferiores en multidifusión y 0 para interrupciones y
temporizadores.
El picocódigo puede leer más bytes de una trama,
en cuyo caso el Coprocesador del Almacenamiento de Datos lee
automáticamente los datos de la trama en el fishpool en la siguiente
dirección de fish, empaquetándose automáticamente como 0 cuando se
ha alcanzado el límite del Fishpool. Además, el picocódigo puede
leer o grabar el almacenamiento de datos superior/inferior en una
dirección absoluta.
El Coprocesador de WEB tiene un interfaz con el
Arbitrador EPC WEB. El arbitrador EPC WEB arbitra entre los diez
GxH y el Guardián de WEB para convertirse en maestro en el interfaz
de WEB del dispositivo de interfaz. Esto permite a todos lo GxH
leer y grabar en la WEB.
El complejo de memorias del dispositivo de
interfaz proporciona medios de almacenamiento para el Complejo de
Proceso Incorporado (EPC), figura 12A. El complejo de memoria
incluye el Arbitrador de Memoria de Búsqueda del Árbol y una
pluralidad de memorias en el chip y fuera del chip. Las memorias
almacenan estructuras de árbol, contadores y cualquier otra cosa
para la que el picocódigo requiera acceso a memoria. Además, las
memorias son utilizadas para almacenar estructuras de datos que son
utilizadas por el hardware, como listas libres, bloques de control
de colas, etc. Cualquier lugar de memoria que no esté asignado para
árboles o que no esté utilizado por el hardware, está disponible
por defecto para uso del picocódigo, como los contadores y tablas
antiguas.
La figura 13 muestra un diagrama de bloques más
detallado del complejo de memoria. El arbitrador de memoria de
búsqueda del árbol (TSM) proporciona el enlace de comunicaciones
entre los Procesadores Incorporados (GxH) y las memorias. Las
memorias incluyen 5 SRAM sobre el chip, 1 SRAM fuera del chip y 7
DRAM fuera del chip. El Arbitrador d TSM incluye diez Unidades de
Control de Peticiones (cada una de ellas conectada a uno de los
Procesadores Incorporados GxH) y 13 unidades arbitradoras de
memoria, una para cada memoria. Una estructura de bus interconecta
las Unidades de Control de Peticiones con las unidades arbitradoras,
de tal manera que cada unidad de control y su GXH conectado tienen
acceso a todas las memorias.
La unidad de control incluye el hardware
necesario para guiar los datos entre el Procesador Incorporado (GxH)
y los arbitradores.
Las unidades arbitradoras SRAM, entre otras
cosas, gestionan el flujo de datos entre el Procesador Incorporado
GxH y las SRAM dentro del chip y fuera del chip.
Las Unidades Arbitradoras DRAM, entre otras
cosas, gestionan el flujo de datos entre el Procesador Incorporado
(GxH) y los dispositivos DRAM fuera del chip.
Cada Arbitrador de Memoria contiene un acceso
por la "puerta trasera", que es típicamente utilizada por otras
partes del chip y tiene la más alta prioridad de acceso.
Las memorias DRAM pueden ejecutarse en dos modos
de funcionamiento:
Modo TDM. El acceso a memoria en los cuatro
bancos del DDRAM se hace alternando "ventanas" de lectura y
ventanas de grabación, donde en una ventana de lectura, el acceso a
cualquiera de los cuatro bancos es de sólo lectura, y en una
ventana de grabación, el acceso a cualquiera de los cuatro bancos es
de sólo grabación. Utilizando el modo TDM para múltiples DDRAM, se
permite compartir algunas señales de control entre las DDRAM y por
tanto se ahorran algunos chips 10 (que es un recurso muy
escaso).
Modo de-TDM. El acceso a memoria
de los cuatro bancos de la DDRAM puede ser una combinación de
lectura y grabación, que debe seguir ciertas reglas específicas.
Por ejemplo, se puede hacer una lectura en un banco A y una
grabación en un banco C dentro de una ventana de acceso.
El Arbitrador TSM permite acceder a N
Solicitantes simultáneamente a M memorias. Cuando hay múltiples
Solicitantes que quieren acceder a la misma memoria, se realiza un
arbitraje circular.
Las M memorias pueden tener propiedades
diferentes. En nuestra implementación actual, hay tres tipos de
memorias: SRAM interna, SRAM externa y DDRAM externa.
Las M memorias y los N Solicitantes son
homogéneos: cualquier Solicitante puede acceder a cualquier
memoria.
Algunas memorias están divididas lógicamente en
múltiples sub-memorias (como cuatro bancos en la
DDRAM), que pueden ser accedidas lógicamente de manera
simultánea.
Parte de las M memorias se utiliza para
controlar memorias que contienen estructuras de datos utilizadas
internamente, que tienen un acceso de alta prioridad en comparación
con los picoprocesadores. Esto permite también la depuración del
chip, ya que los picoprocesadores pueden leer el contenido de las
memorias de control.
El arbitrador admite acceso de lectura, acceso
de grabación y
lectura-suma-grabación, por lo que
se suma un entero de N bits al contenido de la memoria en una
operación atómica.
Se utiliza un esquema de direcciones generales
para acceder a las M memorias, de forma tal que el lugar físico de
un objeto en memoria es transparente.
El concepto de árboles es utilizado por el Motor
de Búsqueda de Árbol, para almacenar y recuperar información.
Recuperación, es decir, las búsquedas de árbol y también las
inserciones y eliminaciones se hacen basándose en una Clave, que es
como un modelo de bits, por ejemplo, una dirección de fuente MAC, o
la concatenación de una fuente de direcciones IP y direcciones de
destino IP. La información es almacenada en un bloque de control
denominado Hoja, que contiene al menos la clave (como se verá
después, el modelo de bits almacenado es realmente la Clave
aleatoria). Una hoja puede contener también información adicional,
como información de antigüedad, o información de usuario, que puede
ser por ejemplo información de reenvío como lámina objetivo y
números de puerto objetivo.
Hay tipos de árboles (FM, LPM y SMT) y búsquedas
asociadas del tipo de árbol, que son: coincidencia fija, árbol
gestionado por software y coincidencia del prefijo mayor. Un
criterio adicional para comprobar la hoja durante la búsqueda de
árbol es la Máscara de Vector. La gestión de cuerdas, antigüedad y
enclavamiento son utilizados para aumentar el rendimiento de la
búsqueda.
El algoritmo de búsqueda de árboles FM está
ilustrado en la figura 14. El algoritmo de búsqueda funciona con
parámetros introducidos, que incluyen la Clave, realiza una
aleatorización de la Clave, accede a una Tabla Directa (DT),
recorre el árbol a través de los Bloques de Control de Búsqueda de
Modelo (PSCB) y termina en una Hoja (figura 14). Hay tres tipos de
árboles, cada uno de los cuales tiene su propio algoritmo de
búsqueda, lo que hace que el recorrido por el árbol ocurra de
acuerdo con reglas diferentes. Por ejemplo, para árboles de
Coincidencia Fija (FM), la estructura de datos es un Árbol Patricia.
Cuando se ha encontrado una Hoja, esta Hoja es el único candidato
posible que puede coincidir con la Clave introducida. Para Árboles
Gestionados por Software, puede haber hojas múltiples que están
encadenadas en una lista enlazada. En este caso, todas las Hojas de
la cadena son comprobadas con la Clave introducida, hasta que se
encuentra una coincidencia o hasta que se termina la cadena. Una
operación denominada "comparar en el final", que compara la
Clave introducida con el modelo almacenado en la Hoja, verifica si
la Hoja coincide realmente con la Clave introducida. El resultado
de la búsqueda será correcto cuando se ha encontrado la Hoja y ha
tenido lugar una coincidencia, o incorrecto en todos los demás
casos.
La entrada a una operación de búsqueda consiste
en los parámetros siguientes:
- Clave (128 bits).
- La Clave debe ser construida utilizando instrucciones especiales de picocódigo antes de la búsqueda (o de la inserción/eliminación). Solamente hay un registrador de Claves. Sin embargo, una vez que ha comenzado la búsqueda de árbol, el registrador de Claves puede ser utilizado por el picocódigo para construir la clave de la búsqueda siguiente, concurrentemente con el TSE que realiza la búsqueda. Esto se hace porque el TSE hace aleatoria la Clave y almacena el resultado en un registrador interno de Claves Aleatorias (por tanto, en realidad, hay dos registradores de Claves).
- Longitud de Clave (7 bits).
- Este registrador contiene la longitud de la Clave en bits. Se actualiza automáticamente por hardware durante la construcción de la Clave.
- LUDefindex (8 bits).
- Este es un índice dentro de la LUDefTable (Tabla LUDef), que contiene una definición LUDefTable se describe posteriormente con más detalle.
- TSRNr (1 bit).
- Los resultados de la búsqueda pueden ser almacenados en la Zona 0 de Resultados de Búsqueda del Árbol (TSR0) o bien en TSR1. Esto se especifica por medio del TSRNr. Mientras que el TSE está buscando, el picocódigo puede acceder al otro TSR para analizar los resultados de una búsqueda anterior.
- VectorIndex (6 bits).
- Para árboles que tienen habilitada la Máscara del Vector (que está especificada en la Tabla LUDef), el Índice de Vectores (VectorIndex) indica un bit en la Máscara del Vector. Al final de la búsqueda, se devuelve el valor de este bit y puede ser utilizado por el picocódigo.
La Clave introducida será hecha aleatoria en una
HashedKey (Clave aleatoria), como se ilustra en la figura 14. Hay
disponibles seis algoritmos aleatorios fijos (un "algoritmo" no
realiza ninguna función aleatoria). En la Tabla LUDef se especifica
qué algoritmo se utilizará. Puede utilizarse una función aleatoria
programable para añadir flexibilidad.
La salida de la función aleatoria es siempre un
número de 128 bits, que tiene la propiedad de que hay una
correspondencia de uno a uno entre el valor original de la Clave
introducida y la salida de la función aleatoria. Como se explicará
más adelante, esta propiedad hace mínima la profundidad del árbol
que comienza después de la Tabla Directa.
\global\parskip0.920000\baselineskip
Si se habilitan colores para el árbol, que es el
caso en el ejemplo de la figura 14, se inserta el registrador de
color de 16 bits en la salida de la función aleatoria de 128 bits.
La inserción tiene lugar directamente después de la Tabla Directa.
Es decir, si la Tabla directa contiene 2^{N} elementos, el valor
del color de 16 bits se inserta en la posición de bit N, como se
ilustra en la figura. La salida de la función aleatoria, junto con
el valor del color insertado, (cuando está habilitado), es
almacenada en el registrador de Claves Aleatorias.
La función aleatoria está definida de forma tal
que la mayor parte de la entropía de su salida reside en los bits
más altos. Los N bits más altos del registrador de claves aleatorias
se utilizan para calcular un índice en la Tabla Directa (DT).
La búsqueda comienza con un acceso en la Tabla
Directa: se lee un Elemento de la DT (DTEntry) en la Tabla Directa.
La dirección utilizada para leer el elemento de DT se calcula a
partir de los N bits más altos de la Clave Aleatoria, así como de
las propiedades del árbol como se definen en la Tabla LUDef. Esto se
explica con detalle posteriormente. El DTEntry puede ser visto como
la raíz de un árbol. La estructura particular del árbol que se
utiliza depende del tipo de árbol. En este punto, basta con decir
que se utiliza una estructura de datos de Árbol Patricia para
árboles de FM, y extensiones de Árboles Patricia para árboles LPM y
SMT.
En la figura 15 se ilustra un ejemplo del uso de
una DT de 8 elementos. Puede observarse que el tiempo de búsqueda
(es decir, el número de PSCB que deben ser accedidos) puede ser
reducido utilizando una DT. Así, al aumentar el tamaño de la DT,
puede equilibrarse la utilización de la memoria y el rendimiento de
la búsqueda.
Como puede observarse en la figura 15, un
elemento de la DT (DTEntry) puede contener la información
siguiente:
Vacío. No hay Hojas unidas a este DTEntry.
Un puntero a una Hoja. Hay una sola Hoja unida a
este DTEntry.
Un puntero a una PSCB. Hay más de una Hoja
unidas a este DTEntry. El DTEntry define la raíz de un árbol.
El Algoritmo de Búsqueda para un árbol
gestionado por software, y el algoritmo para generar el árbol, están
establecidos en la Solicitud de Patente de Estados Unidos con el
número de serie 09/312,148.
Un algoritmo denominado "Algoritmo del Bit de
Elección" utiliza una cierta métrica para construir un árbol
binario de búsqueda basado en los bits seleccionados a partir de
elementos denominados "reglas" en un conjunto o universo de
reglas. Todos nuestros ejemplos están expresados en términos de
cabeceras del Protocolo de Internet (IP), pero podría utilizarse en
su lugar una cabecera de formato fijo de cualquier tipo.
En IP, cada Regla pertenece a ciertas Claves que
podrían ser construidas con las subsecciones siguientes: Dirección
Fuente (SA), Dirección de Destino (DA), Puerto Fuente (SP), Puerto
de Destino (DP), y Protocolo (P). Estos datos son, respectivamente,
de una longitud de 32, 32, 16, 16 y 8 bits y, así, una Clave a
comprobar consiste en 104 bits. El Algoritmo de Bit de Elección
encuentra ciertos bits de los 104 que son especialmente útiles.
Comprobar unos cuantos bits elimina en efecto todas menos una, o
todas menos unas pocas reglas para una posible aplicación. Para
algunas reglas, son apropiadas también desigualdades de comprobación
por medio de simples operaciones de comparación. Las comprobaciones
y comparaciones de bits están organizadas lógicamente en un árbol
binario. El árbol tiene un mapa de correspondencia con una
estructura habilitada por hardware que comprueba bits a altas
velocidades. Tales comprobaciones dan como resultado una sola regla
o un pequeño número de reglas (denominadas cadena de hojas) que
podrían ajustarse a la Clave. En el primer caso, la Clave es
comprobada después por completo por la regla. En el último caso, la
Clave es comprobada después en un entramado de comprobaciones
utilizando comparaciones y comprobaciones completas de la regla.
Cada regla del conjunto de reglas está asociada
con una acción que se emprende si la regla es la regla de más alta
prioridad que se ajusta a la Clave. Las reglas pueden tener
intersecciones (una clave se ajusta a dos o más reglas). En ese
caso, las reglas pueden tener asignados números de prioridad 1, 2,
3,… de manera que dos reglas que tienen una intersección tienen
prioridades diferentes (un administrador debe declarar qué regla es
la dominante si una clave se ajusta a dos o más). Por tanto, si
permanecen más de una regla para ser comprobadas después de las
comprobaciones y comparaciones de bits, las reglas se comprobarán en
orden de prioridad. Un número de prioridad menor designa una regla
con prioridad más alta.
Si no se encuentra nada absolutamente que se
ajuste, hay que especificar alguna provisión por defecto.
El algoritmo de búsqueda para el método de
Coincidencia del Prefijo más largo, está establecido en la Patente
de Estados Unidos núm. 5.787.430. El método requiere entrar en un
nodo de dicha base de datos (nodo raíz); determinar un camino de
búsqueda desde un nodo a otro a través de dicha base de datos en
forma de árbol, procesando sucesivamente segmentos de dicho
argumento de búsqueda que comprenden solamente aquellas partes de
los elementos que son necesarias para identificar el nodo siguiente
(hijo), y dicha segunda información de enlace, hasta que se hayan
consumido dichos segmentos o se alcance un nodo (de hoja) al que
falte dicha segunda información de enlace; comparar con dicho
argumento de búsqueda un elemento almacenado en el nodo, en el cual
termina dicho camino de búsqueda; y si no se encuentra al menos una
coincidencia parcial entre el argumento de búsqueda y dicho
elemento en dicho nodo en curso, hacer un seguimiento hacia atrás de
dicho camino de búsqueda procesando dicha primera información de
enlace de dicho nodo en curso; y repetir los dos pasos anteriores
hasta que se encuentre dicha al menos una coincidencia parcial o se
alcance dicho nodo raíz.
La figura 16 muestra un modo de realización del
principal dispositivo de la matriz de conmutación. Preferiblemente,
cada chip del dispositivo de interfaz tiene al menos dos puertos
integrados de paralelo a serie, que reciben datos en paralelo y
convierten los datos en una corriente de datos en serie de alta
velocidad que es reenviada por un enlace serie al dispositivo de la
matriz de conmutación. Los datos recibidos desde el dispositivo de
la matriz de conmutación sobre un enlace serie de alta velocidad son
convertidos en datos en paralelo por otro DASL. En este documento
se describe un modo de realización del dispositivo para convertir en
serie/deshacer la conversión denominado Enlace Serie de Ajuste de
Datos (DASL).
Al menos un DASL hace de interfaz entre el
dispositivo de la matriz de conmutación y los enlaces serie. Los
datos procedentes del enlace serie son convertidos en datos en
paralelo, que son entregados al dispositivo de la matriz de
conmutación. De igual manera, los datos en paralelo procedentes del
dispositivo de la matriz de conmutación, son convertidos en datos
serie que son entregados a los dispositivos serie. Los enlaces serie
pueden ser acumulados para aumentar el rendimiento.
Siguiendo con la referencia a la figura 16, el
sistema de conmutación incluye la matriz 11 de conmutación, los
adaptadores 13 (13-1...13-k) de
entrada del conmutador que están conectados a los puertos 15
(15-1,...15-k) de entrada de la
matriz de conmutación, y unos adaptadores 17
(17-1,...15-p), que están conectados
a la matriz de conmutación en los puertos 19
(19-1,...19-p) de salida.
Los enlaces 21 entrantes y salientes
(21-1,...21-q) y
(23-1,...23-r) de transmisión están
conectados al sistema de conmutación por medio de adaptadores 25
(de enlace) de líneas (25-1,...25-q)
y (27-1,...27-r), respectivamente.
Los enlaces de transmisión transportan tráfico de conmutación de
circuitos o de conmutación de paquetes desde y hacia unidades
anexas tales como estaciones de trabajo, teléfonos o similares
(enlaces designados como WS), desde y hacia redes de área local
(enlaces designados como LAN), desde o hacia instalaciones de Red
Digital de Servicios Integrados (enlaces denominados como RDSI), o
desde y hacia cualquier otro sistema de comunicaciones. Además, los
procesadores pueden estar unidos directamente a los adaptadores 13 y
17 de conmutación. Los adaptadores de línea (LA) y los adaptadores
de conmutación (SA) tienen un interfaz común.
En los adaptadores de entrada del conmutador, se
recogen diversos servicios de los interfaces de conmutación de
paquetes y de conmutación de circuitos, y son convertidos en
minipaquetes uniformes (que tienen una de diversas longitudes fijas
posibles), con una cabecera que contiene información de
encaminamiento que designa el puerto de salida requerido (y el
enlace saliente) del conmutador. Algunos detalles del formato de
minipaquetes y de la generación de minipaquetes en los adaptadores
de entrada del conmutador y del desempaquetamiento en los
adaptadores de salida del conmutador, serán ofrecidos en las
secciones siguientes.
La matriz de conmutación encamina los
minipaquetes a través de una red de interconexión de
auto-encaminamiento desde cualquier puerto de
entrada hasta cualquier puerto de salida. La estructura de la red de
auto-encaminamiento es tal que los minipaquetes
pueden ser encaminados internamente de manera simultánea y sin
ningún conflicto.
El corazón del sistema de conmutación es la
matriz de conmutación. Se consideran dos implementaciones diferentes
que serán descritas por separado. En una implementación, la matriz
de conmutación comprende un árbol binario de
auto-encaminamiento para cada puerto de entrada, que
conecta el respectivo puerto de entrada a todos los puertos de
salida; la matriz de conmutación comprende k de tales árboles en
combinación (si se disponen k puertos de entrada). En otra
implementación, se dispone una estructura de bus con una RAM de
salida como una sección para cada puerto de salida, que conecta
todos los puertos de entrada con el respectivo puerto de salida; la
matriz de conmutación comprende p de tales secciones en combinación
(si se disponen p puertos de salida).
El DASL está descrito en la Solicitud de Patente
de Estados Unidos con el número de serie 09/330,968, depositada el
11 de Junio de 1999. El interfaz del DASL recibe datos de un
interfaz paralelo, tal como un CMOS ASIC, y particiona los bits del
interfaz paralelo en un número menor de cadenas de bits en paralelo.
El menor número de cadenas de bits en paralelo es convertido después
en una cadena serie de alta velocidad, que es transportada a través
de un medio de transmisión al receptor del otro módulo. Un
controlador diferencial con impedancia de control, controla la
cadena serie de bits de datos en el medio de transmisión.
El DASL implementa el método de analizar una
cadena de datos presentada como N bits en paralelo, en una
pluralidad de porciones que tienen, cada una de ellas, n bits,
donde n es una fracción de N; poner en serie cada porción de n bits
en la cadena de datos; transferir cada porción puesta en serie por
un canal correspondiente de una pluralidad de canales en paralelo;
y deshacer la puesta en serie de cada porción transferida de la
cadena de datos para restaurar la cadena de datos para la
presentación como N bits en paralelo. Aunque el DASL se emplea en
ciertos modos de realización descritos anteriormente, se admite que
pueden emplearse formas alternativas de transferencia de datos en
tales puntos en un procesador de red, que materialice de otra manera
las invenciones aquí divulgadas.
En los dibujos y la memoria han sido
establecidos modos de realización preferidos de las invenciones aquí
divulgadas y, aunque se han utilizado términos específicos, la
descripción así ofrecida utiliza una terminología solamente en un
sentido genérico y descriptivo, y no con fines de limitación.
\global\parskip0.990000\baselineskip
Claims (13)
1. Aparato que comprende:
- un procesador del punto de control;
- un dispositivo de interfaz conectado operativamente a dicho procesador del punto de control por un camino de control y que proporciona un camino de datos de alta velocidad, teniendo dicho dispositivo de interfaz un substrato (10) de semiconductores;
- una pluralidad de procesadores (12) del interfaz formados sobre dicho substrato, siendo el número de dichos procesadores al menos cinco; una memoria interna de instrucciones formada sobre dicho substrato y que almacena instrucciones de manera accesible para dichos procesadores del interfaz;
- una memoria interna de datos formada sobre dicho substrato y que almacena datos que pasan a través de dicho dispositivo, de manera accesible para dichos procesadores del interfaz; y
- una pluralidad de puertos de entrada/salida formados sobre dicho substrato;
- conectando al menos uno de dichos puertos de entrada/salida a dicha memoria interna de datos con la memoria externa de datos;
- intercambiando, al menos otros dos de dichos puertos de entrada/salida, datos que pasan a través del dispositivo de interfaz, con una red externa a la velocidad del medio bajo la dirección de dichos procesadores del interfaz;
- cooperando dicho procesador del punto de control con dicho dispositivo de interfaz, cargando en el interior de dicha memoria de instrucciones las instrucciones que han de ser ejecutadas por dichos procesadores del interfaz al dirigir el intercambio de datos entre dichos puertos de entrada/salida de intercambio de datos y el flujo de datos a través de dicha memoria de datos.
2. Aparato según la reivindicación 1, que
comprende además:
un segundo dispositivo de interfaz conectado
operativamente a dicho procesador del punto de control y que
tiene:
- un substrato de semiconductores;
- una pluralidad de procesadores de interfaz formados sobre dicho substrato, siendo el número de dichos procesadores de al menos cinco;
- una memoria interna de instrucciones, formada sobre dicho substrato y que almacena instrucciones de manera accesible para dichos procesadores del interfaz:
- una memoria interna de datos, formada sobre dicho substrato, y que almacena datos que pasan a través de dicho dispositivo de manera accesible a dichos procesadores del interfaz; y
- una pluralidad de puertos de entrada/salida formados sobre dicho substrato;
- conectando al menos uno de dichos puertos de entrada/salida dicha memoria interna de datos con la memoria externa de datos;
- intercambiando, al menos otros dos de dichos puertos de entrada/salida, datos que pasan a través del dispositivo de interfaz con una red externa bajo la dirección de dichos procesadores del interfaz;
cooperando dicho procesador del punto de control
con dicho segundo dispositivo de interfaz, cargando en dicha memoria
de instrucciones, las instrucciones que han de ejecutarse en dichos
procesadores del interfaz al dirigir el intercambio de datos entre
dichos puertos de entrada/salida de intercambio de datos y el flujo
de datos a través de dicha memoria.
3. Aparato según la reivindicación 1, que
comprende además
un segundo procesador del punto de control;
estando dicho dispositivo de interfaz
operativamente conectado a uno de dichos procesadores, el del punto
de control y el segundo procesador del punto de control;
\newpage
un segundo dispositivo de interfaz
operativamente conectado al otro de dichos procesadores, el del
punto de control y el segundo procesador del punto de control, y que
tiene
- un substrato de semiconductores;
- una pluralidad de procesadores del interfaz formados sobre dicho substrato, siendo el número de dichos procesadores de al menos cinco;
- una memoria interna de instrucciones formada sobre dicho substrato, y que almacena instrucciones accesiblemente para dichos procesadores del interfaz;
- una memoria interna de datos, formada sobre dicho substrato, y que almacena datos que pasan a través de dicho dispositivo de manera accesible a dichos procesadores del interfaz; y
- una pluralidad de puertos de entrada/salida formados sobre dicho substrato;
- conectando al menos uno de dichos puertos de entrada/salida dicha memoria interna de datos con la memoria externa de datos;
- intercambiando, al menos otros dos de dichos puertos de entrada/salida, datos que pasan a través del dispositivo de interfaz con una red externa bajo la dirección de dichos procesadores del interfaz;
cooperando dicho procesador del punto de control
con dicho segundo dispositivo de interfaz, cargando en dicha memoria
de instrucciones, las instrucciones que han de ejecutarse en dichos
procesadores del interfaz al dirigir el intercambio de datos entre
dichos puertos de entrada/salida de intercambio de datos y el flujo
de datos a través de dicha memoria.
4. Aparato según una de las reivindicaciones 1
a 3, en el que dicho procesador del punto de control está situado
remotamente a dicho dispositivo de interfaz y está operativamente
conectado a él a través de dichos otros dos puertos de
entrada/salida.
5. Aparato según una de las reivindicaciones 1
a 4, que comprende además un dispositivo de placa de circuito
impreso y en el que los elementos del circuito montados sobre dicho
dispositivo de placa de circuito impreso comprende los elementos
enumerados en dicha una de las reivindicaciones 1 a 4.
6. Aparato según la reivindicación 5, que
comprende además: un dispositivo de matriz de conmutación con
auto-encaminamiento, operativamente conectado a
dicho dispositivo de interfaz y que dirige los datos hacia el
interior del aparato desde direcciones identificable, para que
fluyan hacia el exterior desde el aparato hacia direcciones
identificadas.
7. Aparato según una de las reivindicaciones 1
a 4, que comprende además:
- un alojamiento;
- una placa madre montada en el alojamiento; y
- una pluralidad de dispositivos de placa de circuito impreso montados en dicha placa madre;
y en el que los elementos del circuito de uno de
dichos dispositivos de placa de circuito impreso comprende los
elementos enumerados en dicha una de las reivindicaciones 1 a 4.
8. Aparato según la reivindicación 7, en el
que dicho procesador del punto de control está formado sobre dicho
substrato de semiconductores.
9. Aparato según la reivindicación 7, en el
que los elementos del circuito en un segundo dispositivo, de dichos
dispositivos de placa de circuitos, comprende otro conjunto de los
elementos enumerados en dicha una de las reivindicaciones 1 a 4.
10. Un método que comprende los pasos de:
- almacenar en una memoria de instrucciones, las instrucciones para la gestión de los datos que transitan por un dispositivo de interfaz;
- ejecutar en una pluralidad de procesadores (12) de interfaz, las instrucciones almacenadas en la memoria de instrucciones;
- recibir un flujo de datos hacia el interior, a través de un puerto de entrada a la velocidad del medio;
- comunicar el flujo de datos a través de la pluralidad de procesadores del interfaz; y
- dirigir el flujo de datos hacia el exterior, a través de un puerto de salida a la velocidad del medio, de acuerdo con la ejecución de las instrucciones por los procesadores del interfaz.
11. Un método según la reivindicación 10, que
comprende además el análisis del flujo de datos en una pluralidad de
porciones, almacenando las porciones seleccionadas del flujo de
datos analizados en la memoria de datos, y dirigiendo otras
porciones seleccionadas del flujo de datos analizados a una matriz
de conmutación, para determinar una dirección de salida.
12. Un método según la reivindicación 10, que
comprende además la recombinación de las porciones almacenadas y
otras porciones seleccionadas del flujo de datos, antes de dirigir
el flujo de datos hacia el exterior a través de un puerto de
salida.
13. Un método según la reivindicación 10, en el
que el paso de comunicar el flujo de datos a través de la pluralidad
de procesadores del interfaz comprende el análisis del flujo de
datos en porciones, y distribuir las porciones analizadas entre la
pluralidad de procesadores del interfaz para su gestión en
paralelo.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US384692 | 1999-08-27 | ||
US09/384,692 US6985431B1 (en) | 1999-08-27 | 1999-08-27 | Network switch and components and method of operation |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2265971T3 true ES2265971T3 (es) | 2007-03-01 |
Family
ID=23518351
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES00959158T Expired - Lifetime ES2265971T3 (es) | 1999-08-27 | 2000-08-24 | Conmutador y componentes de red y metodo de funcionamiento. |
Country Status (9)
Country | Link |
---|---|
US (5) | US6985431B1 (es) |
EP (1) | EP1226501B1 (es) |
JP (2) | JP2003508954A (es) |
KR (1) | KR100466083B1 (es) |
CN (1) | CN1307564C (es) |
AT (1) | ATE333678T1 (es) |
DE (1) | DE60029467T2 (es) |
ES (1) | ES2265971T3 (es) |
WO (1) | WO2001016763A1 (es) |
Families Citing this family (71)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6985431B1 (en) * | 1999-08-27 | 2006-01-10 | International Business Machines Corporation | Network switch and components and method of operation |
US8300534B2 (en) * | 2000-05-24 | 2012-10-30 | Alcatel Lucent | Programmable packet processor with flow resolution logic |
US8619793B2 (en) * | 2000-08-21 | 2013-12-31 | Rockstar Consortium Us Lp | Dynamic assignment of traffic classes to a priority queue in a packet forwarding device |
US7466704B2 (en) * | 2000-09-20 | 2008-12-16 | Broadcom Corporation | Switch assembly having multiple blades in a chassis |
US8762581B2 (en) * | 2000-12-22 | 2014-06-24 | Avaya Inc. | Multi-thread packet processor |
US6987760B2 (en) | 2001-03-05 | 2006-01-17 | International Business Machines Corporation | High speed network processor |
US7149212B2 (en) * | 2001-03-21 | 2006-12-12 | International Business Machines Corporation | Apparatus, method and limited set of messages to transmit data between scheduler and a network processor |
EP1382165A2 (en) * | 2001-04-13 | 2004-01-21 | MOTOROLA INC., A Corporation of the state of Delaware | Manipulating data streams in data stream processors |
US7398271B1 (en) * | 2001-04-16 | 2008-07-08 | Yahoo! Inc. | Using network traffic logs for search enhancement |
US8195705B2 (en) | 2001-12-11 | 2012-06-05 | International Business Machines Corporation | Hybrid search memory for network processor and computer systems |
AU2002237149A1 (en) * | 2001-12-30 | 2003-07-15 | Legend (Beijing) Limited. | A means and control method for adapting different media of transmission link of network on physical layer. |
TW561740B (en) * | 2002-06-06 | 2003-11-11 | Via Tech Inc | Network connecting device and data packet transferring method |
US8015303B2 (en) * | 2002-08-02 | 2011-09-06 | Astute Networks Inc. | High data rate stateful protocol processing |
US7596621B1 (en) * | 2002-10-17 | 2009-09-29 | Astute Networks, Inc. | System and method for managing shared state using multiple programmed processors |
US7814218B1 (en) | 2002-10-17 | 2010-10-12 | Astute Networks, Inc. | Multi-protocol and multi-format stateful processing |
US8151278B1 (en) | 2002-10-17 | 2012-04-03 | Astute Networks, Inc. | System and method for timer management in a stateful protocol processing system |
US20040143682A1 (en) * | 2003-01-21 | 2004-07-22 | Brocade Communications Systems, Inc. | Network switch containing a hard disk drive |
US20050044261A1 (en) * | 2003-07-18 | 2005-02-24 | Rahul Saxena | Method of operating a network switch |
US20050102474A1 (en) * | 2003-11-06 | 2005-05-12 | Sridhar Lakshmanamurthy | Dynamically caching engine instructions |
US7558890B1 (en) * | 2003-12-19 | 2009-07-07 | Applied Micro Circuits Corporation | Instruction set for programmable queuing |
US20050172132A1 (en) | 2004-01-30 | 2005-08-04 | Chen Sherman (. | Secure key authentication and ladder system |
US9461825B2 (en) | 2004-01-30 | 2016-10-04 | Broadcom Corporation | Method and system for preventing revocation denial of service attacks |
US9094699B2 (en) * | 2004-02-05 | 2015-07-28 | Broadcom Corporation | System and method for security key transmission with strong pairing to destination client |
US7480308B1 (en) * | 2004-03-29 | 2009-01-20 | Cisco Technology, Inc. | Distributing packets and packets fragments possibly received out of sequence into an expandable set of queues of particular use in packet resequencing and reassembly |
US7554978B1 (en) * | 2004-03-30 | 2009-06-30 | Extreme Networks, Inc. | System for accessing content-addressable memory in packet processor |
US20050223984A1 (en) * | 2004-04-08 | 2005-10-13 | Hee-Gyoun Lee | Chemical vapor deposition (CVD) apparatus usable in the manufacture of superconducting conductors |
US7929518B2 (en) * | 2004-07-15 | 2011-04-19 | Broadcom Corporation | Method and system for a gigabit Ethernet IP telephone chip with integrated DDR interface |
US7533092B2 (en) * | 2004-10-28 | 2009-05-12 | Yahoo! Inc. | Link-based spam detection |
US7600115B2 (en) * | 2005-04-05 | 2009-10-06 | Cisco Technology, Inc. | Control key capable of storing multiple and variable data packet classification results |
US7719966B2 (en) * | 2005-04-13 | 2010-05-18 | Zeugma Systems Inc. | Network element architecture for deep packet inspection |
US7606147B2 (en) * | 2005-04-13 | 2009-10-20 | Zeugma Systems Inc. | Application aware traffic shaping service node positioned between the access and core networks |
US7907610B2 (en) * | 2005-05-23 | 2011-03-15 | Nxp B.V. | Integrated circuit with internal communication network |
US7719995B2 (en) * | 2005-09-09 | 2010-05-18 | Zeugma Systems Inc. | Application driven fast unicast flow replication |
US7733891B2 (en) * | 2005-09-12 | 2010-06-08 | Zeugma Systems Inc. | Methods and apparatus to support dynamic allocation of traffic management resources in a network element |
US7508764B2 (en) * | 2005-09-12 | 2009-03-24 | Zeugma Systems Inc. | Packet flow bifurcation and analysis |
US7672236B1 (en) * | 2005-12-16 | 2010-03-02 | Nortel Networks Limited | Method and architecture for a scalable application and security switch using multi-level load balancing |
US7843927B1 (en) * | 2006-12-22 | 2010-11-30 | Extreme Networks, Inc. | Methods, systems, and computer program products for routing packets at a multi-mode layer 3 packet forwarding device |
US8429177B2 (en) * | 2006-02-08 | 2013-04-23 | Yahoo! Inc. | Using exceptional changes in webgraph snapshots over time for internet entity marking |
US7852843B2 (en) * | 2006-07-21 | 2010-12-14 | Cortina Systems, Inc. | Apparatus and method for layer-2 to layer-7 search engine for high speed network application |
US7630385B2 (en) * | 2006-08-04 | 2009-12-08 | Oyadomari Randy I | Multiple domains in a multi-chassis system |
JP2008078768A (ja) * | 2006-09-19 | 2008-04-03 | Denso Corp | ネットワークシステム,ネットワークデバイスおよびプログラム |
US8219789B2 (en) * | 2007-03-14 | 2012-07-10 | XMOS Ltd. | Interface processor |
US7773510B2 (en) | 2007-05-25 | 2010-08-10 | Zeugma Systems Inc. | Application routing in a distributed compute environment |
US20080298230A1 (en) * | 2007-05-30 | 2008-12-04 | Luft Siegfried J | Scheduling of workloads in a distributed compute environment |
US8290986B2 (en) * | 2007-06-27 | 2012-10-16 | Yahoo! Inc. | Determining quality measures for web objects based on searcher behavior |
US20090013033A1 (en) * | 2007-07-06 | 2009-01-08 | Yahoo! Inc. | Identifying excessively reciprocal links among web entities |
US7706291B2 (en) * | 2007-08-01 | 2010-04-27 | Zeugma Systems Inc. | Monitoring quality of experience on a per subscriber, per session basis |
US8374102B2 (en) * | 2007-10-02 | 2013-02-12 | Tellabs Communications Canada, Ltd. | Intelligent collection and management of flow statistics |
CN101685401B (zh) * | 2008-09-22 | 2013-07-24 | 中国科学院计算技术研究所 | 一种远程无线编程的方法及支持远程无线编程的芯片 |
US8842688B2 (en) * | 2009-01-20 | 2014-09-23 | The Regents Of The University Of California | Reducing cabling complexity in large-scale networks |
TW201044371A (en) * | 2009-06-15 | 2010-12-16 | Novatek Microelectronics Corp | Memory architecture of display device and reading method thereof |
US8565239B2 (en) * | 2009-07-14 | 2013-10-22 | Broadcom Corporation | Node based path selection randomization |
US8503456B2 (en) * | 2009-07-14 | 2013-08-06 | Broadcom Corporation | Flow based path selection randomization |
US20110145837A1 (en) * | 2009-12-14 | 2011-06-16 | Bower Kenneth S | Filtering Broadcast Recipients In A Multiprocessing Environment |
US8331373B2 (en) | 2010-03-15 | 2012-12-11 | Extreme Networks, Inc. | Methods, systems, and computer readable media for automatically selecting between internet protocol switching modes on a per-module basis in a packet forwarding device |
US9319335B1 (en) * | 2010-12-07 | 2016-04-19 | Pluribus Networks, Inc. | Distributed operating system for a layer 2 fabric |
US8934783B2 (en) | 2011-02-17 | 2015-01-13 | International Business Machines Corporation | Adaptor system for an ethernet network |
US10122653B2 (en) * | 2011-04-28 | 2018-11-06 | International Business Machines Corporation | Energy management system for a data center network |
US8582437B2 (en) | 2011-06-21 | 2013-11-12 | Broadcom Corporation | System and method for increasing input/output speeds in a network switch |
US8861401B2 (en) | 2012-04-03 | 2014-10-14 | International Business Machines Corporation | Layer 2 packet switching without look-up table for ethernet switches |
US8838871B2 (en) * | 2012-04-09 | 2014-09-16 | Dell Products L.P. | Methods and systems for virtualization of storage services in an integrated chassis |
US8902896B2 (en) | 2012-04-16 | 2014-12-02 | International Business Machines Corporation | Packet switching without look-up table for ethernet switches |
JP5863085B2 (ja) * | 2012-09-21 | 2016-02-16 | コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. | 動的アドレス割り当てのための方法及び装置 |
US9652216B2 (en) * | 2012-10-04 | 2017-05-16 | Dell Products L.P. | System and method for providing out-of-band software or firmware upgrades for a switching device |
CN105264525A (zh) * | 2013-06-04 | 2016-01-20 | 马维尔国际贸易有限公司 | 内部搜索引擎架构 |
US8966074B1 (en) * | 2013-09-13 | 2015-02-24 | Network Kinetix, LLC | System and method for real-time analysis of network traffic |
AU2013245529A1 (en) * | 2013-10-18 | 2015-05-07 | Cisco Technology, Inc. | Network Interface |
US9935898B2 (en) * | 2014-09-20 | 2018-04-03 | Innovasic, Inc. | Ethernet interface module |
KR102365113B1 (ko) * | 2015-05-27 | 2022-02-18 | 삼성전자주식회사 | 적응적 인터럽트 처리 방법 및 장치와 이를 적용하는 호스트, i/o 디바이스 및 시스템 |
US10200309B2 (en) | 2016-08-12 | 2019-02-05 | Samsung Electronics Co., Ltd. | Two-headed switch including a drive bay for fabric-attached devices |
CN113923080B (zh) * | 2021-10-11 | 2023-12-19 | 中认车联网技术服务(深圳)有限公司 | 基于车载以太网的视频信号监控平台及数据分析方法 |
Family Cites Families (60)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2573394B1 (fr) * | 1984-11-16 | 1986-12-12 | Panzani Milliat Freres Sa | Nouvel ensemble pour le stockage, le transport et la distribution des objets du type bouteilles, flacons et analogues, et procede pour sa fabrication |
US4736362A (en) * | 1985-07-26 | 1988-04-05 | Advanced Micro Devices, Inc. | Programmable data-routing multiplexer |
EP0312628B1 (en) * | 1987-10-20 | 1993-12-29 | International Business Machines Corporation | High-speed modular switching apparatus for circuit and packet switched traffic |
FR2637440B1 (fr) * | 1988-08-18 | 1994-05-13 | Bull Sa | Procede de transmission de donnees sur un bus interne d'une station de travail, dispositif a bus interne, permettant la mise en oeuvre du procede, et circuit d'adaptation pour ce bus interne |
FR2638260B1 (fr) * | 1988-10-26 | 1994-04-29 | Onera (Off Nat Aerospatiale) | Dispositifs de commutation et reseaux de communication de donnees pour systemes multiprocesseurs |
US5495482A (en) * | 1989-09-29 | 1996-02-27 | Motorola Inc. | Packet transmission system and method utilizing both a data bus and dedicated control lines |
US5226125A (en) * | 1989-11-17 | 1993-07-06 | Keith Balmer | Switch matrix having integrated crosspoint logic and method of operation |
US6070003A (en) * | 1989-11-17 | 2000-05-30 | Texas Instruments Incorporated | System and method of memory access in apparatus having plural processors and plural memories |
US5404550A (en) * | 1991-07-25 | 1995-04-04 | Tandem Computers Incorporated | Method and apparatus for executing tasks by following a linked list of memory packets |
DE69230093T2 (de) | 1991-11-19 | 2000-04-13 | Ibm | Multiprozessorsystem |
EP0544963A1 (en) * | 1991-11-29 | 1993-06-09 | International Business Machines Corporation | Parallel processing method for receiving and transmitting HDLC/SDLC bit streams |
DE69124743T2 (de) * | 1991-11-29 | 1997-08-14 | Ibm | Vorrichtung zur Speicherung und Durchschaltung und Verfahren zur Datensicherung während der Speicherung |
JP2647330B2 (ja) * | 1992-05-12 | 1997-08-27 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 超並列コンピューティングシステム |
US5331315A (en) * | 1992-06-12 | 1994-07-19 | Universities Research Association, Inc. | Switch for serial or parallel communication networks |
ES2149794T3 (es) | 1993-09-24 | 2000-11-16 | Siemens Ag | Procedimiento para compensar la carga en un sistema multiprocesador. |
JPH07152501A (ja) | 1993-11-30 | 1995-06-16 | Kawasaki Steel Corp | 媒体集合型装置駆動命令発行装置 |
US5557609A (en) * | 1993-12-01 | 1996-09-17 | Kabushiki Kaisha Toshiba | Switching apparatus for ATM |
JPH07320742A (ja) * | 1994-05-20 | 1995-12-08 | Sumitomo Electric Ind Ltd | アルカリ蓄電池用電極およびその製造方法 |
GB2291562B (en) * | 1994-05-21 | 1998-09-23 | Northern Telecom Ltd | Communications system |
US5787430A (en) * | 1994-06-30 | 1998-07-28 | International Business Machines Corporation | Variable length data sequence backtracking a trie structure |
US5583868A (en) * | 1994-07-25 | 1996-12-10 | Microsoft Corporation | Method and system for combining data from multiple servers into a single continuous data stream using a switch |
EP0719065A1 (en) * | 1994-12-20 | 1996-06-26 | International Business Machines Corporation | Multipurpose packet switching node for a data communication network |
US5598410A (en) * | 1994-12-29 | 1997-01-28 | Storage Technology Corporation | Method and apparatus for accelerated packet processing |
US5724348A (en) * | 1995-04-05 | 1998-03-03 | International Business Machines Corporation | Efficient hardware/software interface for a data switch |
CN1148211A (zh) * | 1995-06-05 | 1997-04-23 | 北京航空航天大学 | 耦合度可调并行计算机群系统及其构造方法 |
US5651002A (en) | 1995-07-12 | 1997-07-22 | 3Com Corporation | Internetworking device with enhanced packet header translation and memory |
US5748633A (en) * | 1995-07-12 | 1998-05-05 | 3Com Corporation | Method and apparatus for the concurrent reception and transmission of packets in a communications internetworking device |
US5568471A (en) * | 1995-09-06 | 1996-10-22 | International Business Machines Corporation | System and method for a workstation monitoring and control of multiple networks having different protocols |
US5841777A (en) * | 1996-08-30 | 1998-11-24 | Hewlett-Packard Company | System and method for accommodating ABR and CBR traffic on a shared communications channel |
US5864535A (en) * | 1996-09-18 | 1999-01-26 | International Business Machines Corporation | Network server having dynamic load balancing of messages in both inbound and outbound directions |
US5854787A (en) * | 1996-12-13 | 1998-12-29 | Rockwell International | Method for reducing message error rate within real-time exchange radio-frequency communications systems |
US6791947B2 (en) * | 1996-12-16 | 2004-09-14 | Juniper Networks | In-line packet processing |
US5898667A (en) * | 1996-12-31 | 1999-04-27 | Northern Telecom Limited | SS7 network management primeship |
US6172990B1 (en) * | 1997-06-19 | 2001-01-09 | Xaqti Corporation | Media access control micro-RISC stream processor and method for implementing the same |
US6301257B1 (en) * | 1997-03-19 | 2001-10-09 | Nortel Networks Limited | Method and apparatus for transmitting data frames between switches in a meshed data network |
JP3607466B2 (ja) | 1997-09-05 | 2005-01-05 | 株式会社東芝 | ルータ装置及び制御フレーム処理方法 |
US6304910B1 (en) | 1997-09-24 | 2001-10-16 | Emulex Corporation | Communication processor having buffer list modifier control bits |
US6064674A (en) * | 1997-10-22 | 2000-05-16 | International Business Machines Corporation | Method and apparatus for hardware forwarding of LAN frames over ATM networks |
US6195334B1 (en) * | 1997-12-18 | 2001-02-27 | Advanced Micro Devices, Inc. | Apparatus and method for terminating a data transfer in a network switch in response to a detected collision |
US6259699B1 (en) * | 1997-12-30 | 2001-07-10 | Nexabit Networks, Llc | System architecture for and method of processing packets and/or cells in a common switch |
JPH11205339A (ja) | 1998-01-19 | 1999-07-30 | Hitachi Ltd | Atm交換機 |
TW358911B (en) * | 1998-01-23 | 1999-05-21 | Accton Technology Corp | Data package sorting transmission method |
US6307860B1 (en) * | 1998-04-03 | 2001-10-23 | Mmc Networks, Inc. | Systems and methods for data transformation and transfer in networks |
US6266340B1 (en) * | 1998-04-03 | 2001-07-24 | Vertical Networks, Inc. | Systems and methods for multiple voice data communication which includes interface cards including configurable clocks that are dynamically coupled to a TDS bus |
US6330584B1 (en) * | 1998-04-03 | 2001-12-11 | Mmc Networks, Inc. | Systems and methods for multi-tasking, resource sharing and execution of computer instructions |
US6490281B1 (en) * | 1998-06-04 | 2002-12-03 | International Business Machines Corporation | Apparatus including a scalable multiprotocol communications adapter using modular components and a method for transmitting data frames via scalable multiprotocol communication adapters |
US6560228B2 (en) * | 1998-07-01 | 2003-05-06 | Agilent Technologies, Inc. | Generation of informative MAC headers for analysis of ATM routed LAN frames |
US6393457B1 (en) * | 1998-07-13 | 2002-05-21 | International Business Machines Corporation | Architecture and apparatus for implementing 100 Mbps and GBPS Ethernet adapters |
US6400717B1 (en) * | 1998-10-16 | 2002-06-04 | Samsung Electronics Co., Ltd. | Device for booting a multiprocessor embedded system and method of operation |
US6873630B1 (en) * | 1999-05-19 | 2005-03-29 | Sun Microsystems, Inc. | Method and apparatus for a multi-gigabit ethernet architecture |
US6393479B1 (en) * | 1999-06-04 | 2002-05-21 | Webside Story, Inc. | Internet website traffic flow analysis |
US6404752B1 (en) * | 1999-08-27 | 2002-06-11 | International Business Machines Corporation | Network switch using network processor and methods |
US6766381B1 (en) * | 1999-08-27 | 2004-07-20 | International Business Machines Corporation | VLSI network processor and methods |
US6985431B1 (en) * | 1999-08-27 | 2006-01-10 | International Business Machines Corporation | Network switch and components and method of operation |
US6965922B1 (en) * | 2000-04-18 | 2005-11-15 | International Business Machines Corporation | Computer system and method with internal use of networking switching |
US6671725B1 (en) * | 2000-04-18 | 2003-12-30 | International Business Machines Corporation | Server cluster interconnection using network processor |
US6772218B1 (en) * | 2000-04-18 | 2004-08-03 | International Business Machines Corporation | Server acceleration using network processor |
US6829697B1 (en) * | 2000-09-06 | 2004-12-07 | International Business Machines Corporation | Multiple logical interfaces to a shared coprocessor resource |
US7047303B2 (en) * | 2001-07-26 | 2006-05-16 | International Business Machines Corporation | Apparatus and method for using a network processor to guard against a “denial-of-service” attack on a server or server cluster |
US7310685B2 (en) * | 2002-08-29 | 2007-12-18 | International Business Machines Corporation | Method and system for reducing look-up time in packet forwarding on computer networks |
-
1999
- 1999-08-27 US US09/384,692 patent/US6985431B1/en not_active Expired - Lifetime
-
2000
- 2000-08-24 ES ES00959158T patent/ES2265971T3/es not_active Expired - Lifetime
- 2000-08-24 JP JP2001520649A patent/JP2003508954A/ja active Pending
- 2000-08-24 DE DE60029467T patent/DE60029467T2/de not_active Expired - Lifetime
- 2000-08-24 KR KR10-2002-7002312A patent/KR100466083B1/ko not_active IP Right Cessation
- 2000-08-24 EP EP00959158A patent/EP1226501B1/en not_active Expired - Lifetime
- 2000-08-24 WO PCT/US2000/020795 patent/WO2001016763A1/en active IP Right Grant
- 2000-08-24 AT AT00959158T patent/ATE333678T1/de not_active IP Right Cessation
- 2000-08-24 CN CNB008142416A patent/CN1307564C/zh not_active Expired - Lifetime
-
2005
- 2005-06-14 US US11/152,453 patent/US7590057B2/en not_active Expired - Fee Related
- 2005-06-14 US US11/152,419 patent/US7620048B2/en not_active Expired - Fee Related
- 2005-06-14 US US11/152,119 patent/US7257616B2/en not_active Expired - Fee Related
- 2005-06-14 US US11/152,699 patent/US20050232270A1/en not_active Abandoned
- 2005-09-28 JP JP2005282931A patent/JP4066382B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
DE60029467T2 (de) | 2007-07-19 |
US20050232205A1 (en) | 2005-10-20 |
JP2006020371A (ja) | 2006-01-19 |
KR20020024330A (ko) | 2002-03-29 |
EP1226501A4 (en) | 2003-10-01 |
WO2001016763A1 (en) | 2001-03-08 |
JP2003508954A (ja) | 2003-03-04 |
US7257616B2 (en) | 2007-08-14 |
JP4066382B2 (ja) | 2008-03-26 |
US20050232204A1 (en) | 2005-10-20 |
KR100466083B1 (ko) | 2005-01-13 |
US7590057B2 (en) | 2009-09-15 |
US20050232270A1 (en) | 2005-10-20 |
US6985431B1 (en) | 2006-01-10 |
ATE333678T1 (de) | 2006-08-15 |
US7620048B2 (en) | 2009-11-17 |
US20050243850A1 (en) | 2005-11-03 |
EP1226501A1 (en) | 2002-07-31 |
EP1226501B1 (en) | 2006-07-19 |
CN1307564C (zh) | 2007-03-28 |
CN1399738A (zh) | 2003-02-26 |
DE60029467D1 (de) | 2006-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2265971T3 (es) | Conmutador y componentes de red y metodo de funcionamiento. | |
US6460120B1 (en) | Network processor, memory organization and methods | |
EP1208676B1 (en) | Network switch using network processor | |
US6766381B1 (en) | VLSI network processor and methods | |
US6769033B1 (en) | Network processor processing complex and methods |