ES2331523T3 - Comparacion cruzada basada en memoria para sistemas sometidos a verificacion cruzada. - Google Patents
Comparacion cruzada basada en memoria para sistemas sometidos a verificacion cruzada. Download PDFInfo
- Publication number
- ES2331523T3 ES2331523T3 ES05024885T ES05024885T ES2331523T3 ES 2331523 T3 ES2331523 T3 ES 2331523T3 ES 05024885 T ES05024885 T ES 05024885T ES 05024885 T ES05024885 T ES 05024885T ES 2331523 T3 ES2331523 T3 ES 2331523T3
- Authority
- ES
- Spain
- Prior art keywords
- storage area
- buffers
- processor
- information
- layer
- 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 OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/18—Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
- G06F11/183—Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits by voting, the voting not being performed by the redundant components
- G06F11/184—Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits by voting, the voting not being performed by the redundant components where the redundant components implement processing functionality
- G06F11/185—Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits by voting, the voting not being performed by the redundant components where the redundant components implement processing functionality and the voting is itself performed redundantly
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1629—Error detection by comparing the output of redundant processing systems
- G06F11/1633—Error detection by comparing the output of redundant processing systems using mutual exchange of the output between the redundant processing components
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1675—Temporal synchronisation or re-synchronisation of redundant processing components
- G06F11/1683—Temporal synchronisation or re-synchronisation of redundant processing components at instruction level
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Hardware Redundancy (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Dram (AREA)
Abstract
Un ordenador multiprocesador (10) que tiene al menos un primero y un segundo procesador (20, 21, 22) y un sistema de comparación cruzada, comprendiendo dicho sistema de comparación cruzada: una primera capa de búferes (40, 41, 42) que comprende una primera área de almacenaje para almacenar información proveniente del primer procesador (20) y una segunda área de almacenaje para almacenar información proveniente del segundo procesador (21); una segunda capa de búferes (50, 51, 52) que comprende una tercera área de almacenaje para almacenar la información proveniente de dicha primera área de almacenaje y la información proveniente de dicha segunda área de almacenaje, y una cuarta área de almacenaje para almacenar la información proveniente de dicha primera área de almacenaje y la información proveniente de dicha segunda área de almacenaje, en donde cada una de dichas áreas de almacenaje primera, segunda, tercera y cuarta se implementa dentro de una RAM multipuerto (30) y comprende al menos un búfer asignado solamente a su área de almacenaje dentro de dicha RAM multipuerto (30), comprendiendo además dicho sistema de comparación cruzada una lógica interna (60, 61, 62) dispuesta dentro de dicha RAM multipuerto (30), estando configurada dicha lógica interna (60, 61, 62) para transferir de forma síncrona la información de dicha primera área de almacenaje y dicha segunda área de almacenaje a dicha tercera área de almacenaje y a dicha cuarta área de almacenaje, en el que dicho primer procesador (20) está configurado para leer la información de dicha tercera área de almacenaje y para comparar datos almacenados en la tercera área de almacenaje provenientes de la primera área de almacenaje con datos almacenados en la tercera área de almacenaje provenientes de la segunda área de almacenaje a fin de determinar si la información almacenada en dicha tercera área de almacenaje proveniente de la primera área de almacenaje es idéntica a la información almacenada en la tercera área de almacenaje proveniente de la segunda área de almacenaje; y en el que dicho segundo procesador (21) está configurado para leer la información de dicha cuarta área de almacenaje y para comparar datos almacenados en la cuarta área de almacenaje provenientes de la primera área de almacenaje con datos almacenados en la cuarta área de almacenaje provenientes de la segunda área de almacenaje a fin de determinar si la información almacenada en dicha cuarta área de almacenaje proveniente de la primera área de almacenaje es idéntica a la información almacenada en la cuarta área de almacenaje proveniente de la segunda área de almacenaje.
Description
Comparación cruzada basada en memoria para
sistemas sometidos a verificación cruzada.
Comparación cruzada para sistemas que operan en
una configuración multiprocesador, tales como configuraciones
duales 2 de 2 y configuraciones triplicadas 2 de 3 o alguna otra
configuración multiprocesador.
Como quiera que han aumentado las velocidades de
reloj de las unidades CPU y se han hecho más comunes las
arquitecturas multiprocesador, las capacidades de las prestaciones
de procesamiento han superado las de la memoria RAM tradicional.
Una solución de este problema ha sido la adopción de una RAM
multipuerto.
Una RAM multipuerto se presenta en muchas
configuraciones que proporcionan acceso a un espacio de memoria
compartida a través de varios puertos de entrada y de salida. Cada
vez es más común la capacidad de escribir varios datos
simultáneamente en el dispositivo a través de puertos separados,
Cuando se escriben simultáneamente datos en el mismo lugar desde
dos o más puertos, no queda garantizada la integridad de los datos.
El lugar de memoria direccionado podría contener datos nuevos,
datos viejos o algún valor transicional. Para mitigar este problema
se requiere una lógica adicional destinada a implementar un
arbitraje. El arbitraje consiste en coordinar lugares de acceso a
memoria por parte de los procesadores.
Algunas aplicaciones de sistemas de computación
digital, por ejemplo, sistemas vitales y sistemas críticos para una
misión, requieren un alto grado de seguridad. Por ejemplo, para un
funcionamiento seguro, un ordenador de control del vuelo de una
aeronave depende de una operación de computación continua exenta de
errores durante todo el período de vuelo. Deberá reconocerse que
una operación exenta de errores requiere la eliminación de defectos
o el confinamiento de éstos dentro del sistema de computación
digital. Además de demandas de fiabilidad cada vez mayores, es
necesario un sistema de computación rápida con un rendimiento total
incrementado para sistemas de control de vuelo y otros sistemas
vitales.
Para proporcionar integridad de los datos, más
de un procesador determina si existe discrepancia en la información
que se está transfiriendo simultáneamente por un bus. La comparación
de datos para obtener resultados altamente precisos se denomina
frecuentemente "comparación cruzada". Por ejemplo, efectuando
una comparación cruzada de resultados computacionales producidos
por diferentes procesadores se proporciona una alta integridad de
los datos.
Los actuales sistemas de comparación cruzada que
operan en una configuración multiprocesador son lentos, requieren
mucho software y son complicados en su instalación. Hay varias
soluciones actualmente disponibles. Una solución utilizada para
sistemas duales requiere una conexión de puertos paralelo o serie.
Ambas soluciones de puertos paralelo y de puertos serie soportan
solamente una cantidad limitada de datos que pueden transferirse de
una vez. La solución basada en puertos serie es lenta y requiere
mucho software. La solución de puertos paralelo se vuelve lenta
siempre que grandes cantidades de datos necesiten someterse a
comparación cruzada.
Otra solución está destinada a sistemas
triplicados que utilizan una instalación de hardware complicada o
una conexión de señal de alta velocidad que requiere mucho software
y utiliza cableado externo. Cuando se implementaron utilizando
hardware externo basado en bastidores, la instalación era complicada
y requería mucho software. Cuando se implementaron con una
comunicación serie de alta velocidad (Ethernet), la disposición
requería mucho software y estaba limitada en velocidad por el
cableado externo.
Como ejemplo de un sistema de la técnica
relacionada, la patente norteamericana No. 6,182,196 describe un
método y un aparato para arbitrar peticiones de acceso a una
memoria. La memoria comprende un módulo de verificación cruzada
(502) que compara las peticiones de operación de los clientes.
Cuando el módulo de verificación cruzada (502) determina que las
peticiones están intentando contemporáneamente acceder a un bloque
idéntico de la memoria, la comparación cruzada (502) arbitra entre
las peticiones de operación de los clientes. El arbitraje se basa
en una regla de arbitraje y produce una primera petición de acceso a
memoria y una segunda petición de acceso a memoria.
Como otro ejemplo más de un sistema anterior, la
publicación de la solicitud de patente US 2002/0010902 describe
agrupaciones de puertas programables en el campo (FPGAs) que
comprenden un bloque RAM embebido (EBR). En una realización, los
EBRs son bloques RAM multipuerto embebidos en un núcleo FPGA. El EBR
se utiliza para aumentar la cantidad de memoria y complementar la
memoria distribuida de la unidad funcional programable. Se
proporciona arbitraje entre puertos de escritura, y una unidad de
arbitraje recibe señales de petición de memoria y selecciona una
ganadora de entre las peticiones.
El documento DE 198 09 089 A1 describe un método
de comparación cruzada de datos entre una pluralidad de canales de
procesamiento, en donde se utilizan una pluralidad de placas de
acoplamiento que están conectadas una con otra a través de un
sistema de bus separado para implementar un mecanismo de
replicación.
La presente invención se refiere a un ordenador
multiprocesador según la reivindicación 1 y a un método según la
reivindicación 9.
Las reivindicaciones adjuntas deberán
consultarse para averiguar el alcance verdadero de la invención.
La presente invención es una solución de
comparación cruzada que se desarrolla en una configuración
multiprocesador. Un aspecto de la presente invención consiste en
proporcionar un medio de comparación cruzada rápida y sencilla de
datos utilizando una RAM multipuerto con una lógica incorporada. La
RAM multipuerto puede enchufarse en la placa posterior de la unidad
multiprocesadora que se conecta a cualquier bus estándar o incluso
no estándar. Por tanto, no se requieren hardware ni cableado
externos.
El sistema de comparación cruzada según la
presente invención emplea un método de almacenamiento transitorio
de datos que opera a una rápida velocidad limitada solamente por el
tiempo de acceso a la memoria. El sistema es simple de implementar
y no requiere un protocolo de comunicación.
En un ejemplo de realización el sistema se
ajusta sobre una sola placa y no requiere hilos conductores
externos. El concepto no está ligado a ningún hardware específico y
es válido en términos de arquitectura e implementación de hardware
para cualquier tamaño de datos de comparación cruzada y cualquier
velocidad de comunicación requerida. Por tanto, si cambian los
requisitos de tamaño y/o velocidad, el sistema dado a título de
ejemplo puede mejorarse fácilmente sustituyendo la unidad.
La solución de comparación cruzada basada en
memoria según la presente invención se basa en una RAM multipuerto
con su lógica requerida, implementada, por ejemplo, utilizando una
agrupación de puertas programables en el campo (FPGA) o un circuito
integrado para aplicaciones específicas (ASIC).
La RAM multipuerto según la presente invención
ofrece acceso de escritura y lectura controlado para cada unidad
procesadora del sistema, proporcionando un medio de comparación
cruzada rápida y sencilla de datos. Se proporciona plena separación
entre todas las unidades procesadoras del sistema. Dado que no es
posible un acceso simultáneo a ningún lugar de la memoria, no es
necesario un arbitraje. El sistema de la invención es idealmente
adecuado para, entre otras cosas, sistemas de seguridad, sistemas
críticos para una misión o sistemas de alta disponibilidad que
están todos ellos sometidos a una verificación cruzada y que se
basan en ordenador.
Según una realización de la presente invención,
se proporciona un sistema de comparación cruzada para un ordenador
multiprocesador que tiene al menos un primero y un segundo
procesador. El sistema incluye una primera capa de búferes que
comprende una primera área de almacenaje para almacenar información
proveniente del primer procesador y una segunda área de almacenaje
para almacenar información proveniente del segundo procesador. Se
proporciona también una segunda capa de búferes. La segunda capa de
búferes comprende una tercera área de almacenaje para almacenar la
información proveniente de la primera área de almacenaje y la
información proveniente de la segunda área de almacenaje, y una
cuarta área de almacenaje para almacenar la información proveniente
de la primera área de almacenaje y la información proveniente de la
segunda área de almacenaje. La información proveniente de la
primera área de almacenaje y de la segunda área de almacenaje es
transferida automáticamente a la tercera área de almacenaje y a la
cuarta área de almacenaje. Las áreas de almacenaje primera,
segunda, tercera y cuarta comprenden al menos un búfer asignado
solamente a su respectiva área de almacenaje.
El primer procesador lee la información
proveniente de la tercera área de almacenaje y declara una
comparación cruzada satisfactoria si se determina que la
información proveniente del segundo procesador es sustancialmente
idéntica a la información proveniente del procesador de comparación.
Asimismo, el segundo procesador lee la información proveniente de
la cuarta área de almacenaje y declara una comparación cruzada
satisfactoria si se determina que la información proveniente del
segundo procesador es sustancialmente idéntica a la información
proveniente del procesador de comparación.
Otra realización de la presente invención
consiste en un método de realizar una comparación cruzada entre
lugares de una memoria multipuerto escritos simultáneamente por
varios procesadores, estando cada puerto provisto de un búfer de
una pluralidad de búferes de la primera capa. En el primer paso del
método cada procesador escribe datos a someter a comparación
cruzada en el búfer de la pluralidad de búferes de la primera capa
correspondiente al puerto del procesador respectivo. Los datos
escritos en todos los búferes de la primera capa son transferidos
después a una pluralidad de búferes de la segunda capa,
proporcionando cada búfer de la pluralidad de búferes de la segunda
capa un área de almacenaje para cada búfer de la pluralidad de
búferes de la primera capa, y estando previsto un búfer de la
pluralidad de búferes de la segunda capa para cada uno de los varios
procesadores.
Cada procesador lee después la información
proveniente de un búfer respectivo de la pluralidad de segundos
búferes y compara la información leída en su búfer de la pluralidad
de segundos búferes, declarando una comparación cruzada
satisfactoria si la información proveniente de otro procesador se
solapa con la información proveniente del procesador de comparación
en términos de áreas de almacenaje que son escritas por los
procesadores. La pluralidad de procesadores se sincronizan antes de
la transferencia de datos de la primera capa de búferes a la
segunda capa de búferes.
La segunda realización puede describir, además,
la determinación de si existe una información adicional que deba
someterse a una comparación cruzada, y, si es así, la repetición de
los pasos con la información adicional, comenzando en el paso de
escritura por cada procesador de datos que deben someterse a
comparación cruzada.
Se describirá ahora la presente invención con
detalle describiendo realizaciones ilustrativas no limitativas de
la misma con referencia a los dibujos adjuntos. En los dibujos los
mismos caracteres de referencia denotan elementos análogos:
La figura 1 ilustra una vista general de la
solución para un sistema de seguridad triplicado de acuerdo con una
realización ilustrativa no limitativa de la presente invención.
La figura 2 ilustra los pasos de un método
ejecutado en un ciclo de una aplicación según una realización
ilustrativa no limitativa de la presente invención.
La figura 3 ilustra pasos de un método para
ejecutar una comparación cruzada según una realización ilustrativa
no limitativa de la presente invención.
Se realiza usualmente una comparación cruzada al
principio y antes del final de cada ciclo de una aplicación, lo
cual se describe aquí más adelante con mayor detalle. Durante esta
actividad, todas las entradas y/o salidas son sometidas a una
comparación cruzada entre los procesadores, tales como las unidades
multiprocesadoras/unidades procesadoras centrales (MPUs/CPUs), los
microprocesadores, las unidades de control vital del tiempo de
ejecución, etc.
La figura 1 ilustra una configuración 2 de 3 de
acuerdo con el ejemplo de realización no limitativo de la presente
invención. Haciendo referencia al sistema ilustrado en la figura 1,
cada CPU (20, 21, 22) de un sistema de seguridad 10 representa un
ejemplo de CPU o un ejemplo de MPU o algún otro ejemplo de
procesador, dependiendo de la aplicación particular. Los términos
CPU, MPU y procesador se utilizan aquí de forma intercambiable. La
realización de la comparación cruzada es solamente una de las
funcionalidades de cada procesador.
Cada CPU (20, 21, 22) utiliza su propio bus para
conectarse a una RAM multipuerto (30). En la RAM multipuerto 30
cada CPU tiene su propio espacio de memoria. A la CPU1 (20) se
asignan un búfer de sólo escritura 1.1 (40) y un búfer de sólo
lectura 1.2 (50); a la CPU2 (21) se asignan un búfer de sólo
escritura 2.1 (41) y un búfer de sólo lectura 2.2 (51); y a la CPU3
(22) se asignan un búfer de sólo escritura 3.1 (42) y un búfer de
sólo lectura 3.2 (52). Los términos de sólo escritura y de sólo
lectura se utilizan aquí con referencia a la capacidad de las CPUs
de acceder a un búfer.
Se proporciona un acceso estrictamente
controlado al espacio de memoria propio de cada CPU. El búfer de
sólo lectura para cada CPU incluye un registro para cada uno de los
búferes de sólo escritura. En el presente ejemplo cada búfer de
sólo lectura (50, 51, 52) tiene tres registros (1.1, 2.1, 3.1). Los
datos escritos por cada CPU (20, 21, 22) son copiados a través de
una lógica interna (60, 61, 62) para pasarlos de todos los búferes
de sólo escritura (40, 41, 42) a un registro correspondiente de cada
búfer de sólo lectura (50, 51, 52) para cada CPU. Esto quiere decir
que están previstas dos capas de búferes. Una capa consta de búferes
de sólo escritura (40, 41, 42) y la segunda capa consta de búferes
de sólo lectura (50, 51, 52). Los datos escritos en el búfer de
sólo escritura 1.1 (40) por la CPU1 (20) se copian en registros 1.1
de los búferes de sólo lectura (50, 51, 52). Análogamente, los
datos escritos en el búfer de sólo escritura 2.1 (41) por la CPU2
(21) y los datos escritos en el búfer de sólo escritura 3.1 (42)
por la CPU3 (22) se copian en registros 2.1 y 3.1, respectivamente,
de los búferes de sólo lectura (50, 51, 52). En otras palabras, en
la realización ilustrativa no limitativa cada procesador (20, 21,
22) tiene uno o más búferes de la primera capa de búferes (40, 41,
42) y uno o más búferes de la segunda capa de búferes (50, 51,
52).
La lógica interna que controla el proceso de
transferencia de datos se implementa utilizando FPGAs o ASICs (60,
61, 62). Como se ilustra en la figura 1, para fines de
sincronización, se puede implementar una lógica especial en un FPGA
o ASIC (60, 61, 62) con el fin de asegurarse de que, mientras una
CPUs (20, 21, 22) escribe en su lugar de memoria, las otras puedan
leer solamente "no listo" en su lugar propio. Los FPGAs o ASICs
realizan operaciones lógicas requeridas para los búferes de las
capas primera y segunda. Cada procesador (20, 21, 22) tiene su
propio FPGA o ASIC individual (60, 61, 62), respectivamente.
Además, es preferible proporcionar una fuente de
alimentación individual (70, 71, 72) para cada FPGA o ASIC (60, 61,
62). Haciendo que cada procesador (20, 21, 22) tenga su propio FPGA
o ASIC individual (60, 61, 62) alimentado por su fuente de
alimentación individual (70, 71, 72) se asegura una separación entre
los procesadores (20, 21, 22). Por ejemplo, si un procesador
resulta ser defectuoso, éste puede ser simplemente aislado y sus
datos serán descartados, sin tener impacto en los demás
procesadores. Esto quiere decir que los procesadores que funcionan
normalmente se desconectan ellos mismos del procesador defectuoso en
caso de una detección de error en la comparación cruzada. Un
experto ordinario en la materia sabrá cómo aislar un procesador
defectuoso, y las diversas técnicas de aislamiento caen dentro del
alcance de la invención.
Una comparación cruzada para el sistema
ilustrado en la figura 1 se realiza por medio de los pasos
ilustrados en las figuras 2 y 3. En primer lugar, la figura 2
muestra el ciclo de la CPU de acuerdo con esta realización
ilustrativa. En particular, se encienden y se inicializan (paso 201)
los procesadores por medio de cualquier técnica convencional
conocida. Un experto ordinario en la materia conocería fácilmente
una serie de maneras para encender e inicializar un procesador.
Después de que se hayan inicializado los procesadores, se implementa
(paso 202) una comparación cruzada de las entradas. La comparación
cruzada de las entradas (paso 202) de acuerdo con el ejemplo de
realización se describe con más detalle en relación con la figura 3.
Después de la comparación cruzada de las entradas (paso 202) se
realiza (paso 203) una serie de tareas de primer plano de la
aplicación.
Por ejemplo, cada procesador puede estar
realizando una diversidad de operaciones de computación muy
complejas. Cuando se completan las tareas de primer plano de la
aplicación, la salida, por ejemplo el resultado de las operaciones
de computación, es sometida también a una comparación cruzada (paso
204). La comparación cruzada de las salidas de acuerdo con el
ejemplo de realización se describe con más detalle en relación con
la figura 3. Después de que las salidas de las operaciones de
computación sean sometidas a comparación cruzada (paso 204) por los
procesadores, se completa el ciclo de la aplicación (205) y puede
comenzar un nuevo ciclo (205).
En este ejemplo de realización cada procesador
se informará de que se ha completado la comparación cruzada sin
ninguna señalización a los demás procesadores. Después de la
comparación cruzada satisfactoria la entrada y/o la salida estarán
disponibles para su escrutinio. Como alternativa, la entrada y/o las
salidas pueden proporcionarse generando una interrupción. El
escrutinio, la generación de la interrupción o alguna otra solución
están dentro del alcance de la invención. La solución elegida
dependerá de la aplicación y del hardware que se utilice.
Seguidamente, con referencia a la figura 3, se
ofrecerá una descripción detallada del ejemplo de comparación
cruzada no limitativa de las entradas y/o salidas (203, 205). La
figura 3 muestra la sincronización de las CPUs (paso 301). La
sincronización puede ser realizada por hardware y/o software, usando
cualquier número de técnicas. Como ejemplo de una de las muchas
maneras en que puede conseguirse una sincronización, las tres CPUs
pueden escrutar un lugar de memoria específico, uno para cada CPU,
en donde las demás CPUs actualizarán su buena disposición para una
comparación cruzada. La lectura del lugar de memoria borra el valor
actualizado a fin de evitar una información rancia. Se puede
implementar una lógica especial en un FPGA o ASIC a fin de
asegurarse de que, mientras una CPU escribe en su lugar de la
memoria, las otras pueden solamente leer "no listo" en su
lugar
propio.
propio.
La sincronización puede producirse en una
diversidad de sitios en tanto los procesadores sean sincronizados
antes de la transferencia de datos a la capa de búferes de sólo
lectura (50, 51, 52). Por ejemplo, se pueden escribir de forma
asíncrona los datos en la primera capa de búferes, la capa de sólo
lectura (40, 41, 42). La sincronización (301) tendría lugar
entonces antes de la transferencia de datos a la segunda capa de
búferes (50, 51, 52). Además, en este ejemplo de realización se
proporciona un tiempo de retardo especial para impedir
rebasamientos de ciclo, lo que se considera un fallo importante del
procesador. Por ejemplo, si un procesador 20 estaba aislado debido
a algún fallo, los procesadores 21 y 22 proseguirán con la
comparación cruzada después de un período de tiempo predeterminado,
el tiempo de retardo especial, incluso aunque no se detecte una
sincronización satisfactoria con el procesador 20. Se impide así un
bloqueo absoluto de los procesadores 21 y 22 que funcionan
normalmente.
En el ejemplo ilustrado en la figura 3 las CPUs
se sincronizan antes de escribir datos en la primera capa de
búferes. En particular, una vez que se sincronizan las CPUs, cada
CPU escribe los datos a someter a comparación cruzada en su
respectivo búfer de sólo escritura (paso 302). Los datos
provenientes de cada búfer de sólo escritura son transferidos
después a cada búfer de sólo lectura (paso 303) utilizando una
lógica implementada en el FPGA o ASIC (60, 61, 62).
Cada CPU lee después los datos para las tres
CPUs (20, 21, 22) en su respectivo búfer de sólo lectura (50, 51,
52) (paso 304) y compara sus datos con los datos provenientes de los
otros procesadores (paso 305). Se declarará una comparación cruzada
satisfactoria si al menos 2 de 3 datos sometidos a comparación
cruzada en un búfer de sólo lectura son idénticos (paso 306). Por
ejemplo, el procesador 20 comparará datos almacenados en el
registro 1.1 con datos contenidos en los registros 2.1 y 3.1
situados en el búfer 50. Resulta una comparación cruzada
satisfactoria cuando la información proveniente del registro 1.1 del
búfer 50 se solapa con información proveniente de los registros 2.1
y/o 3.1 del búfer 50.
Una comparación cruzada satisfactoria puede ser
declarada por cualquiera de las CPUs, cada una de las cuales hace
su propia comparación de los datos. Si una CPU determina que hay
datos idénticos provenientes de otras dos CPUs, pero sus propios
datos no son idénticos a datos provenientes de cualquiera de las
otras CPUs, no se declara una comparación cruzada satisfactoria por
parte de esa CPU. Sin embargo, en esta circunstancia las dos CPUs
que dieron origen a los datos idénticos declararán cada una de ellas
una comparación cruzada satisfactoria (paso 306) basándose en sus
comparaciones de los datos provenientes de sus respectivos búferes
propios de sólo lectura.
Para una gran cantidad de datos que deben
someterse a comparación cruzada, es decir, excediendo de la
capacidad de la RAM, después del paso 304 puede hacerse una
determinación referente a si todos los datos han sido sometidos a
comparación cruzada (paso 307). Si hay datos remanentes, la
secuencia retorna al paso 302, escribiendo cada procesador los
datos siguientes a someter a comparación cruzada en el respectivo
búfer de sólo escritura. Solamente cuando se determine que se
intercambiaron todos los datos seguirá el paso 305.
Se puede omitir el paso 307 implementado una RAM
suficientemente grande, ya que la necesidad del paso 307 depende
del tamaño de los datos que es preciso someter a comparación
cruzada. A fin de tener el mejor tiempo de respuesta, un área de
comparación cruzada grande asegurará que el proceso de comparación
cruzada pueda realizarse con un paquete de datos.
Sistemas tales como unidades de control vital en
tiempo real (RTVCUs) son un ejemplo de un sistema idealmente
adecuado para su uso con la solución de comparación cruzada
anteriormente descrita. No se requieren nuevos protocolos de
comunicación, y la solución está limitada solamente por el tiempo de
acceso a la memoria.
Las siguientes características pueden constituir
también realizaciones ventajosas de la invención:
- -
- El ordenador multiprocesador reivindicado, en el que se prevé un tiempo de retardo para leer datos de los búferes de la segunda capa para realizar la comparación cruzada por parte de los procesadores;
- -
- El ordenador multiprocesador reivindicado, en el que se sincronizan los procesadores antes de la comparación cruzada, y en el que se detecta la sincronización por medio de un escrutinio de los búferes de la segunda capa por parte de cada uno de los procesadores;
- -
- El ordenador multiprocesador reivindicado, en el que cada uno de los procesadores es una unidad de procesamiento central, un microprocesador, una unidad de control vital del tiempo de ejecución y una unidad multiprocesadora;
- -
- El ordenador multiprocesador reivindicado, en el que los búferes de las capas primera y segunda forman una memoria de acceso aleatorio multipuerto que se enchufa en una placa posterior de los procesadores que se conecta a un bus estándar o a un bus no estándar;
- -
- El ordenador multiprocesador reivindicado, en el que unos FPGAs o ASICs realizan operaciones lógicas requeridas para los búferes de las capas primera y segunda, y en el que se prevé un FPGA o ASIC individual para un área de almacenaje de los búferes de las capas primera y segunda asignada a uno particular de los procesadores;
- -
- El ordenador multiprocesador reivindicado, en el que se prevé una fuente de alimentación individual para cada uno de los FPGAs o ASICs;
- -
- El ordenador multiprocesador reivindicado, en el que dichos datos almacenados en los registros son una entrada a una operación de computación o una salida de la operación de computación;
- -
- El método reivindicado de realizar una comparación cruzada, en el que se realiza dicha sincronización antes del paso ordenado (a) para escribir simultáneamente la información a someter a comparación cruzada en dicha pluralidad de búferes de la primera capa;
- -
- El método reivindicado de realizar una comparación cruzada, en el que se realiza dicha sincronización después del paso ordenado (a) para escribir de forma asíncrona la información a someter a comparación cruzada en dicha pluralidad de búferes de la primera capa;
- -
- El método reivindicado de realizar una comparación cruzada, en el que dicha sincronización de datos y dicha comparación cruzada se realizan dos veces por cada ciclo de procesador, una al comienzo del ciclo de procesador para datos de entrada y la otra al final del ciclo de procesador para datos de salida;
- -
- El método reivindicado de realizar una comparación cruzada, en el que dicha comparación de los datos de salida se realiza después del procesamiento computacional en cada uno de la pluralidad de procesadores;
- -
- El método reivindicado de realizar una comparación cruzada, en el que dicha transferencia de datos en los pasos ordenados (a) y (b) y dicho procesamiento computacional son realizados por una pluralidad de FPGAs o ASICs, y en el que se prevé al menos un FPGA o ASIC para cada uno de los al menos tres procesadores;
- -
- El método reivindicado de realizar una comparación cruzada, en el que cada uno de los búferes de la segunda capa comprende al menos un registro separado para cada procesador de dichos al menos tres procesadores;
- -
- El ordenador multiprocesador reivindicado, en el que la primera capa de búferes son búferes de sólo escritura y en el que la segunda capa de búferes son búferes de sólo lectura;
- -
- El ordenador multiprocesador reivindicado, en el que los procesadores escriben datos de forma asíncrona en los búferes de la primera capa;
\newpage
- -
- El ordenador multiprocesador reivindicado, en el que, cuando la información proveniente del procesador de comparación no casa con la información de los otros dos procesadores, no puede declararse la comparación cruzada satisfactoria y se aísla el procesador de comparación;
- -
- El sistema de comparación cruzada descrito y/o reivindicado para un ordenador de tres procesadores, en el que cada área de almacenaje de la segunda capa de búferes, a saber, una cuarta, una quinta y una sexta áreas de almacenaje, comprende un registro, a saber, un primero, un segundo y un tercer registro, para cada procesador, a saber, el primero, el segundo y el tercer procesador, en el que el primer procesador compara la información almacenada en el primer registro de la cuarta área de almacenaje con la información almacenada en el segundo registro y con la información almacenada en el tercer registro de la cuarta área de almacenaje, en el que el segundo procesador compara la información almacenada en el segundo registro de la quinta área de almacenaje con la información almacenada en el primer registro y con la información almacenada en el tercer registro de la quinta área de almacenaje, y en el que el tercer procesador compara la información almacenada en el tercer registro de la sexta área de almacenaje con la información almacenada en el primer registro y con la información almacenada en el segundo registro de la sexta área de almacenaje;
- -
- El ordenador multiprocesador reivindicado, en el que se prevé para cada uno de dichos procesadores un puerto individual para transferir información de su respectiva área de almacenaje de la segunda capa de búferes a un respectivo procesador para realizar dicha comparación.
La descripción anterior de realizaciones
ilustrativas no limitativas ha sido dada a título de ejemplo. Las
anteriores y otras características de la invención, incluyendo
diversos pasos de método nuevos y diversos componentes nuevos, han
sido particularmente descritos con referencia a los dibujos adjuntos
y señalados en las reivindicaciones. Se entenderá que el proceso y
la construcción particulares de partes que materializan la
invención se muestra a título de ilustración solamente y no de
limitación de la invención. Los principios y características de
esta invención pueden emplearse en variadas y numerosas
realizaciones sin apartarse del alcance de la invención tal como
viene definido por las reivindicaciones adjuntas.
Claims (11)
1. Un ordenador multiprocesador (10) que tiene
al menos un primero y un segundo procesador (20, 21, 22) y un
sistema de comparación cruzada, comprendiendo dicho sistema de
comparación cruzada: una primera capa de búferes (40, 41, 42) que
comprende una primera área de almacenaje para almacenar información
proveniente del primer procesador (20) y una segunda área de
almacenaje para almacenar información proveniente del segundo
procesador (21); una segunda capa de búferes (50, 51, 52) que
comprende una tercera área de almacenaje para almacenar la
información proveniente de dicha primera área de almacenaje y la
información proveniente de dicha segunda área de almacenaje, y una
cuarta área de almacenaje para almacenar la información proveniente
de dicha primera área de almacenaje y la información proveniente de
dicha segunda área de almacenaje, en donde cada una de dichas áreas
de almacenaje primera, segunda, tercera y cuarta se implementa
dentro de una RAM multipuerto (30) y comprende al menos un búfer
asignado solamente a su área de almacenaje dentro de dicha RAM
multipuerto (30), comprendiendo además dicho sistema de comparación
cruzada una lógica interna (60, 61, 62) dispuesta dentro de dicha
RAM multipuerto (30), estando configurada dicha lógica interna (60,
61, 62) para transferir de forma síncrona la información de dicha
primera área de almacenaje y dicha segunda área de almacenaje a
dicha tercera área de almacenaje y a dicha cuarta área de
almacenaje, en el que dicho primer procesador (20) está configurado
para leer la información de dicha tercera área de almacenaje y para
comparar datos almacenados en la tercera área de almacenaje
provenientes de la primera área de almacenaje con datos almacenados
en la tercera área de almacenaje provenientes de la segunda área de
almacenaje a fin de determinar si la información almacenada en
dicha tercera área de almacenaje proveniente de la primera área de
almacenaje es idéntica a la información almacenada en la tercera
área de almacenaje proveniente de la segunda área de almacenaje; y
en el que dicho segundo procesador (21) está configurado para leer
la información de dicha cuarta área de almacenaje y para comparar
datos almacenados en la cuarta área de almacenaje provenientes de la
primera área de almacenaje con datos almacenados en la cuarta área
de almacenaje provenientes de la segunda área de almacenaje a fin
de determinar si la información almacenada en dicha cuarta área de
almacenaje proveniente de la primera área de almacenaje es idéntica
a la información almacenada en la cuarta área de almacenaje
proveniente de la segunda área de almacenaje.
2. El ordenador multiprocesador según la
reivindicación 1, en el que la primera capa de búferes (40, 41, 42)
son búferes de solo escritura y en el que la segunda capa de búferes
(50, 51, 52) son búferes de sólo lectura.
3. El ordenador multiprocesador según la
reivindicación 2, en el que el primero y el segundo procesadores
(20, 21) escriben datos de forma asíncrona en los búferes (40, 41,
42) de la primera capa y en el que los datos de los búferes (40,
41, 42) de la primera capa son transferidos de forma síncrona a los
búferes (50, 51, 52) de la segunda capa.
4. El ordenador multiprocesador según la
reivindicación 1, caracterizado porque dicha lógica interna
(60, 61, 62) comprende FPGAs y/o ASICs.
5. El ordenador multiprocesador según la
reivindicación 1, caracterizado porque dicha lógica interna
(60, 61, 62) comprende un FPGA y/o ASIC individual propio para cada
uno de dichos procesadores (20, 21, 22).
6. El ordenador multiprocesador según la
reivindicación 5, caracterizado porque cada FPGA y/o ASIC
individual (60, 61, 62) es alimentado por una fuente de
alimentación individual (70, 71, 72).
7. El ordenador multiprocesador (10) según la
reivindicación 1, en el que dicho ordenador multiprocesador (10)
está configurado para aislar dicho primer procesador (20) cuando no
casan los datos que se están comparando en dicho primer procesador
(20), y en el que dicho ordenador multiprocesador (10) está
configurado para aislar dicho segundo procesador (21) cuando no
casan los datos que se están comparado en dicho segundo procesador
(21).
8. El ordenador multiprocesador (10) según la
reivindicación 1, en el que cada una de dichas áreas de almacenaje
tercera y cuarta comprende un primer registro para los datos
provenientes de la segunda área de almacenaje y un segundo registro
para los datos provenientes de la segunda área de almacenaje, y cada
uno de dichos procesadores primero y segundo (20, 21) está
configurado para comparar datos del primer registro con datos del
segundo registro y para declarar una comparación cruzada
satisfactoria cuando los datos en el primer registro son idénticos
a los datos en el segundo registro, estando ambos registros primero
y segundo en un área de almacenaje asignada exclusivamente a un
procesador de comparación.
9. Un método de realizar una comparación cruzada
para un ordenador multiprocesador (10) que tiene al menos tres
procesadores (20, 21, 22), en donde cada uno de dichos al menos tres
procesadores (20, 21, 22) utiliza un lugar de memoria separado de
una RAM multipuerto (30) y en donde cada uno de dichos al menos tres
procesadores (20, 21, 22) está provisto de un puerto individual de
dicha RAM multipuerto (30) y cada uno de los puertos individuales
está provisto de un respectivo búfer de una pluralidad de búferes
(40, 41, 42) de una primera capa, comprendiendo el método los pasos
ordenados de: (a) hacer que cada procesador (20, 21, 22) escriba
información a someter a comparación cruzada en el búfer de dicha
pluralidad de búferes (40, 41, 42) de la primera capa
correspondiente al puerto del respectivo procesador; (b) transferir
de forma síncrona información escrita en todos los búferes de la
pluralidad de búferes (40, 41, 42) de la primera capa a una
pluralidad de búferes (50, 51, 52) de una segunda capa por medio de
una lógica interna (60, 61, 62) dispuesta dentro de dicha RAM
multipuerto (30), proporcionando cada búfer de la pluralidad de
búferes (50, 51, 52) de la segunda capa un área de almacenaje para
cada búfer de la primera pluralidad de búferes, y estando previsto
un búfer respectivo de la pluralidad de búferes (50, 51, 52) de la
segunda capa para cada uno de la pluralidad de procesadores (20,
21, 22), en donde la pluralidad de búferes (40, 41, 42) de la
primera capa y la pluralidad de búferes (50, 51, 52) de la segunda
capa se implementan dentro de dicha RAM multipuerto (30); (c) hacer
que cada procesador (20, 21, 22) lea la información de un búfer
respectivo de la pluralidad de búferes (50, 51, 52) de la segunda
capa; y (d) hacer que cada procesador (20, 21, 22) compare la
información leída en su búfer de la pluralidad de búferes (50, 51,
52) de la segunda capa y declare una comparación cruzada
satisfactoria si la información de otro procesador casa con
información del procesador de comparación, en donde dichos al menos
tres procesadores (20, 21, 22) se sincronizan antes de ejecutar la
transferencia de información en el paso ordenado (b).
10. Un método de realizar una comparación
cruzada según la reivindicación 9, que comprende además un paso
ordenado de: (e) determinar si hay información adicional a someter a
comparación cruzada, y si es así, repetir los pasos con la
información adicional, empezando en el paso (a).
11. Un método de realizar una comparación
cruzada según la reivindicación 9, que comprende, además, detectar
una sincronización satisfactoria por cada uno de dicha pluralidad de
procesadores (20, 21, 22) a través de un escrutinio de su búfer
correspondiente de la pluralidad de segundos búferes (50, 51, 52), y
en el que cuando, después de un período de tiempo predeterminado,
no se detecta por un procesador de la pluralidad de procesadores
(20, 21, 22) la sincronización satisfactoria entre todos los
procesadores de dicha pluralidad de procesadores (20, 21, 22),
ejecutar una operación de retardo de tiempo y realizar la
comparación de la información por el procesador.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US11/002,237 US7350026B2 (en) | 2004-12-03 | 2004-12-03 | Memory based cross compare for cross checked systems |
| US2237 | 2004-12-03 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES2331523T3 true ES2331523T3 (es) | 2010-01-07 |
Family
ID=35929986
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES05024885T Expired - Lifetime ES2331523T3 (es) | 2004-12-03 | 2005-11-15 | Comparacion cruzada basada en memoria para sistemas sometidos a verificacion cruzada. |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US7350026B2 (es) |
| EP (1) | EP1667024B1 (es) |
| CN (1) | CN100361096C (es) |
| AT (1) | ATE438895T1 (es) |
| DE (1) | DE602005015811D1 (es) |
| ES (1) | ES2331523T3 (es) |
Families Citing this family (20)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| RU2007119322A (ru) * | 2004-10-25 | 2008-12-10 | Роберт Бош ГмбХ (DE) | Способ и устройство для переключения в вычислительной системе, включающей в себя по меньшей мере два обрабатывающих блока |
| GB0602641D0 (en) * | 2006-02-09 | 2006-03-22 | Eads Defence And Security Syst | High speed data processing system |
| US7444544B2 (en) * | 2006-07-14 | 2008-10-28 | International Business Machines Corporation | Write filter cache method and apparatus for protecting the microprocessor core from soft errors |
| CN101140558A (zh) * | 2006-09-05 | 2008-03-12 | 深圳迈瑞生物医疗电子股份有限公司 | 嵌入式系统及其通信方法 |
| US7644306B2 (en) * | 2006-12-15 | 2010-01-05 | Boeing Company | Method and system for synchronous operation of an application by a purality of processing units |
| JP4521678B2 (ja) * | 2007-11-19 | 2010-08-11 | フェリカネットワークス株式会社 | 通信システム、情報処理方法、プログラム、及び情報処理装置 |
| KR20100034415A (ko) * | 2008-09-24 | 2010-04-01 | 삼성전자주식회사 | 메모리 링크 아키텍쳐를 활용한 부팅기능을 갖는 멀티 프로세서 시스템 |
| US8458581B2 (en) * | 2009-10-15 | 2013-06-04 | Ansaldo Sts Usa, Inc. | System and method to serially transmit vital data from two processors |
| JP5829392B2 (ja) * | 2010-09-30 | 2015-12-09 | 三菱重工業株式会社 | 制御装置および原子力発電プラント制御システム |
| JP2012079184A (ja) | 2010-10-04 | 2012-04-19 | Mitsubishi Heavy Ind Ltd | 制御装置および原子力発電プラント制御システム |
| US8543774B2 (en) | 2011-04-05 | 2013-09-24 | Ansaldo Sts Usa, Inc. | Programmable logic apparatus employing shared memory, vital processor and non-vital communications processor, and system including the same |
| CN105204774B (zh) * | 2014-06-23 | 2019-01-15 | 联想(北京)有限公司 | 一种数据处理方法及电子设备 |
| FR3024869B1 (fr) * | 2014-08-14 | 2016-08-26 | Zodiac Aero Electric | Systeme de distribution electrique pour un aeronef et procede de commande correspondant |
| JP5902778B1 (ja) * | 2014-09-03 | 2016-04-13 | ファナック株式会社 | 周辺機器を安全に制御する機能を有する工作機械 |
| US9641287B2 (en) | 2015-01-13 | 2017-05-02 | Honeywell International Inc. | Methods and apparatus for high-integrity data transfer with preemptive blocking |
| US11812312B2 (en) * | 2015-05-25 | 2023-11-07 | Apple Inc. | Link quality based single radio-voice call continuity and packet scheduling for voice over long term evolution communications |
| RU183879U1 (ru) * | 2017-10-25 | 2018-10-08 | Публичное акционерное общество "Институт электронных управляющих машин им. И.С. Брука" | Процессорный модуль |
| EP4071622B1 (en) * | 2019-12-19 | 2024-03-27 | Huawei Technologies Co., Ltd. | Storage system and data crossing method |
| RU208501U1 (ru) * | 2021-06-28 | 2021-12-22 | Общество с ограниченной ответственностью "Форк" | Системная плата |
| CN115061728A (zh) * | 2022-06-24 | 2022-09-16 | 网络通信与安全紫金山实验室 | 信息传输方法、装置、设备、存储介质和程序产品 |
Family Cites Families (26)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5295258A (en) * | 1989-12-22 | 1994-03-15 | Tandem Computers Incorporated | Fault-tolerant computer system with online recovery and reintegration of redundant components |
| US5226152A (en) * | 1990-12-07 | 1993-07-06 | Motorola, Inc. | Functional lockstep arrangement for redundant processors |
| US5479573A (en) * | 1992-11-24 | 1995-12-26 | Pavilion Technologies, Inc. | Predictive network with learned preprocessing parameters |
| US5909541A (en) * | 1993-07-14 | 1999-06-01 | Honeywell Inc. | Error detection and correction for data stored across multiple byte-wide memory devices |
| US5559450A (en) * | 1995-07-27 | 1996-09-24 | Lucent Technologies Inc. | Field programmable gate array with multi-port RAM |
| GB2312134B (en) * | 1996-04-12 | 2000-10-04 | Sony Corp | Data transfer device |
| US5715197A (en) * | 1996-07-29 | 1998-02-03 | Xilinx, Inc. | Multiport RAM with programmable data port configuration |
| JP3429139B2 (ja) * | 1996-09-25 | 2003-07-22 | 株式会社デジタル | コンピュータ装置における書込み用バッファ装置のアドレス用比較器及び主記憶装置からのデータ読出し方法 |
| US5970240A (en) * | 1997-06-25 | 1999-10-19 | Quickturn Design Systems, Inc. | Method and apparatus for configurable memory emulation |
| US6052619A (en) * | 1997-08-07 | 2000-04-18 | New York University | Brain function scan system |
| US5978889A (en) * | 1997-11-05 | 1999-11-02 | Timeplex, Inc. | Multiple device data transfer utilizing a multiport memory with opposite oriented memory page rotation for transmission and reception |
| US6182196B1 (en) * | 1998-02-20 | 2001-01-30 | Ati International Srl | Method and apparatus for arbitrating access requests to a memory |
| DE19809089A1 (de) | 1998-02-25 | 1999-08-26 | Siemens Ag | Synchronisations- und/oder Datenaustauschverfahren für sichere, hochverfügbare Rechner und hierzu geeignete Einrichtung |
| US6199171B1 (en) * | 1998-06-26 | 2001-03-06 | International Business Machines Corporation | Time-lag duplexing techniques |
| US6181163B1 (en) * | 1999-01-21 | 2001-01-30 | Vantis Corporation | FPGA integrated circuit having embedded SRAM memory blocks and interconnect channel for broadcasting address and control signals |
| US6463573B1 (en) * | 1999-06-03 | 2002-10-08 | International Business Machines Corporation | Data processor storage systems with dynamic resynchronization of mirrored logical data volumes subsequent to a storage system failure |
| US6434642B1 (en) * | 1999-10-07 | 2002-08-13 | Xilinx, Inc. | FIFO memory system and method with improved determination of full and empty conditions and amount of data stored |
| US6362650B1 (en) * | 2000-05-18 | 2002-03-26 | Xilinx, Inc. | Method and apparatus for incorporating a multiplier into an FPGA |
| US6373779B1 (en) * | 2000-05-19 | 2002-04-16 | Xilinx, Inc. | Block RAM having multiple configurable write modes for use in a field programmable gate array |
| US6535043B2 (en) * | 2000-05-26 | 2003-03-18 | Lattice Semiconductor Corp | Clock signal selection system, method of generating a clock signal and programmable clock manager including same |
| US7908520B2 (en) * | 2000-06-23 | 2011-03-15 | A. Avizienis And Associates, Inc. | Self-testing and -repairing fault-tolerance infrastructure for computer systems |
| US6516390B1 (en) * | 2000-10-26 | 2003-02-04 | Emc Corporation | Methods and apparatus for accessing data within a data storage system |
| US7072345B2 (en) * | 2000-11-29 | 2006-07-04 | Raza Microelectronics, Inc | Programmable integrated circuit for use in a network switch |
| JP3693013B2 (ja) * | 2001-12-26 | 2005-09-07 | 日本電気株式会社 | データ処理システム、アレイ型プロセッサ、データ処理装置、コンピュータプログラム、情報記憶媒体 |
| US6948091B2 (en) * | 2002-05-02 | 2005-09-20 | Honeywell International Inc. | High integrity recovery from multi-bit data failures |
| JP2004046455A (ja) * | 2002-07-10 | 2004-02-12 | Nec Corp | 情報処理装置 |
-
2004
- 2004-12-03 US US11/002,237 patent/US7350026B2/en not_active Expired - Lifetime
-
2005
- 2005-11-15 ES ES05024885T patent/ES2331523T3/es not_active Expired - Lifetime
- 2005-11-15 AT AT05024885T patent/ATE438895T1/de not_active IP Right Cessation
- 2005-11-15 DE DE602005015811T patent/DE602005015811D1/de not_active Expired - Lifetime
- 2005-11-15 EP EP05024885A patent/EP1667024B1/en not_active Expired - Lifetime
- 2005-11-28 CN CNB2005101243266A patent/CN100361096C/zh not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| DE602005015811D1 (de) | 2009-09-17 |
| CN1783035A (zh) | 2006-06-07 |
| EP1667024A2 (en) | 2006-06-07 |
| CN100361096C (zh) | 2008-01-09 |
| US20060123202A1 (en) | 2006-06-08 |
| EP1667024B1 (en) | 2009-08-05 |
| EP1667024A3 (en) | 2007-02-21 |
| ATE438895T1 (de) | 2009-08-15 |
| US7350026B2 (en) | 2008-03-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP1222559B1 (en) | Multiprocessor node controller circuit and method | |
| US7350026B2 (en) | Memory based cross compare for cross checked systems | |
| US6260159B1 (en) | Tracking memory page modification in a bridge for a multi-processor system | |
| US4698753A (en) | Multiprocessor interface device | |
| US6148348A (en) | Bridge interfacing two processing sets operating in a lockstep mode and having a posted write buffer storing write operations upon detection of a lockstep error | |
| US6223230B1 (en) | Direct memory access in a bridge for a multi-processor system | |
| EP1090350B1 (en) | Multi-processor system bridge with controlled access | |
| EP0886225A1 (en) | Microprocessor architecture capable of supporting multiple heterogenous processors | |
| US6173351B1 (en) | Multi-processor system bridge | |
| EP0380855A2 (en) | Memory configuration for use with means for interfacing a system control unit for a multi-processor system with the system main memory | |
| US8458411B2 (en) | Distributed shared memory multiprocessor and data processing method | |
| CN117546135A (zh) | 具有混合dram/持久性存储器通道仲裁的存储器控制器 | |
| JP2002526818A (ja) | コンピュータ・システムにおけるリソース制御 | |
| CN118964254B (zh) | 多核系统级芯片的数据传输方法、装置、芯片及电子设备 | |
| EP0251686A2 (en) | Method and apparatus for sharing information between a plurality of processing units | |
| US11443091B1 (en) | Data processing engines with cascade connected cores | |
| US5408612A (en) | Microprocessor system for selectively accessing a processor internal register when the processor has control of the bus and partial address identifying the register | |
| CN106716336B (zh) | 在多处理器系统中的存储器管理 | |
| AU2014202193B2 (en) | Multi-processor computer architecture incorporating distributed multi-ported common memory modules | |
| Schanin | The design and development of a very high speed system bus—the encore Mutlimax nanobus | |
| US20060248247A1 (en) | Apparatus and method for controlling access to a memory | |
| Blackmon et al. | EXA Memory/IO Controller | |
| JPH03109633A (ja) | ロードシェアシステム | |
| JPS60563A (ja) | マルチプロセツサ装置 | |
| JPH04373057A (ja) | マルチプロセッサシステム |