ES2237667T3 - Adaptador de red. - Google Patents
Adaptador de red.Info
- Publication number
- ES2237667T3 ES2237667T3 ES02712095T ES02712095T ES2237667T3 ES 2237667 T3 ES2237667 T3 ES 2237667T3 ES 02712095 T ES02712095 T ES 02712095T ES 02712095 T ES02712095 T ES 02712095T ES 2237667 T3 ES2237667 T3 ES 2237667T3
- Authority
- ES
- Spain
- Prior art keywords
- memory
- fcb
- control
- unit
- frame
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9047—Buffering arrangements including multiple buffers, e.g. buffer pools
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/901—Buffering arrangements using storage descriptor, e.g. read or write pointers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
- Liquid Developers In Electrophotography (AREA)
- Input Circuits Of Receivers And Coupling Of Receivers And Audio Equipment (AREA)
- Computer And Data Communications (AREA)
- Glass Compositions (AREA)
Abstract
Un sistema que comprende: - un procesador (100) configurado para tratar cuadros de datos, cuyo procesador comprende: - una unidad (110) de flujo de datos configurada para recibir y transmitir dichos cuadros de datos, y en la que cada uno de dichos cuadros de datos tiene un bloque de control de cuadro asociado, y cada uno de dichos bloques de control de cuadro comprende unos bloques de control primero y segundo; - una primera memoria (210) acoplada a dicha unidad de flujo de datos, cuya primera memoria comprende una primera unidad de control de memoria intermedia de cuadro, y dicha primera unidad de control de memoria intermedia de cuadro almacena información de campo para dicho primer bloque de control de dicho bloque de control de cuadro; y - un planificador de ejecución (130) acoplado a dicha unidad de flujo de datos, cuyo planificador está configurado para planificar cuadros de datos recibidos por dicha unidad de flujo de datos, y en el que dicho planificador comprende una segunda memoria (224), la cual comprende una segunda unidad de control de memoria intermedia de cuadro, y dicha segunda unidad de control de memoria intermedia de cuadro almacena información de campo para dicho segundo bloque de control del citado bloque de control de cuadro.
Description
Adaptador de red.
La presente invención se refiere al campo de un
sistema de comunicaciones de operaciones en la red, y más
particularmente a la reducción al mínimo de los accesos a
memorias.
Una red de conmutación o transmisión por paquetes
tiene unos puntos de conmutación o nudos para la transmisión de
datos entre transmisores y receptores conectados a la red. La
conmutación efectuada por estos puntos de conmutación es, en
efecto, la acción de pasar paquetes o "cuadros" de datos
recibidos en un punto de conmutación o nudo, a otro nudo en la red.
Dichas acciones de conmutación son los medios mediante los cuales,
datos de comunicación son movidos a través de la red de conmutación
de paquetes.
Cada nudo puede comprender un procesador de
paquete configurado para tratar paquetes o cuadros de datos. Cada
cuadro de datos puede estar asociado a un Bloque de Control de
Cuadro (FCB) configurado para describir el cuadro asociado de
datos. Típicamente, los FCBs comprenden varios campos de información
que son suministrados por una memoria, por ejemplo, Memoria de
Acceso Aleatorio Estática con Velocidad de Transmisión de Datos
Cuádruple (QDR SRAM), en el procesador del paquete. Es decir, que
los campos de información en los FCBs son obtenidos mediante el
acceso a la memoria, por ejemplo, una QDR SRAM en el procesador del
paquete.
Por tanto, sería deseable limitar el número de
campos en los bloques de control de campo que requieren
información, para reducir así el número de accesos a la memoria y
mejorar la eficiencia del espacio de dicha memoria, es decir, la
eficiencia de la anchura de banda de la memoria.
La solicitud de EP núm. EP 0797 335 A2 describe
un adaptador de red con el cual los datos transmitidos y recibidos
son almacenados en zonas de memoria intermedias definidas en unas
memorias primera y segunda de un sistema residente en una red. Las
zonas de memoria intermedia son señaladas por múltiples anillos
descriptores, que están almacenados también en las memorias. Las dos
memorias residen en enlaces comunes separados conectados a un
enlace común que contiene un procesador. Dicho procesador comunica
con una u otra memoria mediante un protocolo de establecimiento de
comunicación. Los datos recibidos entrantes en el sistema son
dispersados entre descriptores múltiples, en función del código de
características portado por el cuadro, por ejemplo, en un campo de
control de cuadro. El tamaño del primer descriptor, menor que el de
los otros, es programado para corresponder al tamaño del
encabezamiento de cada cuadro. La sincronización entre
encabezamientos y datos de un cuadro es mantenida mediante un
número de cuadro almacenado en cada descriptor. Otro aspecto evita
el bloqueo del camino de recepción al producirse el bloqueo de un
anillo descriptor de recepción.
La presente invención proporciona un Bloque de
Control de Campo (FCB) lógico representado por unos bloques de
control primero y segundo, en el que el primer bloque de control
puede estar asociado a una primera memoria, y el segundo bloque de
control puede estar asociado a una segunda memoria. Cada memoria, es
decir, las memorias primera y segunda, pueden estar asociadas
también a una unidad de flujo de datos y al planificador de
ejecución del procesador de paquete, respectivamente. Una unidad de
flujo de datos del procesador de paquete puede estar configurada
para recibir y transmitir cuadros de datos. Un planificador de
ejecución del procesador de paquete puede estar configurado para
planificar la transmisión de los cuadros de datos a otro conmutador
o puerta en una red de conmutación de paquetes. Cuando el FCB se
halla en una cola de la unidad de flujo de datos, la información
puede ser almacenada en los campos del primer bloque de control, y
no en los del segundo bloque de control. Dado que a la segunda
memoria no se accede para leer o escribir en los campos del segundo
bloque de control, se mejora así la eficiencia de la anchura de
banda de dicha segunda memoria. Cuando el FCB se halla en una cola
del planificador de ejecución, la información puede ser almacenada
en los campos del segundo bloque de control, y no en los campos del
primer bloque de control. Dado que a la primera memoria no se
accede para leer o escribir en los campos del primer bloque de
control, se mejora así la eficiencia de la anchura de banda de la
primera memoria.
De acuerdo con un aspecto, la presente invención
proporciona un sistema que comprende: un procesador configurado
para tratar cuadros de datos, cuyo procesador comprende: una unidad
de flujo de datos configurada para recibir y transmitir dichos
cuadros de datos, en la que cada uno de dichos cuadros de datos
tiene un bloque de control de cuadro asociado, y cada uno de dichos
bloques de control de cuadro comprende un primero y un segundo
bloque de control; una primera memoria acoplada a dicha unidad de
flujo de datos, cuya primera memoria comprende una primera unidad
de control de memoria intermedia de cuadro, y en la que dicha
primera unidad de control de memoria intermedia de cuadro almacena
información de campo para dicho primer bloque de control del bloque
de control de cuadro; y un planificador de ejecución acoplado a
dicha unidad de flujo de datos, cuyo planificador está configurado
para planificar cuadros de datos recibidos por dicha unidad de
flujo de datos, y en el que dicho planificador comprende una
segunda memoria la cual comprende a su vez una segunda unidad de
control de memoria intermedia de cuadro, cuya segunda unidad de
control de memoria intermedia de cuadro almacena información para
dicho segundo bloque de control del citado bloque de control de
cuadro.
Preferiblemente, la unidad de flujo de datos
comprende una pluralidad de colas, en la que uno o más de dichos
bloques de control de cuadro se halla en una de dicha pluralidad de
colas. En una realización preferida, la información en los campos
de dicho primer bloque de control de uno o más de los citados
bloques de control de cuadro que se hallan en una de dicha
pluralidad de colas de la citada unidad de flujo de datos, es
almacenada en dicha primera unidad de control de memoria intermedia
de cuadro de la citada primera memoria.
De manera apropiada, el planificador de ejecución
comprende una primera cola en la que uno o más de dichos bloques de
control de cuadro se hallan en la citada primera cola. Más
apropiadamente, la información en los campos de dicho segundo
bloque de control de uno o más de los citados bloques de control de
campo que se hallan en dicha primera cola, es almacenada en la
citada segunda unidad de control de memoria intermedia de cuadro de
dicha segunda memoria.
De acuerdo con otro aspecto, la presente
invención proporciona un método para reducir el número de accesos a
la memoria para obtener la información deseada en los bloques de
control de cuadro, en el que cada uno de dichos bloques de control
de cuadro comprende un primer bloque de control de cuadro y un
segundo bloque de control, cuyo primer bloque de control está
asociado a una primera memoria, y el segundo bloque de control está
asociado a una segunda memoria, y en el que dicha primera memoria
comprende una primera unidad de control de memoria intermedia de
cuadro, y dicha primera unidad de control de memoria intermedia de
cuadro almacena la información de campo para dicho primer bloque de
control del citado bloque de control de cuadro, y cuya segunda
memoria comprende una segunda unidad de control de memoria
intermedia de cuadro, y en el que dicha segunda unidad de control
de memoria intermedia de cuadro almacena información de campo para
dicho segundo bloque de control del citado bloque de control de
cuadro, y cuyo método comprende las operaciones de: acceder a dicha
primera memoria para leer o escribir la información en campos de
dicho primer bloque de control de uno o más de los citados bloques
de control de cuadro; y acceder a dicha segunda memoria para leer o
escribir la información en los campos de dicho segundo bloque de
control de uno o más de los citados bloques de control de
cuadro.
Se prefiere que uno o más de dichos bloques de
control de cuadro se hallen en una de la pluralidad de colas en la
unidad de flujo de datos, y cuya unidad de flujo de datos está
asociada a dicha primera memoria. Más preferiblemente, a la primera
memoria se accede para leer o escribir la información en campos de
dicho primer bloque de control de uno o más de dichos bloques de
control de cuadro, cuando uno o más bloques de control de cuadro se
hallan en una de dicha pluralidad de colas en la citada unidad de
flujo de datos. Aún más preferiblemente, uno o más de dichos
bloques de control de cuadro se hallan en una cola de un
planificador de ejecución, y éste está asociado a dicha segunda
memoria. De manera adecuada, a la segunda memoria se accede para
leer o escribir la información en campos de dicho segundo bloque de
control de uno o más de dichos bloques de control de cuadro, cuando
los citados uno o más bloques de control de cuadro se hallan en la
citada cola de dicho planificador.
De acuerdo con otro aspecto más, la presente
invención proporciona un producto de programa de ordenador que
comprende medios de código de programa destinados a ejecutar las
operaciones del método antes descrito, cuando dicho programa es
puesto en marcha en un ordenador.
Seguidamente se describirá la invención, tan sólo
a título de ejemplo, con referencia a realizaciones preferidas de
ella como se ilustran en los dibujos adjuntos, en los que:
- la fig. 1 ilustra un procesador de paquetes
configurado de acuerdo con la presente invención;
- la fig. 2 ilustra una unidad de flujo de datos
configurada de acuerdo con la presente invención;
- la fig. 3 es una tabla de flujo de acciones de
un método para reducir el número de accesos a la memoria, para
obtener la información deseada en bloques de control de cuadro;
- la fig. 4 ilustra una realización de la
presente invención de un FCB (bloque de control de cuadro) básico
de un FCB que se halla en la cola libre de FCB de la unidad de
flujo de datos;
- la fig. 5 ilustra una realización de la
presente invención de un FCB de flujo de un FCB que se halla en la
cola libre de FCB de la unidad de flujo de datos.
- la fig. 6 ilustra una realización de la
presente invención de un FCB básico de un FCB que se halla en las
colas Gqs de la unidad de flujo de datos;
- la fig. 7 ilustra una realización de la
presente invención de un FCB de flujo de un FCB que se halla en las
colas Gqs de la unidad de flujo de datos;
- la fig. 8 ilustra una realización de la
presente invención de FCB básico de un FCB que se halla en las
colas de flujo de un planificador de ejecución:
- la fig. 9 ilustra una realización de la
presente invención de un FCB de flujo de un FCB que se halla en las
colas de flujo del planificador de ejecución;
- la fig. 10 ilustra una realización de la
presente invención de un FCB básico de un FCB que se halla en las
colas TBQs de la unidad de flujo de datos; y
- la fig. 11 ilustra una realización de la
presente invención de un FCB de flujo de un FCB que se halla en las
colas TBQs de la unidad de flujo de datos.
La presente invención proporciona un método y
sistema para reducir el número de accesos a la memoria para obtener
la información de campo deseada en bloques de control de cuadros.
En una realización de esta invención, un sistema comprende un
procesador configurado para tratar cuadros de datos. El procesador
puede comprender una unidad de flujo de datos configurada para
recibir y transmitir cuadros de datos, cada uno de los cuales puede
tener un bloque de control de cuadro asociado. Cada bloque de
control de cuadro puede comprender unos bloques de control primero
y segundo. El procesador puede comprender también una primera
memoria acoplada a la unidad de flujo de datos, cuya primera memoria
comprende una primera unidad de control de memoria intermedia de
cuadro. La primera unidad de control de memoria intermedia de
cuadro puede almacenar información de campo para el primer bloque
de control del bloque de control de cuadro. El procesador puede
comprender también un planificador de ejecución acoplado a la unidad
de flujo de datos, cuyo planificador puede estar configurado para
planificar los cuadros de datos recibidos por la unidad de flujo de
datos. El planificador puede comprender una segunda memoria que
comprende una segunda unidad de control de memoria intermedia de
cuadro. Dicha segunda unidad de control de memoria intermedia de
cuadro puede almacenar información de campo para el segundo bloque
de control del bloque de control de cuadro. Cuando el bloque de
control de cuadro se halla en una cola en la unidad de flujo de
datos, la información puede estar almacenada en los campos del
primer bloque de control, y no en los campos del segundo bloque de
control. Dado que a la segunda memoria no se accede para leer o
escribir en los campos del segundo bloque de control, se mejora así
la eficiencia de la anchura de banda de la segunda memoria. Cuando
el bloque de control de cuadro se halla en una cola en el
planificador de ejecución, la información puede estar almacenada en
los campos del segundo bloque de control, y no en los campos del
primer bloque de control. Dado que a la primera memoria no se
accede para leer o escribir en los campos del primer bloque de
control, se mejora así la eficiencia de la anchura de banda de la
segunda memoria.
La fig. 1 ilustra un procesador 100 de paquete.
Dicho procesador 100 de paquete puede comprender una unidad 110 de
flujo de datos configurada para recibir paquetes digitales, es
decir, cuadros, de datos desde un conmutador particular (no
mostrado) o puerta (no mostrada) de una red de conmutación de
paquetes, y transmitir los paquetes digitales, es decir, cuadros,
de datos a otro conmutador o puerta, es decir, el conmutador/puerta
120, en la red de conmutación de paquetes. Cada cuadro de datos
puede estar asociado a un Bloque de Control de Cuadro (FCB), el
cual describe el cuadro de datos asociado. Cada FCB asociado a un
cuadro de datos puede estar asociado a uno o más Bloques de Control
de Memoria Intermedia (BCB), y cada BCB asociado a un FCB puede
estar asociado a una memoria intermedia en la unidad 140 de
almacenamiento de datos. Un BCB puede estar configurado para
describir la memoria intermedia asociada al siguiente BCB
encadenado, como se describe en la solicitud de patente de EE.UU.
núm. de serie 09/791.336 (solicitud de PCT también pendiente con
referencia del apoderado RAL000095). En una realización, la unidad
110 de flujo de datos puede hallarse en un circuito integrado, es
decir, una microplaqueta o chip integrada. La unidad 110 de flujo
de datos puede estar acoplada a la unidad 140 de almacenamiento de
datos, configurada para almacenar temporalmente cuadros de datos
recibidos por la unidad 110 de flujo de datos procedentes de un
conmutador (no mostrado) o puerta (no mostrada) en la red de
conmutación de paquetes. La unidad 110 de flujo de datos puede
estar acoplada también a un planificador de ejecución 130
configurado para planificar la transmisión de cuadros de datos
desde la unidad 110 de flujo de datos al conmutador o puerta 120. En
una realización, el planificador 130 puede hallarse en un circuito
integrado, es decir, un chip integrado. Además, la unidad 110 de
flujo de datos puede estar acoplada también a un procesador
incorporado 150, configurado para tratar cuadros de datos recibidos
por la unidad 110 de flujo de datos.
La fig. 2 ilustra con más detalle la unidad 110
de flujo de datos. Dicha unidad puede comprender un controlador de
recepción 203 configurado para recibir y almacenar temporalmente
paquetes, es decir, cuadros, de datos recibidos procedentes de un
conmutador o puerta (no mostrados) en una red de conmutación de
paquetes. La unidad 110 de flujo de datos puede comprender también
un controlador de transmisión 201 configurado para modificar los
datos de cuadro, así como para transmitir los datos de cuadro
modificados a un conmutador o puerta (no mostrados) en una red de
conmutación de paquetes. La unidad 110 de flujo de datos puede
comprender también un controlador 202 de interfaz incorporado,
configurado para el intercambio de cuadros que han de ser tratados
por el procesador incorporado 150.
Paquetes, es decir, cuadros, de datos pueden ser
recibidos por una unidad de interfaz 221 de puerta/conmutador.
Dicha unidad de interfaz 221 de puerta/conmutador puede recibir
datos procedentes de un conmutador (no mostrado) en la red de
conmutación de paquetes cuando la unidad 110 de flujo de datos
trabaja en modalidad de salida. De otro modo, la unidad 221 de
interfaz de puerta/conmutador puede recibir datos procedentes de
una puerta (no mostrada) que trabaja como interfaz para la red de
conmutación de paquetes cuando la unidad 110 de flujo de datos
trabaja en modalidad de entrada. Los datos recibidos por la unidad
110 de flujo de datos pueden ser almacenados temporalmente en un
área de memoria 220 de preparación, antes de ser almacenados en la
unidad 140 de almacenamiento de datos, que puede ser representada
por una pluralidad de elementos o plaquetas 205AF. Dichos elementos
205AF pueden ser citados colectiva o individualmente como elementos
205 o elemento 205, respectivamente. El número de elementos 205 en
la fig. 2 es ilustrativo, y una realización de la unidad 110 de
flujo de datos de acuerdo con la presente invención puede tener
otro número predeterminado de elementos 205. Cada elemento puede
comprender una pluralidad de memorias intermedias. Cada elemento
puede representar un elemento de memoria, por ejemplo, Memoria de
Acceso Aleatorio Dinámica (DRAM), de modo que los datos de cuadro
pueden ser escritos en memorias intermedias diferentes en elementos
diferentes, con objeto de maximizar la anchura de banda de la
memoria. Un árbitro 204 de memoria puede estar configurado para
reunir las peticiones, por ejemplo, lectura, escritura, procedentes
del controlador 203 de recepción, del controlador 201 de
transmisión, y del controlador 202 de interfaz del ordenador
incorporado, y subsiguientemente planificar el acceso a elementos
de memoria de almacenamiento de datos particulares, es decir,
memorias intermedias particulares en elementos particulares 205.
Por ejemplo, el controlador de recepción 203 puede estar
configurado para emitir peticiones de grabación al árbitro de
memoria 204, con objeto de escribir los datos recibidos en las
memorias intermedias individuales en un elemento particular
205.
Como antes se ha dicho, los datos de cuadro
pueden ser almacenados en una unidad 150 de almacenamiento de
datos, es decir, una pluralidad de plaquetas o elementos 205. En
una realización, los datos de cuadro pueden ser almacenados en una
o más memorias intermedias de uno o más elementos 205, de tal manera
que los datos de cada cuadro particular puedan ser recompuestos al
tener las memorias intermedias encadenas juntas. Es decir, que los
datos de un cuadro particular pueden ser almacenados en una o más
memorias intermedias que están encadenas juntas en el orden en que
son escritos los datos dentro de una o más memorias intermedias. El
encadenamiento de una o más memorias intermedias puede ser
controlado por una Unidad de Bloque de Control de Memoria Intermedia
(BCBU) 208 en una memoria 229, por ejemplo, una Memoria de Acceso
Aleatorio Estática de Velocidad de Datos Cuádruple (QDR SRAM)
acoplada a la unidad 110 de flujo de datos. LA BCBU 208 puede estar
configurada para comprender las direcciones de cada una de las una
o más memorias intermedias encadenas juntas, en el orden en que los
datos fueron escritos en las memorias intermedias. Las diferentes
memorias intermedias que comprenden datos de los mismos cuadros
pueden ser enlazadas entre sí por medio de unos señalizadores
almacenados en la BCBU 208.
Como antes se ha dicho, cada cuadro de datos
puede estar asociado a un bloque de control de cuadro (FCB), cuyo
FCB describe el cuadro de datos asociado. La Unidad 1 de Bloque de
Control de Cuadro (FCBU1) 209 en una memoria 210, por ejemplo, QDR
SRAM, puede estar configurada para almacenar la información, por
ejemplo, de control de cuadro, para ser archivada en los campos de
los FCBs. Es decir, que los campos de información de los FCBs
pueden ser obtenidos por acceso a la memoria 210, es decir, FCBU1
209 de la memoria 210. Detalles adicionales correspondientes a la
FCBU1 209 de la memoria que almacena campos de información, se
exponen en la descripción de la fig. 3.
Los datos de cuadro almacenados en las memorias
intermedias pueden ser tratados por el procesador incorporado 150,
mediante la transmisión del encabezamiento de cada cuadro que ha de
ser tratado al procesador incorporado 150. Como ya se ha dicho,
cada cuadro de datos puede ser representado por un FCB. Estos FCBs
pueden ser almacenados temporalmente en las colas G (Gqs) 218. La
lógica 217 del distribuidor puede estar configurada para retirar de
la cola G 218 el siguiente FCB. Una vez que dicha lógica 217 del
distribuidor retira de la cola el siguiente FCB. dicha lógica emite
una petición de lectura al árbitro 204 de memoria para leer los
datos del comienzo del cuadro, es decir, el encabezamiento de dicho
cuadro, almacenados en la unidad 140 de almacenamiento de datos
asociada al FCB retirado de la cola. Los datos leídos por la lógica
217 del distribuidor son tratados luego por el procesador
incorporado 150.
Una vez tratados los datos de cuadro por el
procesador incorporado 150, dichos datos pueden ser almacenados
temporalmente en la unidad 140 de almacenamiento de datos, es
decir, los elementos o plaquetas 205, mediante la lógica 216 del
procesador incorporado que emite una petición de grabación al
árbitro 204 de memoria, para escribir los datos de cuadro tratados
en las memorias individuales de una o más de los elementos 205.
Una vez que los datos de cuadro han sido tratados
por el procesador incorporado 150, la lógica 216 de él emite
también el FCB asociado al cuadro tratado, al planificador de
ejecución 130. El planificador 130 puede estar configurado para
comprender unas colas de flujo 233 configuradas para almacenar FCBs.
El planificador 130 puede comprender también una Unidad de Bloque
de Control de Cuadro 2 (FCBU2) 225, dentro de una memoria 224, por
ejemplo, una QDR SRAM configurada para trabajar de modo similar a
la FCBU1 209. La FCBU2 225 puede estar configurada para almacenar
la información que se ha de archivar en los campos de los FCBs
cuando éstos se hallan temporalmente en las colas de flujo 223.
Detalles adicionales relativos al FCBU2 225 dentro de la memoria 224
del planificador 130 que almacena campos de información se exponen
en la descripción de la fig. 3. El planificador de ejecución 130
puede estar configurado para transmitir los FCBs almacenados en las
colas de flujo 223 a las Colas de Hoja de Objetivo (TBQs), con la
lógica 227 de colocación en colas configurada para situar en las
colas los FCBs recibidos en las TBQs 215.
Los FCBs de las colas TBQs 215 pueden ser
planificados para ser retirados de las colas TBQs 215 mediante el
planificador de ejecución 228 de TBQ, y cargados dentro del Bloque
de Control de Puerta (PCB) 224. El planificador 228 de TBQ puede
estar configurado para retirar el siguiente FCB de las TBQs 215 y
poner en cola ese FCB en el PCB 224. Una vez que el siguiente FCB
es puesto en cola en el PCB 224, éste puede emitir una petición de
lectura al árbitro 204 de memoria, para leer los datos del comienzo
del cuadro, es decir, el encabezamiento del cuadro, almacenado en
la unidad 140 de almacenamiento de datos asociada al FCB retirado
de la cola. Los datos leídos por el FCB 224 pueden ser almacenados
temporalmente en la memoria 214 de área de preparación de datos,
antes de la transmisión de los datos de cuadro tratados a un
conmutador o una puerta (no mostrados) en una red de conmutación de
paquetes. A efectos de claridad ha de hacerse notar que el PCB 224
puede estar configurado para leer una parte de los datos
almacenados en el cuadro tratado en cada petición de lectura
particular. Es decir, que la totalidad de los datos almacenados en
el cuadro tratado pueden ser leídos en múltiples peticiones de
lectura proporcionadas por el PCB 224. Una vez leídos la totalidad
de los datos almacenados en el cuadro tratado, la unidad 140 de
almacenamiento de datos puede almacenar datos de cuadro
adicionales.
El controlador 201 de transmisión puede
comprender también una memoria 213 de área de preparación de
alteración de cuadro, configurada para recibir órdenes que
modifiquen los cuadros tratados almacenados temporalmente en la
memoria 214 de área de preparación de datos. Estas órdenes son
citadas comúnmente como órdenes de modificación de cuadro, que son
emitidas por el procesador incorporado 150 y son almacenadas en un
banco particular de una memoria intermedia particular por la lógica
216 del procesador incorporado, como se describe con todo detalle
en la solicitud de patente de EE.UU. núm. de serie 09/792.557. En
una realización. el PCB 224 puede estar configurado para recuperar
las órdenes de modificación de cuadro almacenadas en un banco
particular de una memoria intermedia particular, y almacenarlas en
una memoria 213 de área de preparación de alteración de cuadro. Una
unidad lógica 212 de Alteración de Cuadro (FA) puede estar
configurada para ejecutar las órdenes almacenadas en la memoria 213
de área de preparación de alteración de cuadro, para modificar los
contenidos de los cuadros tratados almacenados temporalmente en la
memoria 214 del área de preparación de datos. Una lógica 212 de FA
ha modificado el contenido de los cuadros tratados, y dichos
cuadros tratados y modificados pueden ser transmitidos a través de
una unidad de interfaz 211 de conmutador/puerta. Dicha unidad de
interfaz 211 de conmutador/puerta puede transmitir datos a una
puerta (no mostrada) que trabaje como interfaz para la red de
conmutación de paquetes, cuando la unidad 110 de flujo de datos
trabaje en modalidad de salida. De otro modo, la unidad de interfaz
211 de conmutador/puerta puede transmitir datos a un conmutador (no
mostrado) en la red de conmutación de paquetes, cuando la unidad
110 de flujo de datos trabaje en modalidad de entrada.
La unidad 110 de flujo de datos puede comprender
también un árbitro 207 de Bloque de Control de Memoria Intermedia
(BCB), configurado para arbitrar entre peticiones de BCB diferentes
procedentes del controlador 201 de transmisión, el controlador 202
de interfaz del ordenador incorporado, y el controlador 203 de
recepción, para leer o escribir en la BCBU 208. El árbitro 207 de
BCB puede estar configurado para planificar accesos diferentes con
objeto de utilizar la anchura de banda de las memorias tan
eficientemente como sea posible. La unidad 110 de flujo de datos
puede comprender también un árbitro 206 de Bloque de Control de
Cuadro (FCB) configurado para arbitrar entre diferentes FCB
procedentes del controlador 202 de interfaz del ordenador
incorporado, el controlador de recepción 203, y el controlador de
transmisión 201, para leer o escribir en la FCBU1 209.
Como antes se ha dicho, cada cuadro de datos
puede estar asociado a un FCB. A medida que los cuadros tratados
son leídos en la unidad 140 de almacenamiento de datos, por
ejemplo, DDR DRAM, y los cuadros tratados son modificados y
transmitidos a un conmutador o puerta (no mostrados) en la red de
conmutación de paquetes, el FCB asociado a dicho cuadro tratado
cesa de representar ese cuadro particular de datos. Una vez que el
FCB ya no está asociado a unos datos de cuadro, el FCB puede ser
almacenado en la cola libre 222 de FCB dentro del árbitro 286 de
FCB. Dicha cola libre 222 de FCB puede estar configurada para
comprender una pluralidad de FCBs que ya no están asociados a unos
datos de cuadro particulares. Ha de apreciarse que la cola libre
222 de FCB puede comprender cualquier número de FCBs que ya no
están asociados a unos datos de cuadro particulares. Una vez que la
unidad 110 de flujo de datos recibe un paquete, es decir, un
cuadro, de datos, un Bloque de Control de Nuevo montaje (RCB) 219
del controlador de recepción 203 puede asociar un FCB particular de
la cola libre 222 de FCB al cuadro de datos recibido, y el FCB
recién asociado puede entonces ser puesto en cola en las colas GQs
218 por el RCB 219.
Como antes se ha dicho, cada cuadro de datos
puede estar asociado a un FCB. Cada FCB asociado a un cuadro de
datos puede estar asociado a uno o más BCBs, y cada BCB asociado a
un FCB puede estar asociado a una memoria intermedia particular de
almacenamiento de datos 140. Una vez que los datos de cuadro
tratados almacenados en una memoria intermedia de la unidad 140 de
almacenamiento de datos han sido recuperados mediante el
controlador 201 de transmisión, y subsiguientemente modificados y
transmitidos a un conmutador o puerta (no mostrados) de la red de
conmutación de paquetes, el BCB asociado a esa memoria intermedia
particular que ya no incluye cualquier dato de cuadro, deja de
comprender cualquier información válida. Es decir, que el BCB
asociado a la memoria intermedia particular que ya no incluye datos
de cuadro, incluye datos que no son útiles, ya que la memoria
intermedia particular asociada al BCB ya no incluye cualesquiera
datos de cuadro. Una vez que el BCB deja de comprender cualquier
información válida, es decir, una vez que los datos de cuadro de una
memoria particular han sido transmitidos, el BCB puede ser
almacenado en una cola libre 226 de BCB dentro del árbitro 296 de
BCB. Dicha cola libre 226 de BCB puede estar configurada para
comprender una pluralidad de BCBs que no comprendan cualquier
información válida. Ha de tenerse en cuenta que la cola libre 226 de
BCB puede comprender cualquier número de BCBs que no comprendan
cualquier información válida. Una vez que el controlador 203 de
recepción escribe los datos de cuadro recibidos en una memoria
intermedia particular de la unidad 140 de almacenamiento de datos,
el RCB 219 del controlador de recepción 203 puede escribir
información válida en el BCB particular, en la cola libre 226 de BCB
que está asociada a la memoria intermedia particular que almacenaba
el cuadro de datos recibido.
Como antes se ha dicho, un FCB puede hallarse
temporalmente en la cola libre 222 de FCB, o puede hallarse
temporalmente en una de las otras colas, por ejemplo, las colas GQ
218, las colas de flujo 223, o las TBQs 215. Una descripción más
detallada del "ciclo de vida" del FCB, el cual puede ser
almacenado inicialmente en la cola libre 222 de FCB y transferido a
través de otras colas, por ejemplo, las colas GQs 218, las colas de
flujo 223, las colas TBQs 215, hasta ser puesto en la cola libre
222 de FCB, es expuesta en la descripción de la fig. 3. Puede
decirse que un FCB es "alquilado" desde la cola libre 222 de
FCB, ya que el FCB puede ser retirado temporalmente de la cola
libre 222 de FCB durante el "ciclo de vida" de dicho FCB. Ha
de apreciarse que cada una de las colas, por ejemplo, las colas GQs
218, las colas de flujo 223, las colas TBQs 215, o la cola libre
222 de FCB, puede comprender concurrentemente uno o más FCBs
diferentes. Ha de apreciarse también que los FCBs se hallan
temporalmente en cada una de las colas, por ejemplo, las colas GQs
218, las colas de flujo 223, las colas TBQs 215, o la cola libre
222 de FCB, durante su "ciclo de vida".
Como se ha expuesto en la Sección de Información
de Antecedentes, Los FCBs comprenden varios campos de información,
los cuales son suministrados por la memoria 210 o 224 del
procesador 100 de paquete. Es decir, que los campos de información
en los FCBs son obtenidos mediante acceso a la memoria 210, por
ejemplo, la QDR SRAM, en el procesador 100 de paquete. Sería
deseable por tanto limitar el número de campos en los bloques de
control de campo que requieran información, para reducir así el
número de accesos a las memorias, y con ello las demandas de
anchura de banda en las memorias 210 y 224, como se expone
seguidamente.
La fig. 3 ilustra una tabla de flujo de acciones
de un método 300 para reducir el número de accesos a las memorias,
por ejemplo, las memorias 210 o 224, para obtener la información de
campo deseada en los bloques de control de cuadro, con lo que se
mejora la eficiencia de la anchura de banda de la memoria, por
ejemplo, las memorias 210 o 224. La memoria 210 está asociada a la
unidad 110 de flujo de datos, mientras que la memoria 224 está
asociada al planificador de ejecución 130.
Como antes de ha dicho, cada cuadro de datos
puede estar asociado a un bloque de control de cuadro (FCB). En una
realización de la presente invención, un FCB lógico puede ser
representado como dos bloques de control diferentes, ya que hay dos
memorias, 210 y 224. Por ejemplo, un FCB básico (BFCB) puede estar
asociado a la memoria 210. Un FCB de flujo (FFCB) puede estar
asociado a la memoria 224. Estos dos bloques de control diferentes,
es decir, BFCB y FFCB, pueden compartir la misma dirección de
memoria, es decir, dirección de memoria física, pero los datos que
han de ser proporcionados a los campos de los dos bloques de control
diferentes pueden residir en memorias separadas, por ejemplo, la
210 o la 224.
En la operación 301, un FCB que se halla en la
cola libre 222 de FCB del árbitro 206 de FCB, puede ser retirado de
la cola libre 222 de FCB por el RCB 219, La fig. 4 ilustra los
campos del BFCB 400, del FCB que se halla en la cola libre 222 de
FCB. El BFCB 400 puede comprender dos entradas o filas en las que
cada una de ellas tiene treinta y seis bitios. Ha de hacerse notar
que el BFCB 400 puede comprender cualquier número de campos y
cualquier número de filas, que a su vez comprenden cualquier número
de bitios, y que la fig. 4 es sólo ilustrativa.
El BFCB 400 del FCB que se halla en la cola libre
222 de FCB puede comprender dos campos, por ejemplo, NFA (dirección
del siguiente FCB) y ECC (código de corrección de error). El campo
NFA señala la siguiente dirección FCB, lo que permite el
encadenamiento de FCBs. El campo ECC puede comprender el código de
corrección de error, como se describe en la solicitud de patente de
EE.UU. núm. de serie 09/792.533.
La fig. 5 ilustra los campos del FFCB 500 del FCB
que se halla en la cola libre 222 de FCB. El FFCB 500 puede
comprender una entrada o fila que tiene treinta y seis bitios. Ha
de hacerse notar que el FFCB 500 puede comprender cualquier número
de campos y cualquier número de filas, que a su vez comprenden
cualquier número de bitios, y que la fig. 5 es sólo
ilustrativa.
El FFCB 500 del FCB que se halla en la cola libre
222 de FCB pueden comprender dos campos, por ejemplo, NFA, Cuenta
de octetos (BCNT) de una o más memorias intermedias asociadas al
FCB, así como un bitio de paridad (PTY). El campo NFA puede
comprender un señalador de la dirección del siguiente FCB, lo que
permite así el encadenamiento de los FCBs en la cola libre 222 de
FCB. El campo BCNT puede comprender la longitud de cuenta de
octetos del uno o más BCBs asociados al FCB. No obstante, no puede
accederse al FCBU2 225 de la memoria 224 para recuperar información
a almacenar en los campos del FFCB 500 del FCB que se halla en la
cola libre 222 de FCB, ya que el FFCB 500 de dicho FCB que se halla
en la citada cola libre 222 de FCB puede no estar asociado a un
cuadro de datos. Es decir, que los campos del FFCB 500 del FCB que
se halla en la cola libre 222 de FCB no son importantes, y por
tanto no hay necesidad de acceder al FCBU2 225 de la memoria 224
asociada al FFCB 500. Detalles adicionales relativos a la
asociación de un FCB a uno o más BCBs, así como la información
almacenada en los campos FCBs, se describen en la solicitud de
patente de EE.UU. núm. de serie 09/791.336. Los detalles del bitio
de paridad en el FCB se proporcionan en la solicitud de patente de
EE.UU. núm. de serie 09/792.533.
La información puede ser almacenada en el BFCB
400 y no en el FFCB 500, ya que la cola libre 222 de FCB es
manejada por la unidad 110 de flujo de datos, y no por el
planificador 130, como se explica más adelante. Por tanto, los
campos del BFCB 400 del FCB que se halla en la cola libre 222 de
FCB pueden comprender información válida, mientras que los campos
del FFCB 500 del FCB que se halla en la cola libre de FCB pueden
comprender información no válida.
Como antes se ha dicho, cuando la unidad 110 de
flujo de datos recibe datos de cuadro por la unidad de interfaz 221
de puerta/conmutador procedentes de un conmutador (no mostrado) en
una red de conmutación de paquetes o una puerta (no mostrada), que
trabaja como interfaz para una red de conmutación de paquetes, un
FCB es retirado de la cola libre 222 de FCB por el RCB 219 de la
unidad 110 de flujo de datos, con objeto de asociar los datos de
cuadro recibidos con un FCB en la operación 301. El FCB es retirado
de la cola libre 222 de FCB por el RCB 219, que emite una petición
de lectura al FCBU1 209 de la memoria 210, para recuperar
información para los campos NFA y ECC en BFCB 400 del FCB en la cola
libre 222. El RCB 219 de la unidad 110 de flujo de datos puede
emitir una petición de lectura sólo al FCBU1 209 de la memoria 210,
y no al FCBU2 225 de la memoria 224, ya que la memoria 210 está
asociada a la unidad 110 de flujo de datos, y la memoria 224 está
asociada al planificador 130. Por tanto, el RCB 219 no accede al
FCBU2 225 de la memoria 224 para recuperar información para los
campos, por ejemplo, NFA, BCNT, del FFCB 500 del FCB que se halla en
la cola libre 222 de FCB. Al no acceder a la memoria 224, se mejora
así la eficiencia de la anchura de banda de dicha memoria 224.
En la operación 302, el FCB retirado de la cola
libre 222 de FCB puede ser puesto en las colas GQs 218 por el RCB
219. La fig. 6 ilustra los campos del BFCB 600 del FCB que se halla
en las colas GQs 218. El BFCB 600 puede comprender dos entradas en
las que cada una de ellas es de treinta y seis. Ha de hacerse notar
que el BFCB 600 puede comprender cualquier número de entradas, que a
su vez comprendan cualquier número de bitios, y que la fig. 6 es
sólo ilustrativa.
El BFCB 600 del FCB que se halla en las colas GQs
218 puede comprender dos campos, por ejemplo, la dirección del
siguiente FCB (NFA), la longitud de cuenta de octetos (BCNT), y el
bitio de paridad (PTY) en la primera entrada. La segunda entrada
del BFCB 600 del FCB que se halla en las colas GQs 218 puede
comprender tres campos, por ejemplo, dirección del primer BCB,
posición del octeto de arranque (SBP) de la memoria intermedia
asociada al primer BCB que está asociado al FCB, posición del
octeto final (EBP) de la memoria intermedia asociada al primer BCB
que está asociado al FCB, así como un bitio de paridad (PTY), un
bitio de tipo FCB (FTO), y un bitio de aborto (ABORT). El campo NFA
puede señalar la dirección del siguiente FCB en las colas GQs 218,
lo que permite el encadenamiento de los FCBs en dichas colas GQs
218. El campo BCNT puede comprender la longitud de la cuenta de
octetos de uno o más BCBs asociados al FCB. El FBA puede comprender
la dirección del primer BCB asociado al FCB. El SBP puede
comprender la posición del octeto de arranque de la memoria
intermedia asociada al primer BCB asociado al FCB. La EBP puede
comprender la posición del octeto final de la memoria intermedia
asociada al primer BCB asociado al FCB. Como antes se ha dicho,
detalles adicionales relativos a la información almacenada en los
campos de los FCBs, por ejemplo, FBA, SBP, ESP, son descritos en la
solicitud de patente de EE.UU. núm. de serie 09/791.336. El bitio
FTO puede comprender el tipo de FCB. El bitio de aborto puede
indicar que los datos de cuadro asociados al FCB han encontrado una
condición de excepción, y que el FCB no debe ser considerado
válido.
La fig. 7 ilustra los campos del FFCB 700 del FCB
situado en las colas GQs 218. EL FFCB 700 comprende una entrada que
tiene treinta y seis bitios. Ha de apreciarse que el FFCB 700
comprende cualquier número de entradas que a su vez comprendan
cualquier número de bitios, y que la fig. 7 es sólo ilustrativa.
El FFCB 700 del FCB situado en las colas GQs 218
puede comprender dos campos, por ejemplo, NFA, y cuenta de octetos
de cuadro (BCNT), así como un bitio de paridad (PTY). El campo NFA
puede señalar a la siguiente dirección de FCB, lo que permite así
el encadenamiento de los FCBs en las colas GQs 218. El campo BCNT
puede comprender la longitud de cuenta de octetos de uno o más BCBs
asociados al FCB. No obstante, la FCBU2 225 de la memoria 224 puede
no ser accesible para la recuperación de información a almacenar en
los campos del FFCB 700 del FCB que se halla en las colas GQs 218,
ya que el FFCB 700 del FCB que se halla en dichas colas 218 puede
no estar asociado a un cuadro de datos. Es decir, que los campos
del FFCB 700 del FCB que se halla en las colas GQs 218 no son
importantes, y por tanto no hay necesidad de acceder a la FCBU2 225
de la memoria 224 que está asociada al FFCB
700.
700.
La información puede ser almacenada en el BFCB
600, y no en el FFCB 700, ya que las colas 218 son manejadas por la
unidad 110 de flujo de datos, y no por el planificador 130, como se
explica en detalle más adelante. Por tanto, los campos del BFCB 600
del FCB que se halla en las colas GQs 218 pueden comprender
información válida, mientras que los campos del FFCB 700 del FCB que
se halla en las colas GQs 218 pueden comprender información no
válida.
Como antes se ha dicho, el RCB 219 pone en cola
el FCB retirado de la cola libre 222 de FCB en las colas GQs 218.
El RCB 219 puede emitir dos peticiones de grabación a la FCBU1 209
de la memoria 210, para escribir la información en los campos del
BFCB 600 del FCB en las colas GQs 218. La primera petición de
grabación es escribir la información en los campos de la primera
entrada, por ejemplo, NFA, BCNT. La segunda petición de grabación
es para escribir la información en los campos de la segunda
entrada, por ejemplo, FBA, SBP, EBP, RCB 219. El RCB puede emitir
dos peticiones de grabación sólo a la FCBU1 209 de la memoria 210,
y no al FCBU2 de la memoria 224, ya que la memoria 210 está
asociada a la unidad 110 de flujo de datos, y la memoria 224 está
asociada al planificador 130. Por tanto, el RCB 219 no accede a la
FCBU 225 de la memoria 224 para recuperar información para los
campos, por ejemplo, NFA, BCNT, del FFCB 500 del FCB que se halla
en la cola libre 222 de FCB. Al no tener que acceder a la memoria
224 se mejora así la eficiencia de la anchura de banda de dicha
memoria.
En la operación 303, el FCB de las colas GQs 218
puede ser retirado de dichas colas por el distribuidor lógico 217,
de modo que los datos de cuadro asociados al FCB puedan ser
tratados por el procesador incorporado 150, como se expone en la
descripción de la fig. 2. La lógica 217 del distribuidor puede
emitir dos peticiones de lectura a la FCBU1 209 de la memoria 210,
para leer la información en los campos del BFCB 600 del FCB en las
colas GQs 218. La primera petición de lectura puede ser leer la
información en los campos de la primera entrada, por ejemplo, NFA,
BCNT. La segunda petición de lectura es para leer la información en
los campos de la segunda entrada, por ejemplo, FBA, SBP, EBP. El
distribuidor lógico 217 puede emitir dos peticiones de lectura sólo
a la FCBU1 209 de la memoria 210, y no a la FCBU2 225 de la memoria
224, ya que la memoria 210 está asociada a la unidad 110 de flujo
de datos, y la memoria 224 está asociada al planificador 130. Es
decir, que el distribuidor lógico 217 puede emitir peticiones de
lectura sólo a la FCBU1 209 de la memoria 210, y no a la FCBU2 de
la memoria 224, ya que la información en los campos del FFCB 700 del
FCB en las colas GQs 218 no tiene importancia, es decir, que no es
información válida. Al no acceder a la memoria 224, se mejora así
la eficiencia de la anchura de banda de dicha memoria 224.
En la operación 304, el FCB puede ser puesto en
las colas de flujo 223 del planificador 130. Como antes se ha
dicho, la lógica del procesador incorporado 216 emite el FCB
asociado a los datos de cuadro tratados al planificador 130. Dicho
planificador 130 puede estar configurado para almacenar los FCBs
recibidos en las colas 223 de flujo. La fig. 8 ilustra los campos
del BFCB 800 del FCB situado en las colas de flujo 223. El BFCB
puede comprender dos entradas, cada una de las cuales tiene treinta
y seis bitios. Ha de hacerse notar que el BFCB 800 puede comprender
cualquier número de campos, y cualquier número de filas puede
comprender a su vez cualquier número de bitios, y que la fig. 8 es
sólo ilustrativa.
El BFCB 800 del FCB que se halla en las colas de
flujo 223 puede comprender un campo, por ejemplo, siguiente
dirección de memoria intermedia de control de cuadro (NFA) en la
primera entrada y tres campos, por ejemplo, primera dirección de
BCB (FBA), posición del octeto de arranque (SBP) de la memoria
intermedia asociada al primer BCB, cuando éste se halla asociado al
FCB, posición del octeto final (EBP) de la memoria intermedia
asociada al primer BCB cuando el primer BCB está asociado al FCB en
la segunda entrada. El campo NFA puede señalar la dirección del FCB
siguiente en las colas de flujo 223. La FBA puede comprender la
dirección del primer BCB asociado al FCB. La SBP puede comprender
la posición del octeto de arranque de la memoria intermedia asociada
al primer BCB asociado al FCB. La EBP puede comprender la posición
del octeto final de la memoria intermedia asociada al primer BCB
asociado al FCB. No obstante, la FCBU1 209 de la memoria 210 puede
no ser accesible para recuperar información a almacenar en los
campos del BFCB 800 del FCB que se halla en las colas 223 de flujo,
ya que el BFCB 800 del FCB que se halla en las colas 223 de flujo
puede no estar asociado al cuadro de datos. El campo en la primera
entrada del BFCB 800 del FCB que se halla en las colas 223 de flujo
puede comprender información que no sea importante, y los campos en
la segunda entrada pueden comprender información que necesite ser
recordada. En consecuencia, no hay necesidad de acceder a la FCBU1
209 de la memoria 210 que está asociada al BFCB 800.
Es decir, que los campos del BFCB 800 del FCB que
se halla en las colas de flujo 223 no son importantes, y por tanto
no hay necesidad de acceder a la FCBU1 209 de la memoria 210 que
está asociada al BFCB 800.
La fig. 9 ilustra los campos del FFCB 900 del FCB
que se halla en las colas de flujo 223. El FFCB 900 puede
comprender una entrada de treinta y seis bitios. Ha de apreciarse
que el FFCB 900 puede comprender cualquier número de campos y
cualquier número de filas, que a su vez comprendan cualquier número
de bitios, y que la fig. 9 es sólo ilustrativa.
El FFCB 900 del FCB que se halla en las colas de
flujo 223 puede comprender dos campos, por ejemplo, NFA y cuenta de
octetos de cuadro (BCNT), así como un bitio de paridad (PTY). El
campo de NFA puede señalar la dirección del siguiente FCB, lo que
permite el encadenamiento de los FCBs en las colas de flujo 332. El
campo de BCNT puede comprender la longitud de la cuenta de octetos
de uno o más BCBs asociados al FCB.
La información puede ser almacenada en el FFCB
900, y no en el BFCB 800, debido a que las colas de flujo 223 son
manejadas por el planificador 139, y no por la unidad 110 de flujo
de datos, como se expone más adelante.
Como antes se ha dicho, la lógica 216 del
ordenador incorporado envía el FCB asociado a los datos de cuadro
tratados al planificador 130, después de tratar dichos datos de
cuadro. El planificador 130 puede estar configurado que poner en
cola los FCBs recibidos en las colas de flujo 223, en la operación
304. El planificador 130 puede emitir una petición de grabación a
la FCBU2 225 de la memoria 224, para escribir la información en los
campos del FFCB 900 del FCB en las colas de flujo 223. La petición
de grabación puede ser para escribir la información en los campos
del FFCB 900, por ejemplo, NFA, BCNT. El planificador 130 puede
emitir una petición de lectura sólo a la FCBU2 de la memoria 224, y
no a la FCBU1 de la memoria 210, ya que la memoria 224 está
asociada al planificador 130, y la memoria 210 está asociada a la
unidad 110 de flujo de datos. Al no acceder a la memoria 210, se
mejora así la eficiencia de la anchura de banda de dicha memoria
210.
En la operación 305, el FCB de las colas de flujo
223 puede ser separado de la cola por el planificador 130. Dicho
planificador 130 puede emitir una petición de lectura a la FCBU2
225 de la memoria 224, para leer la información en los campos del
FFCB 900 del FCB en las colas de flujo 223. La petición de lectura
es para leer la información en los campos del FFCB 900, por
ejemplo, NFA, BCNT. El planificador 130 puede emitir una petición
de lectura sólo a la FCBU2 225 de la memoria 224, y no a la FCBU1
de la memoria 219, ya que la memoria 224 está asociada al
planificador 130, y la memoria 210 está asociada a la unidad 110 de
flujo de datos. Es decir, que el planificador 130 puede emitir una
petición de lectura a la FCBU2 de la memoria 224 y no a la FCBU1
209 de la memoria 210, ya que la información en los campos del BFCB
800 del FCB en las colas de flujo 223 no es importante, es decir,
es información no válida. Al no tener que acceder a la memoria 210,
se mejora así la eficiencia de la anchura de banda de dicha memoria
210.
En la operación 306, el FCB retirado de las colas
de flujo 223 puede ser puesto en las colas TBQs 215 por la lógica
227 de puesta en cola de TBQs del controlador de transmisión 201.
La fig. 10 ilustra los campos del BFCB 1000 del FCB que se halla en
las colas TBQs 215. El BFCB 1000 puede comprender dos entradas, en
las que cada una de ellas tiene treinta y seis bitios. Ha de
apreciarse que el BFCB 1000 puede comprender cualquier número de
campos y de filas, que a su vez comprenden cualquier número de
bitios, y que la fig. 10 es sólo ilustrativa.
El BFCB 1000 del FCB que se halla en las colas
TBQs 215 puede comprender dos campos, por ejemplo, dirección del
siguiente cuadro de memoria intermedia de control (NFA), longitud
de cuenta de octetos (BCNT) de uno o más BCBs asociados al FCB, y
bitio de paridad (PTY) en la primera entrada; y cuatro campos, por
ejemplo, dirección (FBA) del primer BCB, posición del octeto de
arranque (SBP) de la memoria intermedia asociada al primer BCB que
está asociado al FCB, posición del octeto final (EBP) de la memoria
intermedia asociada al primer BCB que está asociado al FCB, campo
de tipo de cuadro (FT), así como bitio de paridad (PTY), en la
segunda entrada. El campo NFA puede señalar la dirección del
siguiente FCB en las colas TBQs 215, lo que permite el
encadenamiento de los FCBs en dichas colas TBQs 215. El campo BCNT
puede comprender la longitud de cuenta de octetos de uno o más BCBs
asociados al FCB. La FBA puede comprender la dirección del primer
BCB asociado al FCB. La SBP puede comprender la posición del octeto
de arranque de la memoria intermedia asociada al primer BCB asociado
al FCB. La EBP puede comprender la posición del octeto final de la
memoria intermedia asociada al primer BCB asociado al FCB. El campo
FT puede comprender el tipo del FCB.
La fig. 11 ilustra los campos del FFCB 1100 del
FCB que se halla en las colas TBQs 215. El FFCB puede comprender
una entrada de treinta y seis bitios. Ha de apreciarse que el FFCB
1100 puede comprender cualquier número de campos y cualquier número
de filas, que a su vez pueden comprender cualquier número de
bitios, y que la fig. 11 es sólo ilustrativa.
El FFCB 1100 del FCB que se halla en las colas
TBQs 215 puede comprender dos campos, por ejemplo, NFA, longitud de
cuenta octetos (BCNT) de uno o más BCBs asociados al FCB, así como
un bitio de paridad (PTY). El campo NFA puede señalar la dirección
del siguiente FCB, lo que permite el encadenamiento de los FCBs en
las TBQs 215. El campo BCNT puede comprender la longitud de cuenta
de octetos de uno o más BCBs asociados al FCB. No obstante, la
FCBU2 225 de la memoria 224 puede no ser accesible para recuperar
información a almacenar en los campos del FFCB 1100 del FCB que se
halla en la colas TBQs 215, ya que el FFCB 1100 del FCB que se
halla en dichas colas TBQs puede no estar asociado a un cuadro de
datos. Es decir, que los campos del FFCB 1100 del FCB que se halla
en la colas RBQs 215 no son importantes, por lo que no hay
necesidad de acceder a la FCBU2 225 de la memoria 224 asociada al
FFCB 1100.
La información puede ser almacenada en el BFCB
1000, y no en el FFCB 1100, ya que las colas TBQs 215 son manejadas
por la unidad 119 de flujo de datos, y no por el planificador 120,
como se explica en detalle más adelante. Por tanto, los campos del
BFCB 1000 del FCB que se halla en las colas TBQs 215 pueden
comprender información válida, mientras que los campos del FFCB 1100
del FCB que se halla en las colas TBQs 215 pueden no comprender
información válida.
Como antes se ha dicho, la lógica 227 de
situación en las colas TBQs, sitúa en ellas el FCB recibido del
planificador 130. Dicha lógica 227 puede emitir una petición de
grabación a la FCBU1 209 de la memoria 210, para escribir la
información en los campos, por ejemplo, NFA, BCNT, del BFCB 1000 del
FCB en las colas TBQs 215. Dicha lógica 227 de situación en las
colas TBQs puede recibir una copia de la información en el campo de
BCNT del FFCB 900 procedente del planificador 130, cuando el
controlador de transmisión 201 recibe el FCB procedente del
planificador 130. La lógica 227 de situación en las colas TBQs
puede estar configurada entonces para grabar la información del
campo BCNT del FFCB 900 en el campo BCNT del BFCB 1000. Dicha
lógica 227 de situación en las colas TBQs no emite otra petición de
grabación para escribir la información en los campos de la segunda
entrada, ya que la información en dichos campos del BFCB 800 no fue
actualizada mientras estaba en las colas de flujo 223. En
consecuencia, la lógica 227 de situación en las colas TBQs sólo
accede a la FCBU1 de la memoria 210 una vez, en vez de dos, con lo
que se mejora así la eficiencia de la anchura de banda de la
memoria 210. Además, dicha lógica 227 de situación en las colas
TBQs puede emitir una petición de grabación sólo a la FCBU1 209 de
la memoria 210, y no a la FCBU2 de la memoria 224, ya que la
memoria 210 está asociada a la unidad 110 de flujo de datos, y la
memoria 224 está asociada al planificador 130. Por tanto, la lógica
227 de situación en las colas TBQs no accede a la FCBU2 225 de la
memoria 224 para grabar información en los campos, por ejemplo,
NFA, BCNT, del FFCB 1100 del FCB que se halla en las colas TBQs
215. Al no acceder a la memoria 224, se mejora así la eficiencia de
su anchura de banda.
En la operación 307, el FCB en las colas TBQs 215
puede ser retirado de la cola por el planificador de ejecución 228,
de modo que los datos de cuadro asociados al FCB puedan ser leídos
por dicho planificador 228 de la TBQ, como se expone en la
descripción de la fig. 2. El planificador 228 de la TBQ puede emitir
dos peticiones de lectura a la FCBU1 209 de la memoria 210, para
leer la información en los campos del BFCB 1000 del FCB en las
colas TBQ 215. La primera petición de lectura puede ser para leer
la información en los campos de la primera entrada, por ejemplo,
NFA, BCNT. La segunda petición de lectura puede ser para leer la
información en los campos de la segunda entrada, por ejemplo, FBA,
FT, SBP, EBP. El planificador 228 de la cola TBQ puede emitir dos
peticiones de lectura a sólo la FCBU1 209 de la memoria 210, y no a
la FCBU2 225 de la memoria 224, ya que la memoria 210 está asociada
a la unidad 110 de flujo de datos, y la memoria 224 está asociada
al planificador 130. Por tanto, el planificador 228 de TBQ no
accede a la FCBU2 225 de la memoria 224, para recuperar información
para los campos, por ejemplo, NFA, BCNT, del FFCB 1100 del FCB que
se halla en las colas TBQs 215. Al no acceder a la memoria 224
puede mejorarse así la anchura de banda de dicha memoria 224.
En la operación 308, el FCB puede ser situado en
la cola libre 222 del árbitro 206 de FCB, una vez que los datos de
cuadro tratados asociados al FCB han sido transmitidos a través de
la unidad de interfaz 211 de conmutador/puerta a un conmutador (no
mostrado) en la red de conmutación de paquetes, o a una puerta (no
mostrada) que trabaje como una interfaz para la red de conmutación
de paquetes. El árbitro 206 de FCB puede estar configurado para
recibir el FCB asociado a los datos de cuadro tratados y
transmitidos desde el PCB 224 del controlador de transmisión, donde
el FCB puede ser situado en la cola libre 222 de FCB por el PCB
224.
Como antes se ha dicho, la fig. 4 ilustra los
campos del BFCB 400 del FCB que se halla en la cola libre 222 de
FCB. El BFCB 400 del FCB que se halla en dicha cola libre 222 puede
comprender dos campos, por ejemplo, NFA (dirección siguiente del
primer FCB), ECC (código de corrección de error). El campo NFA
señala la dirección del siguiente FCB, lo que permite el
encadenamiento de los FCBs en la cola libre 222. El campo ECC puede
comprender el código para la corrección de error, como se describe
en la solicitud de patente de EE.UU. núm. de serie 09/792.533.
Como antes se ha dicho. la fig. 5 ilustra los
campos del FFCB 500 del FCB que se halla en la cola libre 222 de
FCB. El FFCB 500 puede comprender una entrada de treinta y seis
bitios. El FFCB 500 del FCB que se halla en la cola libre 222 de
FCB puede comprender dos campos, por ejemplo, NFA, longitud de la
cuenta de octetos (BCNT) de uno o más BCBs asociados al FCB, así
como un bitio de paridad (PTY). El campo NFA señala la siguiente
dirección de FCB, lo que permite el encadenamiento de los FCBs en
la cola libre 222 de FCB. El campo BCNT puede comprender la
longitud de la cuenta de bitios de uno o más BCBs asociados al
FCB.
La información puede ser almacenada en el BFCB
400, y no en el FFCB 500, debido a que la cola libre 222 de FCB es
manejada por la unidad 110 de flujo de datos, y no por el
planificador 130, como se explica más adelante. Por tanto, los
campos en el BFCB 400 del FCB que se halla en la cola libre 222 de
FCB pueden comprender información válida, mientras que los campos
del FFCB 500 del FCB que se halla en la cola libre 222 de FCB
pueden comprender información no válida.
Como antes se ha dicho, el árbitro 206 de FCB
puede estar configurado para recibir el FCB asociado a los datos de
cuadro tratados y transmitidos desde el PCB 224 del controlador de
transmisión, donde el FCB puede ser puesto en la cola libre 222 de
FCB mediante el FCB 224. El PCB 224 puede emitir una petición de
grabación a la FCBU1 209 de la memoria 210, para escribir la
información para los campos NFA y ECC en el BFCB 400 del FCB en la
cola libre 222. El PCB 224 puede emitir una petición de grabación a
sólo la FCBU1 209 de la memoria 210, y no a la FCBU2 225 de la
memoria 224, ya que la memoria 210 está asociada a la unidad 110 de
flujo de datos, y la memoria 224 está asociada al planificador 130.
Por tanto, el PCB 224 no accede a la FCBU2 225 de la memoria 224
para recuperar información para los campos, por ejemplo, NFA, BCNT,
del FFCB 500 del FCB situado en la cola libre 222 de FCB. Al no
acceder a la memoria 224, se mejora así la eficiencia de anchura de
banda de dicha memoria.
Ha de apreciarse que el método 300 describe el
"ciclo de vida" de un FCB. También ha de apreciarse que el
método 300 puede describir el "ciclo de vida" de los otros
FCBs en el procesador 100 de la red. Igualmente, ha de tenerse en
cuenta que uno o más FCBs diferentes pueden hallarse temporal y
concurrentemente en cada cola, por ejemplo, las colas GQs 218, las
colas de flujo 223, las colas TBQs 215, y la cola libre 222 de
FCB.
Claims (11)
1. Un sistema que comprende:
- un procesador (100) configurado para tratar
cuadros de datos, cuyo procesador comprende:
- una unidad (110) de flujo de datos configurada
para recibir y transmitir dichos cuadros de datos, y en la que cada
uno de dichos cuadros de datos tiene un bloque de control de cuadro
asociado, y cada uno de dichos bloques de control de cuadro
comprende unos bloques de control primero y segundo;
- una primera memoria (210) acoplada a dicha
unidad de flujo de datos, cuya primera memoria comprende una
primera unidad de control de memoria intermedia de cuadro, y dicha
primera unidad de control de memoria intermedia de cuadro almacena
información de campo para dicho primer bloque de control de dicho
bloque de control de cuadro; y
- un planificador de ejecución (130) acoplado a
dicha unidad de flujo de datos, cuyo planificador está configurado
para planificar cuadros de datos recibidos por dicha unidad de
flujo de datos, y en el que dicho planificador comprende una
segunda memoria (224), la cual comprende una segunda unidad de
control de memoria intermedia de cuadro, y dicha segunda unidad de
control de memoria intermedia de cuadro almacena información de
campo para dicho segundo bloque de control del citado bloque de
control de cuadro.
2. El sistema de la reivindicación 1, en el que
dicha unidad de flujo de datos comprende una pluralidad de colas, y
en el que uno o más de dichos bloques de control de cuadro se
hallan en una de dicha pluralidad de colas.
3. El sistema de la reivindicación 2, en el que
la información en los campos de dicho primer bloque de control de
uno o más de los citados bloques de control de cuadro, que se
hallan en una de dicha pluralidad de colas de la citada unidad de
flujo de datos, está almacenada en dicha primera unidad de control
de memoria intermedia de cuadro de la citada primera memoria.
4. El sistema de cualquiera de las
reivindicaciones 1 a 3, en el que dicho planificador de ejecución
comprende una primera cola en cuya primera cola se hallan uno o más
de dichos bloques de control de cuadro.
5. El sistema de la reivindicación 4, en el que
la información en los campos de dicho segundo bloque de control de
uno o más de los citados bloques de control de cuadro que se hallan
en la primera cola, está almacenada en dicha segunda unidad de
control de memoria intermedia de cuadro de la citada segunda
memoria.
6. Un método para reducir el número de accesos a
las memorias, para obtener la información deseada en los bloques de
control de cuadro, en el que cada uno de dichos bloques de control
comprende un primer bloque de control y un segundo bloque de
control, cuyo primer bloque de control está asociado a una primera
memoria (210), y en el que dicho segundo bloque de control está
asociado a una segunda memoria (224), cuya primera memoria
comprende una primera unidad de control de memoria intermedia de
cuadro, y dicha primera unidad de control de memoria intermedia de
cuadro almacena información de campo para dicho primer bloque de
control del citado bloque de control de cuadro, y en el que la
segunda memoria comprende una segunda unidad de control de memoria
intermedia de cuadro, cuya segunda unidad de control de memoria
intermedia de cuadro almacena información de campo para dicho
segundo bloque de control del citado bloque de control de cuadro, y
cuyo método comprende las operaciones
de:
de:
- acceder a dicha primera memoria para leer o
escribir la información en los campos de dicho primer bloque de
control de uno o más de los citados bloques de control de cuadro;
y
- acceder a dicha segunda memoria para leer o
escribir la información en los campos de dicho segundo bloque de
control de uno o más de dichos bloques de control de cuadro.
7. El método de la reivindicación 6, en el que
uno o más de dichos bloques de control de cuadro se halla en una de
la pluralidad de colas en la unidad de flujo de datos, cuya unidad
de flujo de datos está asociada a dicha primera memoria.
8. El método de la reivindicación 7, en el que se
accede a dicha primera memoria para leer o escribir la información
en campos de dicho primer bloque de control de uno o más de los
citados bloques de control de cuadro, cuando dichos uno o más
bloques de control de cuadro se hallan en una de la citada
pluralidad de colas en dicha unidad de flujo de datos.
9. El método según cualquiera de las
reivindicaciones 6 u 8, en el que uno o más de dichos bloques de
control de cuadro se halla en una cola en un planificador de
ejecución, cuyo planificador está asociado a dicha segunda
memoria.
10. El método de la reivindicación 9, en el que
se accede a dicha segunda memoria para leer o escribir la
información en los campos de dicho segundo bloque de control de uno
o más de los citados bloques de control de cuadro, cuando dichos
uno o más bloques de control de cuadro se hallan en dicha cola del
citado planificador de ejecución.
11. Un producto de programa de ordenador, que
comprende medios de código de programa destinados a ejecutar las
operaciones de cualquiera de las reivindicaciones 6 a 10, cuando
dicho programa es ejecutado en un ordenador.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US09/792,494 US7072347B2 (en) | 2001-02-23 | 2001-02-23 | Assignment of packet descriptor field positions in a network processor |
| US792494 | 2001-02-23 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES2237667T3 true ES2237667T3 (es) | 2005-08-01 |
Family
ID=25157073
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES02712095T Expired - Lifetime ES2237667T3 (es) | 2001-02-23 | 2002-02-20 | Adaptador de red. |
Country Status (13)
| Country | Link |
|---|---|
| US (1) | US7072347B2 (es) |
| EP (1) | EP1362464B1 (es) |
| JP (1) | JP3880520B2 (es) |
| KR (1) | KR100560277B1 (es) |
| CN (1) | CN100479450C (es) |
| AT (1) | ATE293864T1 (es) |
| AU (1) | AU2002232002A1 (es) |
| CZ (1) | CZ20032126A3 (es) |
| DE (1) | DE60203785T2 (es) |
| ES (1) | ES2237667T3 (es) |
| HU (1) | HUP0303240A3 (es) |
| PL (1) | PL363474A1 (es) |
| WO (1) | WO2002069563A2 (es) |
Families Citing this family (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7072347B2 (en) | 2001-02-23 | 2006-07-04 | International Business Machines Corporation | Assignment of packet descriptor field positions in a network processor |
| US7200696B2 (en) * | 2001-04-06 | 2007-04-03 | International Business Machines Corporation | System method structure in network processor that indicates last data buffer of frame packet by last flag bit that is either in first or second position |
| US7099325B1 (en) * | 2001-05-10 | 2006-08-29 | Advanced Micro Devices, Inc. | Alternately accessed parallel lookup tables for locating information in a packet switched network |
| US7535845B2 (en) * | 2004-10-28 | 2009-05-19 | Alcatel Lucent | Intelligent selective flow-based datapath architecture |
| US7376809B2 (en) * | 2005-03-09 | 2008-05-20 | International Business Machines Corporation | Systems and methods for multi-frame control blocks |
| US7466715B2 (en) * | 2005-03-28 | 2008-12-16 | International Business Machines Corporation | Flexible control block format for frame description and management |
| US7787463B2 (en) * | 2006-01-26 | 2010-08-31 | Broadcom Corporation | Content aware apparatus and method |
| DE102008018670A1 (de) | 2008-04-14 | 2009-10-15 | Merck Patent Gmbh | Neue Materialien für organische Elektrolumineszenzvorrichtungen |
| US10225196B2 (en) | 2013-02-15 | 2019-03-05 | Nxp Usa, Inc. | Apparatus, system and method for controlling packet data flow |
| CN111654746B (zh) | 2020-05-15 | 2022-01-21 | 北京百度网讯科技有限公司 | 视频的插帧方法、装置、电子设备和存储介质 |
| CN113835891B (zh) * | 2021-09-24 | 2023-05-23 | 哲库科技(北京)有限公司 | 资源分配方法、装置、电子设备及计算机可读存储介质 |
Family Cites Families (15)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4817054A (en) | 1985-12-04 | 1989-03-28 | Advanced Micro Devices, Inc. | High speed RAM based data serializers |
| US5136582A (en) | 1990-05-29 | 1992-08-04 | Advanced Micro Devices, Inc. | Memory management system and method for network controller |
| US5983004A (en) | 1991-09-20 | 1999-11-09 | Shaw; Venson M. | Computer, memory, telephone, communications, and transportation system and methods |
| US5604884A (en) | 1993-03-22 | 1997-02-18 | Compaq Computer Corporation | Burst SRAMS for use with a high speed clock |
| EP0622922B1 (en) | 1993-04-29 | 2000-11-29 | International Business Machines Corporation | Method and device of multicasting data in a communications system |
| US5699536A (en) * | 1995-04-13 | 1997-12-16 | International Business Machines Corporation | Computer processing system employing dynamic instruction formatting |
| JPH08328949A (ja) | 1995-06-06 | 1996-12-13 | Mitsubishi Electric Corp | 記憶装置 |
| US5898687A (en) * | 1996-07-24 | 1999-04-27 | Cisco Systems, Inc. | Arbitration mechanism for a multicast logic engine of a switching fabric circuit |
| JP3788867B2 (ja) | 1997-10-28 | 2006-06-21 | 株式会社東芝 | 半導体記憶装置 |
| US6035360A (en) | 1997-10-29 | 2000-03-07 | International Business Machines Corporation | Multi-port SRAM access control using time division multiplexed arbitration |
| JP4182180B2 (ja) * | 1999-02-24 | 2008-11-19 | 株式会社日立製作所 | ネットワーク中継装置及びネットワーク中継方法 |
| US6427196B1 (en) * | 1999-08-31 | 2002-07-30 | Intel Corporation | SRAM controller for parallel processor architecture including address and command queue and arbiter |
| US6754216B1 (en) * | 2000-05-08 | 2004-06-22 | Nortel Networks Limited | Method and apparatus for detecting congestion and controlling the transmission of cells across a data packet switch |
| US6751704B2 (en) * | 2000-12-07 | 2004-06-15 | International Business Machines Corporation | Dual-L2 processor subsystem architecture for networking system |
| US7072347B2 (en) | 2001-02-23 | 2006-07-04 | International Business Machines Corporation | Assignment of packet descriptor field positions in a network processor |
-
2001
- 2001-02-23 US US09/792,494 patent/US7072347B2/en not_active Expired - Fee Related
-
2002
- 2002-02-20 CN CNB028050126A patent/CN100479450C/zh not_active Expired - Fee Related
- 2002-02-20 DE DE60203785T patent/DE60203785T2/de not_active Expired - Lifetime
- 2002-02-20 KR KR1020037010704A patent/KR100560277B1/ko not_active Expired - Fee Related
- 2002-02-20 EP EP02712095A patent/EP1362464B1/en not_active Expired - Lifetime
- 2002-02-20 AU AU2002232002A patent/AU2002232002A1/en not_active Abandoned
- 2002-02-20 AT AT02712095T patent/ATE293864T1/de not_active IP Right Cessation
- 2002-02-20 CZ CZ20032126A patent/CZ20032126A3/cs unknown
- 2002-02-20 HU HU0303240A patent/HUP0303240A3/hu unknown
- 2002-02-20 WO PCT/GB2002/000748 patent/WO2002069563A2/en not_active Ceased
- 2002-02-20 JP JP2002568568A patent/JP3880520B2/ja not_active Expired - Fee Related
- 2002-02-20 ES ES02712095T patent/ES2237667T3/es not_active Expired - Lifetime
- 2002-02-20 PL PL02363474A patent/PL363474A1/xx not_active Application Discontinuation
Also Published As
| Publication number | Publication date |
|---|---|
| CN1528078A (zh) | 2004-09-08 |
| EP1362464B1 (en) | 2005-04-20 |
| KR20030076679A (ko) | 2003-09-26 |
| HUP0303240A2 (hu) | 2003-12-29 |
| WO2002069563A2 (en) | 2002-09-06 |
| CZ20032126A3 (cs) | 2004-01-14 |
| DE60203785D1 (de) | 2005-05-25 |
| ATE293864T1 (de) | 2005-05-15 |
| US7072347B2 (en) | 2006-07-04 |
| JP2004530323A (ja) | 2004-09-30 |
| CN100479450C (zh) | 2009-04-15 |
| US20020118690A1 (en) | 2002-08-29 |
| DE60203785T2 (de) | 2006-03-09 |
| EP1362464A2 (en) | 2003-11-19 |
| AU2002232002A1 (en) | 2002-09-12 |
| PL363474A1 (pl) | 2004-11-15 |
| KR100560277B1 (ko) | 2006-03-10 |
| WO2002069563A3 (en) | 2003-04-17 |
| HUP0303240A3 (en) | 2005-05-30 |
| JP3880520B2 (ja) | 2007-02-14 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| ES2237667T3 (es) | Adaptador de red. | |
| TWI582588B (zh) | 用於在記憶體系統中提高效率之系統及方法 | |
| US8713220B2 (en) | Multi-bank queuing architecture for higher bandwidth on-chip memory buffer | |
| US6091707A (en) | Methods and apparatus for preventing under-flow conditions in a multiple-port switching device | |
| KR20040002922A (ko) | 네트워크 프로세서의 멀티캐스트 전송 방법, 이 방법을수행하기 위한 컴퓨터 프로그램 및 멀티캐스트 전송 지원네트워크 프로세서 | |
| EP1471699B1 (en) | Frame processing | |
| US20100290466A1 (en) | Routing of data streams | |
| WO2001004770A2 (en) | Method and architecture for optimizing data throughput in a multi-processor environment using a ram-based shared index fifo linked list | |
| TWI912464B (zh) | 整合計算元件之間的信息通訊的整合計算元件、方法及計算系統 | |
| US20150199298A1 (en) | Storage and network interface memory share | |
| ES2240807T3 (es) | Recepcion de mensajes de datos en sistemas de comunicaciones que comprendan rutas de redes redundantes. | |
| KR100554825B1 (ko) | 메모리에 대한 액세스 감소 방법, 시스템 및 기록 매체 | |
| JP5497743B2 (ja) | 複数のプロセスからメモリ領域へのアクセスを制御する方法、及び、本方法を実現するためのメッセージメモリを備えた通信モジュール | |
| US5948079A (en) | System for non-sequential transfer of data packet portions with respective portion descriptions from a computer network peripheral device to host memory | |
| US10061513B2 (en) | Packet processing system, method and device utilizing memory sharing | |
| US20140281043A1 (en) | System and method for transferring data between components of a data processor | |
| ES2307789T3 (es) | Metodo y disposicion para procesamiento asincrono de datos de cctrch. | |
| US7522621B2 (en) | Apparatus and method for efficiently modifying network data frames | |
| US7161950B2 (en) | Systematic memory location selection in Ethernet switches | |
| EP3244582B1 (en) | Switch and data accessing method thereof | |
| ES2461179T3 (es) | Red de automatización con componente de sistema de control distribuido | |
| US7254654B1 (en) | Split-FIFO multi-station data transfer system | |
| CN115173990A (zh) | 一种数据包传输方法 | |
| US20060259665A1 (en) | Configurable multiple write-enhanced direct memory access unit | |
| US9612950B2 (en) | Control path subsystem, method and device utilizing memory sharing |