ES2340720T3 - Sistema de tratamiento de datos redundante de alta velocidad. - Google Patents

Sistema de tratamiento de datos redundante de alta velocidad. Download PDF

Info

Publication number
ES2340720T3
ES2340720T3 ES06831395T ES06831395T ES2340720T3 ES 2340720 T3 ES2340720 T3 ES 2340720T3 ES 06831395 T ES06831395 T ES 06831395T ES 06831395 T ES06831395 T ES 06831395T ES 2340720 T3 ES2340720 T3 ES 2340720T3
Authority
ES
Spain
Prior art keywords
data
modules
data processing
module
check
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.)
Active
Application number
ES06831395T
Other languages
English (en)
Inventor
Darren Stewart Learmonth
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Airbus DS Ltd
Airbus Defence and Space Ltd
Original Assignee
Airbus DS Ltd
Airbus Defence and Space Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Airbus DS Ltd, Airbus Defence and Space Ltd filed Critical Airbus DS Ltd
Application granted granted Critical
Publication of ES2340720T3 publication Critical patent/ES2340720T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1641Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
    • G06F11/1645Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components and the comparison itself uses redundant hardware

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

Un sistema de tratamiento de datos que comprende una entrada de datos (IN), un primer módulo (10), y un segundo módulo (14) de tratamiento de datos, y un primer (12) y segundo (16) módulos de comprobación de datos, en el que: dichos primer y segundo (10, 14) módulos de tratamiento de datos están cada uno dispuestos para realizar las mismas operaciones de tratamiento sobre datos recibidos en dicha entrada de datos (IN), proporcionando cada uno una salida; dicho primer módulo de comprobación tiene una primera y segunda entradas y dicho segundo módulo de comprobación tiene una primera y segunda entradas, en el que dichas primera y segunda entradas de dicho primer módulo de comprobación reciben las salidas de dichos primer y segundo módulos de tratamiento de datos respectivamente; y dichos primer y segundo módulos de comprobación (12, 16) están dispuestos para comparar las salidas de dichos primer y segundo módulos de tratamiento de datos (10, 14); dicho primer módulo de comprobación emite una primera señal de error indicativa de si dichos primer y segundo módulos de tratamiento de datos han realizado o no las mismas operaciones de tratamiento sobre dichos datos recibidos en dicha entrada de datos; y dicho segundo módulo de comprobación está también dispuesto para emitir una señal de error indicativa de si dichos primer y segundo módulos de tratamiento de datos (10, 14) han realizado o no las mismas operaciones de tratamiento sobre dichos datos recibidos en dicha entrada de datos; caracterizado porque dichos primer y segundo módulos de comprobación (12, 16) están situados en dispositivos separados físicamente; dicho segundo módulo de comprobación tiene una tercera entrada; dicho primer módulo de comprobación emite una primera y segunda señales de datos correspondientes a dichas salidas de dichos primer y segundo módulos de tratamiento de datos respectivamente; y dicha primera y segunda entradas de dicho segundo módulo de comprobación reciben dicha primera y segunda señales de datos procedentes de dicho primer módulo de comprobación y dicha tercera entrada de dicho segundo módulo de comprobación recibe dicha primera señal de error procedente de dicho primer módulo de comprobación; estando dispuesto el segundo módulo de comprobación para comprobar las salidas del primer módulo de comprobación.

Description

Sistema de tratamiento de datos redundante de alta velocidad.
El invento se refiere a sistemas y métodos de tratamiento de datos, en particular a sistemas de tratamiento de datos que operan a altas velocidades, con elevados niveles de exactitud.
Dos de las cuestiones clave para cualquier sistema de tratamiento de datos son la velocidad y exactitud del tratamiento de datos. Se han propuesto muchas disposiciones para aumentar la exactitud; sin embargo, tales disposiciones a menudo requieren operaciones de tratamiento adicionales, que, o bien disminuyen la velocidad de funcionamiento, o bien aumentan el coste de puesta en práctica, o ambas cosas. Por consiguiente, en algunos sistemas de tratamiento de datos la velocidad, exactitud y coste son requisitos conflictivos que necesitan ser equilibrados de acuerdo con las exigencias del sistema de tratamiento de datos.
Muchos métodos para aumentar la exactitud hacen uso de la redundancia. Por ejemplo, una función particular puede ser puesta en práctica tres veces usando tres circuitos funcionalmente idénticos que operan en paralelo, siendo aceptada la salida si al menos dos de los tres circuitos dan la misma salida. Tal disposición tiene la atracción de la simplicidad, pero el uso de tres (o más) circuitos en paralelo puede ser considerado demasiado poco económico en algunas circunstancias.
Otras disposiciones para aumentar la exactitud hacen uso de códigos de corrección de error. Tal disposición tiene la ventaja de ser capaz de corregir algunos errores, en vez de identificar errores simplemente, pero los costes generales en términos de datos, y las exigencias de tratamiento de datos, pueden ser caros de poner en práctica, y pueden afectar adversamente a la velocidad de tratamiento de los datos.
El documento DE 19529434 A1 describe un sistema de microprocesador destinado a sistemas de control de seguridad críticos. El sistema de microprocesador incluye dos unidades centrales hechas funcionar de modo síncrono (que reciben los mismos datos de entrada y procesan el mismo programa), memorias de lectura solamente y memorias de acceso aleatorio para datos útiles y datos de ensayo, y comparadores que comprueban las señales de salida de las unidades centrales, y las señales de desconexión en cuestión en el caso de no existencia de correlación. Las unidades centrales están conectadas a las memorias y las unidades de entrada y salida por medio de sistemas de buses o líneas de transmisión separadas y acopladas por etapas de unidades de accionamiento que permiten que la unidades centrales lean y traten conjuntamente los datos disponibles en los dos sistemas de buses.
El documento US-5.086.429 describe un sistema de tratamiento de datos que usa una arquitectura de compartir una única memoria entre dos procesadores ("spare-pair"), que es llamada así para obviar la necesidad de agrupaciones de memorias separadas para cada procesador. Una memoria única es compartida entre cada par de procesadores y un esquema de detección de error de código de bloque lineal es implantado con cada memoria compartida, en el que es detectado el efecto de fallos de memoria aleatoria de modo que no comprometa la tolerancia de fallo inherente de una arquitectura de memoria compartida entre dos procesadores.
Los circuitos de tratamiento de datos son propensos a muchas formas de errores. Una forma particularmente problemática de error son los errores inducidos por radiación, que a veces son denominados como "errores suaves" o "trastornos de un solo evento". Los errores inducidos por radiación son causados por partículas cargadas, tales como partículas radioactivas (por ejemplo, partículas alfa), o partículas causadas por rayos cósmicos de alta energía o partículas solares, causando la ionización del semiconductor de un dispositivo de memoria. Si la carga recogida es lo bastante grande, entonces el estado percibido de una celda de memoria particular puede ser incorrecto. Los errores inducidos por radiación tienden a ser aleatorios por naturaleza y pueden ser difíciles de detectar.
El presente invento busca resolver o mitigar algunos de los problemas esquematizados más arriba, o proporcionar soluciones alternativas a los existentes actualmente.
El presente invento proporciona un sistema de tratamiento de datos que tiene las características descritas en la reivindicación 1ª siguiente. El presente invento también proporciona un método de tratamiento de datos que tiene las características descritas en la reivindicación 12ª siguiente.
En una forma del invento, los módulos de comprobación son circuitos lógicos que determinan si las salidas del primer y segundo módulos de tratamiento son las mismas (indicando que no ha ocurrido ningún error) o diferentes (indicando que ha ocurrido un error). En una forma del invento, la salida de uno de los circuitos de tratamiento de datos es invertida de modo que los módulos de comprobación determinen si las salidas del primer y segundo módulos de tratamiento son las mismas (indicando que ha ocurrido un error) o diferentes (indicando que no ha ocurrido ningún error).
El presente invento proporciona la duplicación del tratamiento de datos, introduciendo por ello la redundancia para detectar errores. Además, como las operaciones de tratamiento de datos son realizadas en paralelo, sin algoritmos de comprobación de cualquier error durante el tratamiento, la velocidad de tratamiento de datos puede ser alta.
\newpage
Además, previendo los módulos de comprobación de datos en dispositivos separados físicamente, la probabilidad de que no se detecte un error inducido por radiación es reducida.
En una forma del invento, el primer y segundo módulos de comprobación están previstos en circuitos integrados separados que están situados en la misma placa de circuito. Sin embargo, los módulos de comprobación podrían estar previstos en placas de circuito diferentes, o incluso, separadas adicionalmente, particularmente si se han usado sistemas de comunicación inalámbricos para pasar datos para comprobación a los módulos de comprobación. En la totalidad de tales disposiciones, los dispositivos han de ser considerados como estando separados físicamente. Una ventaja de separar físicamente los módulos de comprobación es reducir la probabilidad de errores inducidos por radiación que ocurren en ambos módulos de comprobación de la misma manera. Es muy improbable que ocurran errores idénticos en dos dispositivos separados físicamente.
Dichos primer y segundo módulos de tratamiento de datos pueden estar situados en dispositivos separados físicamente. El primer y segundo módulos de tratamiento de datos podrían estar previstos en circuitos integrados separados que están situados en la misma placa de circuito. Sin embargo, como se ha descrito antes con referencia a los módulos de comprobación, el primer y segundo módulos de tratamiento de datos podrían estar previstos en diferentes placas de circuitos, o incluso, separados adicionalmente. En una realización ejemplar del invento, el primer y segundo módulos de tratamiento de datos están implantados en agrupaciones de puerta programable de campo separadas (FPGAs) que, en uso, están situadas en la misma placa de circuito.
El primer módulo de tratamiento de datos y el primer módulo de comprobación pueden estar situados en la misma posición física, por ejemplo, pueden ser puestos en práctica usando la misma FPGA. Alternativamente, el primer módulo de tratamiento de datos y el primer módulo de comprobación pueden ser implantados en diferentes circuitos integrados; esos circuitos integrados pueden estar situados juntos, lo cual tiene varias ventajas, incluyendo un cableado más simple que tiende a aumentar la velocidad de funcionamiento.
El segundo módulo de tratamiento de datos y el segundo módulo de comprobación pueden estar situados en la misma posición física, por ejemplo, pueden ser puestos en práctica usando la misma FPGA. Alternativamente, el segundo módulo de tratamiento de datos y el segundo módulo de comprobación pueden ser implantados en diferentes circuitos integrados; esos circuitos integrados pueden estar situados juntos, lo cual tiene varias ventajas, incluyendo un cableado más simple que tiende a aumentar la velocidad de funcionamiento.
En una forma del invento, el primer módulo de tratamiento de datos y el primer módulo de comprobación son implantados en un primer circuito integrado y el segundo módulo de tratamiento de datos y el segundo módulo de comprobación son implantados en un segundo circuito integrado.
Las salidas de dichos primer y segundo módulos de tratamiento de datos son hechas pasar a dicho primer módulo de comprobación, emitiendo el primer módulo de comprobación tanto dicha señal de error como dichas salidas de dichos primer y segundo módulos de tratamiento de datos a dicho segundo módulo de comprobación. Así, las salidas de los módulos de tratamiento de datos son comprobadas en primer lugar por el primer módulo de comprobación, siendo comprobadas las salidas del primer módulo de comprobación por el segundo módulo de comproba-
ción.
En una forma del invento, hay previsto un tercer módulo de comprobación, estando dispuesto el tercer módulo de comprobación para comparar las salidas de dichos primer y segundo módulos de tratamiento de datos y emitir una señal indicativa de si dicho primer y dicho segundo módulos de tratamiento de datos han realizado o no las mismas operaciones de tratamiento sobre dicha entrada de datos. El tercer módulo de comprobación puede estar separado físicamente de uno del primer y segundo módulos de comprobación de datos o de ambos. El tercer módulo de comprobación puede estar separado físicamente de uno del primer y segundo módulos de tratamiento de datos o de ambos. En una forma ejemplar del invento, el primer módulo de tratamiento de datos y el primer módulo de comprobación están implantados sobre un primer circuito integrado, el segundo módulo de tratamiento de datos y el segundo módulo de comprobación están implantados sobre un segundo circuito integrado y el tercer módulo de comprobación está implantado sobre un tercer circuito integrado; cada uno de esos circuitos integrados puede estar previsto en la misma placa de circuito, o puede estar además separado, como se ha descrito antes.
En una forma del invento, las salidas de dichos primer y segundo módulos de tratamiento de datos son hechas pasar a dicho primer módulo de comprobación, emitiendo el primer módulo de comprobación tanto dicha señal de error como dichas salidas de dichos primer y segundo módulos de tratamiento de datos a dicho segundo módulo de comprobación, y emitiendo el segundo módulo de comprobación tanto dicha señal de error como dichas salidas de dicho primer y segundo módulos de tratamiento de datos a dicho tercer módulo de comprobación. Así, en esta forma del invento, las salidas de los módulos de tratamiento de datos son comprobadas por el primer, segundo y tercer módulos de comprobación. En tal disposición, la salida de error de un módulo de comprobación puede ser ajustada o bien cuando ese módulo detecta una discrepancia entre las salidas de dichos primer y segundo módulos de tratamiento de datos, o bien cuando la salida de error del módulo de comprobación previo es ajustada.
Al menos una de dichas señales indicativas de si dichos primer y segundo módulos de tratamiento de datos han realizado o no las mismas operaciones de tratamiento sobre dichos datos recibidos en dicha entrada de datos puede ser proporcionada como una entrada al menos a uno de dichos primer y segundo módulos de tratamiento de datos. En una forma del invento, la salida de error del tercer módulo de comprobación es proporcionada como una entrada al primer módulo de comprobación. La señal de error que es realimentada al primer módulo de tratamiento puede ser usada para indicar que los resultados de una operación de tratamiento de datos particular deberían ser desechados. Alternativamente, la señal que es realimentada al primer módulo de tratamiento puede ser usada para indicar que los resultados de una operación de tratamiento de datos particular deberían ser repetidos.
En una forma del invento, se ha previsto un indicador o banderola de salida de error, en la que dicho indicador de salida de error es ajustado cuando cualquiera de dichos módulos de comprobación emiten una señal que indica que las salidas de dichos primer y segundo módulos de tratamiento de datos no son la misma. El indicador de error puede ser ajustado cada vez que cualquiera de los módulos de comprobación detecta un error, sin esperar a que la señal de error se propague a su través a la salida. El indicador de error puede ser proporcionado como una entrada a uno o más de los módulos de tratamiento de datos, por ejemplo para usar en desechar los resultados de una operación de tratamiento particular, o para usar en iniciar la repetición de una operación de tratamiento de datos particular.
Dicha entrada de datos puede ser una entrada de datos en serie.
La funcionalidad de cada uno de dichos primer y segundo módulos de tratamiento de datos puede ser definida por datos almacenados en uno o más módulos de memoria. Puede preverse un dispositivo de memoria única, que es usada tanto por dichos primer y segundo módulos de tratamiento de datos; sin embargo, se prefiere que la funcionalidad de dicho primer módulo de tratamiento de datos esté definida por datos almacenados en un primer módulo de memoria y la funcionalidad de dicho segundo módulo de tratamiento de datos esté definida por datos almacenados en un segundo módulo de memoria, ya que esto evita problemas potenciales debido a que más de un módulo de tratamiento de datos intenta acceder a la misma posición de memoria del mismo módulo de memoria. Además, si sólo se ha previsto un módulo de memoria, entonces si ese módulo de memoria no estaba funcionando correctamente, entonces ambos módulos de tratamiento de datos podrían operar del mismo modo sobre la base de instrucciones incorrectas y proporcionar salidas incorrectas, idénticas que no serían detectadas por ninguno de los módulos de comprobación de datos.
En una forma del invento, la entrada de datos incluye un código que hace referencia a una posición de memoria en dicho módulo o módulos de memoria definiendo la funcionalidad de dichos módulos de tratamiento de datos. Por ejemplo, la entrada de datos puede ser un paquete de datos, incluyendo el paquete información de encabezamiento que incluye dicho código. Así, las operaciones de tratamiento realizadas pueden ser diferentes para paquetes diferentes, como se ha definido por dicho código.
El presente invento funciona bien con el tratamiento de datos a base de paquetes, aunque no está limitado a tales usos. Como es bien conocido en la técnica, la conmutación por paquetes es usada en muchos sistemas de comunicación de datos y es corrientemente la tecnología de conmutación dominante usada en Internet. La conmutación por paquetes trabaja encaminando paquetes individuales de datos entre nudos de datos sobre enlaces de datos que podrían ser compartidos por otros muchos nodos. La conmutación por paquetes implica la rotura de un archivo de datos en muchos paquetes de datos menores, incluyendo cada paquete información adicional, tal como el origen y el destino del archivo, y la posición de los datos incluidos en el paquete dentro del archivo. Cuando los paquetes son recibidos en destino, el archivo original es reensamblado.
Dispositivos y métodos de acuerdo con el invento serán descritos a continuación, a modo de ejemplo solamente, con referencia a los dibujos esquemáticos adjuntos en los que:
La fig. 1 es un diagrama de bloques de una realización del presente invento;
La fig. 2 es una representación esquemática de la funcionalidad de una parte del circuito de la fig. 1;
La fig. 3 es una tabla que demuestra parte de la funcionalidad del circuito de la fig. 1; y
La fig. 4 es una tabla que demuestra otra parte de la funcionalidad del circuito de la fig. 1.
La fig. 1 es un diagrama de bloques de un sistema de tratamiento, indicado en general por la referencia numérica 2, de acuerdo con una realización del presente invento.
El sistema 2 de tratamiento comprende un primer 4, segundo 6 y tercer 8 bloques de tratamiento de datos. El primer bloque 4 de tratamiento de datos comprende un primer módulo 10 de tratamiento de datos y un primer módulo 12 de comprobación. El segundo bloque 6 de tratamiento de datos comprende un segundo módulo 14 de tratamiento de datos y un segundo módulo 16 de comprobación. El tercer bloque 8 de tratamiento de datos comprende un tercer módulo 18 de comprobación. El primer módulo 10 de tratamiento de datos está acoplado a un dispositivo de memoria 20; el segundo módulo 14 de tratamiento de datos está acoplado a un dispositivo de memoria 22.
El sistema 2 de tratamiento recibe una entrada de datos IN desde una fuente externa. La entrada de datos IN es un paquete de datos, incluyendo ese paquete información relativa al tratamiento requerido que ha de ser realizado sobre los datos dentro del paquete.
La información de tratamiento tiene la forma de un código que refiere instrucciones en los dispositivos de memoria 20 y 22. El primer módulo 10 y el segundo módulo 14 de tratamiento de datos reciben cada uno la entrada de datos IN, desde la que extraen la información de tratamiento. El primer módulo 10 de tratamiento usa la información de tratamiento para obtener instrucciones desde el dispositivo de memoria 20 relativas a las operaciones de tratamiento a realizar sobre la entrada de datos IN. Similarmente, el segundo módulo 14 de tratamiento usa la información de tratamiento para obtener instrucciones desde el dispositivo de memoria 22 relativas a las operaciones de tratamiento a realizar sobre la entrada de datos IN.
Así, el primer y segundo módulos 10 y 14 de tratamiento de datos usa los dispositivos de memoria 20 y 22 respectivamente como tablas de búsqueda, siendo usado el código de tratamiento recibido desde la entrada de datos IN para hacer referencia a los datos almacenados por las tablas de búsqueda. Los dispositivos de memoria 20 y 22 pueden, por ejemplo, ser puestos en práctica usando cualquier RAM de acceso rápido dimensionada de modo adecuado; el experto en la técnica conocerá muchos dispositivos adecuados. El primer y segundo módulos 10 y 14 de tratamiento de datos realizan entonces operaciones de tratamiento sobre los datos entrantes sobre la base de las instrucciones recibidas desde los módulos de memoria 20 y 22. Los módulos 10 y 14 de tratamiento están destinados a poner en práctica las mismas funciones; por consiguiente, las salidas del primer y segundo módulos de tratamiento deberían ser las mismas.
Las salidas del primer y segundo módulos 10 y 14 de tratamiento de datos son hechas pasar al primer módulo de comprobación 12. Como se ha señalado antes, módulos 10 y 14 de tratamiento de datos están destinados a realizar la misma operación (como se ha definido por los módulos de memoria 20 y 22) sobre la entrada de datos IN y deberían por ello proporcionar las mismas salidas de datos. En una forma del invento, el primer módulo de comprobación compara cada bit de la salida del primer módulo 10 de tratamiento de datos con el bit correspondiente de la salida del segundo módulo 12 de tratamiento de datos, emitiendo una señal de error si cualquiera de las salidas correspondientes del primer y segundo módulos de tratamiento difiere. En una realización particular del invento, la salida del segundo módulo 14 de tratamiento de datos es invertida antes de ser hecha pasar al primer módulo 12 de comprobación; el primer módulo 12 de comprobación emite a continuación una señal de error en el caso de que cualquiera de las salidas correspondientes del primer y segundo módulos de tratamiento de datos sean las
mismas.
Hay varios tipos de errores que podrían ocurrir en el sistema 2 de tratamiento de datos que debería ser detectados por los módulos de comprobación. Por ejemplo, uno de los dispositivos de memoria 20 y 22 puede incluir un error y el módulo de tratamiento de datos correspondiente puede poner en práctica una función incorrecta como un resultado o uno de los módulos 10 y 14 de tratamiento de datos puede incluir un defecto físico del algún tipo.
El primer módulo 12 de comprobación tiene tres salidas: la primera y segunda salidas son simplemente las entradas a ese módulo de comprobación (es decir, son simplemente las salidas del primer y segundo módulos 12 y 14 de tratamiento respectivamente), siendo la tercera salida la salida de error antes descrita.
Las tres salidas del primer módulo de comprobación 12 forman las tres entradas del segundo módulo de comprobación 16. Así, el segundo módulo 16 de comprobación recibe las salidas del primer y segundo módulos 10 y 14 de tratamiento. El segundo módulo de comprobación prosigue para realizar la misma función de comprobación que el primer módulo 12 de comprobación y emite una señal de error en el caso de que se detecte una discrepancia. Además, la salida de error del segundo módulo 16 de comprobación también es ajustada si una señal de error es emitida por el primer módulo 12 de comprobación.
El segundo módulo 16 de comprobación por ello proporciona tres señales de salida: la primera y segunda salidas son las salidas del primer y segundo módulos 10 y 14 de tratamiento respectivamente y la tercera salida es la señal de error. Las tres salidas son proporcionadas como las entradas al tercer módulo 18 de comprobación, cuyo módulo de comprobación tiene la misma funcionalidad que el segundo módulo de comprobación.
El tercer módulo de comprobación 18 emite una señal de error ERROR indicativa de si se ha detectado o no un error por cualquiera de los tres módulos de comprobación, junto con una salida de datos DATA que representa la entrada de datos como modificada por la función de datos que es puesta en práctica por el sistema de tratamiento 2. La señal de error ERROR es proporcionada como una entrada al primer módulo 12 de comprobación de datos, que permite el tratamiento de un paquete particular que ha de ser desechado tan pronto como un error es detectado. En una forma del invento, el módulo 12 de comprobación está dispuesto para instruir a los módulos 10 y 14 de tratamiento de datos para repetir una operación de tratamiento de datos cuando un error es detectado. En otras formas del invento, el paquete de datos en el que es detectado un error de tratamiento es simplemente desechado.
En una forma del invento, cuando cualquiera de los módulos de comprobación detecta un error, un indicador de error es ajustado y pasada al siguiente módulo de comprobación de error. Cuando cualquiera de los módulos de comprobación de error recibe un indicador de error, la salida de error ERROR es ajustada inmediatamente y los datos que están siendo tratados actualmente son rechazados. Así, la detección de un error puede ser usada rápidamente para rechazar los datos que están siendo tratados; no es necesario esperar a la finalización de la operación de tratamiento de datos para determinar que ha ocurrido un error.
\newpage
De esta forma, el rendimiento del sistema de tratamiento de datos puede ser aumentado no continuando el tratamiento de datos que va a ser rechazado alegando que se ha detectado un error.
La fig. 2 es una representación esquemática de la funcionalidad de parte del circuito de la fig. 1. La fig. 2 muestra un paquete de datos 24a que es recibido en la entrada de un bloque de función 26a, emitiendo el bloque de función 26a un paquete de datos 28a. En paralelo, un paquete de datos 24b es recibido en la entrada de un bloque de función 26b, emitiendo el bloque de función 26b un paquete de datos 28b. El paquete de datos 28b es a continuación invertido para proporcionar un paquete de datos 28b'.
Los paquetes de datos 24a y 24b son la entrada de datos IN del sistema de tratamiento 2 antes descrito e incluyen un código id_{1} que identifica la funcionalidad requerida para ser puesto en práctica por los bloques de función 26a y 26b. Los bloques de función 26a y 26b ponen en práctica una función Z y son los módulos 10 y 14 de tratamiento de datos respectivamente del sistema de tratamiento 2. Los paquetes de datos 28a y 28b son las salidas de los módulos 10 y 14 de tratamiento, siendo el paquete de datos 28b' simplemente una versión invertida del paquete de datos 28b. Los paquetes de datos 28a y 28b incluyen un código modificado id_{2}.
Cada bit del paquete de datos 28a es comparado, en serie, con el bit correspondiente de paquete de datos 28b' por la puerta XOR 30. Los paquetes de datos 28a y 28b deberían ser idénticos, y cada bit del paquete de datos 28a debería por ello ser diferente al bit correspondiente del paquete de datos 28b'. Así, presentando bits correspondientes de los paquetes de datos 28 y 28b' en las entradas de una puerta XOR, la salida de la puerta XOR debería ser siempre 1. Por consiguiente, si la salida de la puerta XOR 30 es cero en cualquier etapa, entonces ha ocurrido un error y un indicador de error es ajustado. La puerta XOR 30 por ello pone en práctica el circuito 12 de comprobación de
error.
La disposición de la fig. 2 proporciona un paquete de salida de datos DATA, un paquete de salida de datos invertido DATAZ y un indicador de error ERROR.
Como se ha descrito antes, los errores inducidos por radiación son una fuente de errores particularmente problemática en sistemas de tratamiento de datos. Un problema con tales errores es que pueden dar como resultado un error que no sea detectado. Considérese el siguiente escenario:
El registro 28a debería contener la palabra de datos "010111" (como se ha mostrado en la fig. 2) pero de hecho, debido a un error en el bloque de función 26a, el registro 28a contiene la palabra de datos "010110" (es decir, el bit final es incorrecto).
El registro 28b contiene correctamente la palabra de datos "010111", y el registro 28b' almacena la palabra de datos "101000". Así, la puerta XOR 30 debería comparar la salida del registro 28a (010110) y la salida del registro 28b' (101000) y detectar un error.
Sin embargo, debido a un error inducido por radiación, la puerta XOR de hecho lee la salida del registro 28b' como "101001" (cuyo bit final es leído como un "1" en vez de un "0") y no detecta el error en la salida del bloque de función 26a.
El circuito de la fig. 1 proporciona tres módulos de comprobación, en vez del módulo mostrado en la fig. 2. En el escenario ejemplar antes descrito, incluso si el primer módulo de comprobación 12 no detecta el error debido a un error inducido por radiación, entonces los módulos 16 y 18 de comprobación todavía estarían disponibles para realizar la comprobación. Es extremadamente improbable que los tres módulos de comprobación fueran afectados por un error inducido por radiación del mismo modo.
Con el fin de proporcionar una seguridad adicional, los módulos 12, 16 y 18 de comprobación están separados físicamente. Así, incluso si hay un nivel alto de partículas alfa (o cualesquiera otras partículas probables de causar errores inducidos por radiación) en la proximidad de uno de los módulos de comprobación, las posibilidades de que los tres módulos de comprobación sean afectados de forma similar son reducidas aún más.
En una puesta en práctica del invento, los módulos 12, 16 y 18 de comprobación separados físicamente son empleados por agrupaciones de puerta programables en campo diferentes (FPGAs) que están situadas en la misma placa de circuito impresa. Sin embargo, los módulos de comprobación podrían estar además separados, por ejemplo situando los módulos de comprobación en diferentes placas de circuito impreso. Efectivamente, haciendo uso de tecnología de comunicaciones remota, los módulos de comprobación podrían ser separados por una larga distancia, en un ejemplo extremo, los tres módulos de comprobación podrían estar en diferentes países.
A continuación sigue un ejemplo trivial que demuestra un uso ejemplar del funcionamiento del sistema de tratamiento 2.
Como se ha señalado antes, el sistema de tratamiento 2 está bien adaptado para su uso con paquetes de datos que incluyen un código (denominado a continuación como un estado) que define la funcionalidad de los módulos 10 y 14 de tratamiento. En el presente ejemplo, el sistema de tratamiento 2 es usado para tratar paquetes de datos que incluyen un estado de 2 bits. La funcionalidad de los módulos 10 y 14 de tratamiento en cada estado es como
sigue:
1
La entrada de datos IN es una entrada de datos en serie, siendo presentada en primer lugar la información de estado. Por consiguiente, la información de estado puede ser extraída por los módulos de tratamiento 10 y 14 y usada para obtener la información requerida con vistas a la función requerida que ha de ser ejecutada por esos módulos, cuya información es almacenada en los módulos de memoria 20 y 22.
La fig. 3 es una tabla que muestra cómo trabaja el algoritmo definido antes con algunas entradas de datos ejemplares. La tabla muestra varias entradas de datos de 10 bits, incluyendo cada entrada de 10 bits un estado de 2 bits. Los 8 bits restantes de la entrada de 10 bits son procesados de acuerdo con el algoritmo antes descrito, y la salida generada está dada en la tabla.
En las primera y segunda líneas de la tabla de la fig. 3, el estado 01 es recibido indicando que cada segundo bit de las entradas debería ser invertido por el sistema de tratamiento 2. Así, en la primera línea, la entrada 11100101 resulta 10110000 y, en la segunda línea, la entrada 01101100 resulta 00111001.
En la tercera línea de la tabla de la fig. 3, el estado 10 es recibido, indicando que cada tercer bit de la entrada debería ser invertido. Así, la entrada 11111001 resulta 11011101.
En la cuarta línea de la tabla de la fig. 3, el estado 11 es recibido, indicando que cada bit de la entrada debería ser invertido. Así, la entrada 10001010 resulta 01110101.
En la quinta línea de la tabla de la fig. 3, el estado 00 es recibido, indicando que la entrada no debería tener cambios. Así, la entrada 11010010 es la misma que la salida.
A continuación sigue un ejemplo simple que muestra el flujo posible de datos a través del circuito de la fig. 1. En el ejemplo descrito a continuación, las salidas del primer y segundo módulos 10 y 14 de tratamiento de datos se denominan como A y B respectivamente. En el siguiente ciclo de reloj, el primer módulo 12 de comprobación emite las entradas de datos A y B como A' y B' y emite una señal de error E_{1}, formando las señales A', B' y E_{1} las entradas del segundo módulo 16 de comprobación. En el siguiente ciclo de reloj, el segundo módulo 16 de comprobación emite las entradas de datos A' y B' como A'' y B'' y emite una señal de error E_{2}, formando las señales A'', B'' y E_{2} las entradas del tercer módulo 18 de comprobación. En el siguiente ciclo de reloj, el tercer módulo 18 de comprobación emite una salida DATA, que es derivada de las entradas de datos A'' y B'' y emite una salida ERROR.
Considérese el siguiente escenario, en el que las salidas del primer y segundo módulos 10 y 14 de tratamiento de datos están destinadas a ser la palabra de datos 01010111. En este ejemplo, el primer módulo 10 de tratamiento de datos opera correctamente, pero el segundo módulo de tratamiento de datos emite de modo incorrecto la palabra de datos 01000111.
El flujo de datos a través del circuito de la fig. 1 en este ejemplo se ha descrito a continuación con referencia a la tabla de la fig. 4, cuya tabla recoge los valores de datos A, B, A', B', E_{1}, A'', B'', E_{2}, DATA y ERROR para cada uno de un número de ciclos de reloj.
Las palabras de datos son emitidas por el primer y segundo módulos 10 y 14 de tratamiento de datos en serie, siendo los bits menos significativos emitidos en primer lugar. Así, en el primer ciclo de reloj, los bits de datos A y B son ambos 1. Los otros bits de datos son desconocidos, y son designados como X en la fig. 4.
En el siguiente ciclo de datos, los valores previos de A y B (ambos 1) son emitidos como A' y B', y la señal de error 0 (que indica que no hay error) es emitida como E_{1}. Los siguientes bits de datos entrantes (ambos 1) son las nuevas entradas A y B. De nuevo, los valores de la señal de datos restante son desconocidos.
En el siguiente ciclo de datos, las señales previas A', B' y E_{1} resultan A'', B'' y E_{2}, las señales previas A y B resultan A' y B', siendo ajustada una nueva señal de error (de nuevo 0) a E_{1}. Los siguientes bits de datos (de nuevo ambos 1) son presentados como A y B.
En el siguiente ciclo de datos, la salida DATA es ajustada para que sea los valores previos A'' y B'', la señal de error es ajustada para que sea 0 (ningún error detectado), las señales previas A', B' y E_{1} resultan A'', B'' y E_{2}, las señales previas A y B resultan A' y B', siendo ajustada una nueva señal de error (de nuevo 0) a E_{1}. Los siguientes bits de datos (esta vez ambos 0) son presentados como A y B.
En el siguiente ciclo de datos, la salida DATA es ajustada para que sea los valores previos A'' y B'', la señal de error es ajustada para que sea 0 (ningún error detectado), las señales previas A', B' y E_{1} resultan A'', B'' y E_{2}, las señales previas A y B resultan A' y B' siendo ajustada una nueva señal de error (de nuevo 0) a E_{1}. Los siguientes bits de datos (1 y 0 respectivamente) son presentados como A y B.
En el siguiente ciclo de datos, la salida DATA es ajustada para que sean los valores previos A'' y B'', la señal de error es ajustada para que sea 0 (ningún error detectado), las señales previas A', B' y E_{1} resultan A'', B'' y E_{2} (E_{2} indica ahora un error), las señales previas A y B resultan A' y B'. Esta vez, sin embargo, se detecta un error, ya que los valores A y B eran diferentes, y la señal de error E_{1} es ajustada a 1. Los siguientes bits de datos (ambos 0) son presentados como A y B.
En el siguiente ciclo de datos, la salida DATA es ajustada para que sean los valores previos A'' y B'', la señal de error es ajustada para que sea 0 (ningún error detectado), las señales previas A', B' y E_{1} resultan A'', B'' y E_{2} (E_{2} indica ahora un error), las señales previas A y B resultan A' y B' y los siguientes bits de datos (ambos 1) son presentados como A y B.
En el siguiente ciclo de datos, la señal de error E_{2} se propaga a la salida de error ERROR. La salida de datos no está especificada (X), ya que había un conflicto entre los valores de datos A'' y B''. Así, el error detectado originalmente por el primer módulo 12 de comprobación se ha propagado a la salida.
Debería observarse que en algunas formas del invento, la salida de error podría ser usada como una señal de interrupción que es hecha pasar inmediatamente a la salida ERROR, en vez de tener que propagarse a través del circuito entero, como se ha descritos antes.
El sistema de tratamiento 2 del presente invento tiene muchas aplicaciones potenciales. Por ejemplo, los módulos 10 y 14 de tratamiento de datos podrían ser programados para detectar diseños particulares de datos y para emitir un indicador cuando un diseño particular es detectado. En tal aplicación, el estado de los paquetes de datos entrantes podría ser usado para referirse al diseño o diseños de datos particulares que se está buscando. Además, muchos algoritmos criptográficos ponen en práctica funciones relativamente simples sobre paquetes de datos; el sistema de tratamiento de datos 2 sería bien adecuado para llevar a cabo tales funciones.

Claims (19)

1. Un sistema de tratamiento de datos que comprende una entrada de datos (IN), un primer módulo (10), y un segundo módulo (14) de tratamiento de datos, y un primer (12) y segundo (16) módulos de comprobación de datos, en el que: dichos primer y segundo (10, 14) módulos de tratamiento de datos están cada uno dispuestos para realizar las mismas operaciones de tratamiento sobre datos recibidos en dicha entrada de datos (IN), proporcionando cada uno una salida; dicho primer módulo de comprobación tiene una primera y segunda entradas y dicho segundo módulo de comprobación tiene una primera y segunda entradas, en el que dichas primera y segunda entradas de dicho primer módulo de comprobación reciben las salidas de dichos primer y segundo módulos de tratamiento de datos respectivamente; y dichos primer y segundo módulos de comprobación (12, 16) están dispuestos para comparar las salidas de dichos primer y segundo módulos de tratamiento de datos (10, 14); dicho primer módulo de comprobación emite una primera señal de error indicativa de si dichos primer y segundo módulos de tratamiento de datos han realizado o no las mismas operaciones de tratamiento sobre dichos datos recibidos en dicha entrada de datos; y dicho segundo módulo de comprobación está también dispuesto para emitir una señal de error indicativa de si dichos primer y segundo módulos de tratamiento de datos (10, 14) han realizado o no las mismas operaciones de tratamiento sobre dichos datos recibidos en dicha entrada de datos; caracterizado porque dichos primer y segundo módulos de comprobación (12, 16) están situados en dispositivos separados físicamente; dicho segundo módulo de comprobación tiene una tercera entrada; dicho primer módulo de comprobación emite una primera y segunda señales de datos correspondientes a dichas salidas de dichos primer y segundo módulos de tratamiento de datos respectivamente; y dicha primera y segunda entradas de dicho segundo módulo de comprobación reciben dicha primera y segunda señales de datos procedentes de dicho primer módulo de comprobación y dicha tercera entrada de dicho segundo módulo de comprobación recibe dicha primera señal de error procedente de dicho primer módulo de comprobación; estando dispuesto el segundo módulo de comprobación para comprobar las salidas del primer módulo de comprobación.
2. Un sistema de tratamiento de datos según la reivindicación 1ª, en el que dichos primer y segundo módulos de tratamiento de datos están situados en dispositivos separados físicamente.
3. Un sistema de tratamiento de datos según cualquiera de las reivindicaciones 1ª y 2ª, que comprende además un tercer módulo de comprobación dispuesto para comparar las salidas de dichos primer y segundo módulos de tratamiento de datos y para emitir una señal indicativa de si dichos primer y segundo módulos de tratamiento de datos han realizado o no las mismas operaciones de tratamiento sobre dichos datos recibidos en dicha entrada de datos.
4. Un sistema de tratamiento de datos según la reivindicación 3ª, en el que dicho módulo de comprobación tiene una primera, segunda y tercera entradas, en el que: dicho segundo módulo de comprobación emite una tercera y cuarta señales de datos correspondientes a dichas salidas de dichos primer y segundo módulos de tratamiento de datos respectivamente y una segunda señal de error indicativa de si dichos primer y segundo módulos de tratamiento de datos han realizado o no las mismas operaciones de tratamiento sobre dichos datos recibidos en dicha entrada de datos; dichas primera y segunda entradas de dicho tercer módulo de comprobación reciben dicha tercera y cuarta señales de datos procedentes de dicho segundo módulo de comprobación y dicha tercera entrada de dicho tercer módulo de comprobación recibe dicha segunda señal de error procedente de dicho primer módulo de comprobación.
5. Un sistema de tratamiento de datos según la reivindicación 3ª o 4ª, en el que el tercer módulo de comprobación está separado físicamente de cada uno de dichos primer y segundo módulos de comprobación.
6. Un sistema de tratamiento de datos según cualquiera de las reivindicaciones 3ª a 5ª, en el que dicha señal indicativa de si dichos primer y segundo módulos de tratamiento de datos han realizado o no las mismas operaciones de tratamiento sobre dichos datos recibidos en dicha entrada de datos emitida por dicho tercer módulo de comprobación es proporcionada como una entrada a dicho primer módulo de comprobación.
7. Un sistema de tratamiento de datos según cualquier reivindicación precedente, en el que al menos una de dichas señales indicativas de si dichos primer y segundo módulos de tratamiento de datos han realizado o no las mismas operaciones de tratamiento sobre dichos datos recibidos en dicha entrada de datos es proporcionada como una entrada al menos a uno de dichos primer y segundo módulos de tratamiento de datos.
8. Un sistema de tratamiento de datos según cualquier reivindicación precedente, comprendiendo además un indicador de salida de error, en el que dicho indicador de salida de error es ajustada cuando cualquiera de dichos módulos de comprobación emite una señal que indica que el primer y segundo módulos de tratamiento de datos no ha realizado las mismas operaciones de tratamiento en dichos datos recibidos en dicha entrada de datos.
9. Un sistema de tratamiento de datos según cualquier reivindicación precedente, en el que la funcionalidad de cada uno de dichos primer y segundo módulos de tratamiento está definida por datos almacenados en uno o más módulos de memoria.
10. Un sistema de tratamiento de datos según la reivindicación 9ª, en el que la funcionalidad de dicho primer módulo de tratamiento está definida por datos almacenados en un primer módulo de memoria y la funcionalidad de dicho segundo módulo de tratamiento es definida por datos almacenados en un segundo módulo de memoria.
11. Un sistema de tratamiento de datos según la reivindicación 9ª o la reivindicación 10ª, en el que los datos recibidos en dicha entrada de datos contienen una código que hace referencia a una posición de memoria en dichos módulos de memoria que define la funcionalidad de dichos módulos de tratamiento de datos.
12. Un método de tratamiento de datos que comprende las operaciones de: pasar una entrada de datos tanto a un primer (10) como a un segundo (14) módulos de tratamiento de datos (10, 14); disponer para dichos primer y segundo módulos (10, 14) de tratamiento de datos para realizar el mismo tratamiento sobre dicha entrada de datos; pasar salidas de dichos primer y segundo módulos de tratamiento de datos a dicho primer módulo de comprobación; y disponer para el primer (12) y segundo (16) módulos de comprobación (10, 14) para emitir una señal de error indicativa de si dichos primer y segundo módulos (10, 14) de tratamiento de datos han realizado o no las mismas operaciones sobre dicha entrada de datos; caracterizado porque: dichos primer y segundo módulos (12, 16) están situados en dispositivos separados físicamente; y dicho método comprende además las operaciones de: pasar dichas salidas de dichos primer y segundo módulos de tratamiento de datos desde dicho primer módulo de comprobación a dicho segundo módulo de comprobación, junto con una primer señal de error indicativa de si dichos primer y segundo módulos de tratamiento de datos han realizado o no las mismas operaciones de tratamiento sobre dichos datos recibidos en dicha entrada de datos, comprobando el segundo módulo de comprobación las salidas del primer módulo de comprobación.
13. Un método según la reivindicación 12ª, en el que dichos primer y segundo módulos de tratamiento de datos están situados en dispositivos separados físicamente.
14. Un método según una cualquiera de las reivindicaciones 12ª y 13ª, comprendiendo además la operación de hacer pasar las salidas de tanto dicho primer como dicho segundo módulos de tratamiento de datos a un tercer módulo de comprobación, en el que dicho tercer módulo de comprobación está dispuesto para emitir una señal de error indicativa de si dichos primer y segundo módulos de tratamiento de datos han realizado o no las mismas operaciones de tratamiento sobre dicha entrada de datos.
15. Un método según la reivindicación 14ª, que comprende además las operaciones de: hacer pasar dichas salidas de dichos primer y segundo módulos de tratamiento de datos desde dicho segundo módulo de comprobación a dicho tercer módulo de comprobación, junto con una segunda señal de error indicativa de si dichos primer y segundo módulos de tratamiento de datos han realizado o no las mismas operaciones de tratamiento sobre dichos datos recibidos en dicha entrada de datos.
16. Un método según la reivindicación 14ª o la reivindicación 15ª, en el que el tercer módulo de comprobación está separado físicamente de cada uno de dichos primer y segundo módulos de comprobación.
17. Un método según cualquiera de las reivindicaciones 14ª a 16ª, que comprende además la operación de proporcionar dicha señal indicativa de si dichos primer y segundo módulos de tratamiento de datos han realizado o no las mimas operaciones de tratamiento sobre dichos datos recibidos en dicha entrada de datos emitida por dicho tercer módulo de comprobación como una entrada a dicho primer módulo de comprobación.
18. Un método según cualquiera de las reivindicaciones 12ª a 17ª, que comprende además la operación de proporcionar al menos una de dichas señales indicativas de si dichos primer y segundo módulos de tratamiento de datos han realizado o no las mismas operaciones de tratamiento sobre dichos datos recibidos en dicha entrada de datos como una entrada al menos a uno de dichos primer y segundo módulos de tratamiento de datos.
19. Un método según cualquiera de las reivindicaciones 12ª a 18ª, en el que dicha entrada de datos incluye un código que hace referencia a una posición de memoria en uno o más módulos de memoria a los que dichos primer y segundo módulos de tratamiento de datos tienen acceso, definiendo dicha posición de memoria la funcionalidad de dichos módulos de tratamiento de datos.
ES06831395T 2006-02-09 2006-12-15 Sistema de tratamiento de datos redundante de alta velocidad. Active ES2340720T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB0602641 2006-02-09
GBGB0602641.3A GB0602641D0 (en) 2006-02-09 2006-02-09 High speed data processing system

Publications (1)

Publication Number Publication Date
ES2340720T3 true ES2340720T3 (es) 2010-06-08

Family

ID=36119811

Family Applications (1)

Application Number Title Priority Date Filing Date
ES06831395T Active ES2340720T3 (es) 2006-02-09 2006-12-15 Sistema de tratamiento de datos redundante de alta velocidad.

Country Status (13)

Country Link
US (1) US8386843B2 (es)
EP (1) EP1989624B1 (es)
JP (1) JP5203223B2 (es)
AT (1) ATE456091T1 (es)
AU (1) AU2006337907B2 (es)
CA (1) CA2641682C (es)
DE (1) DE602006011961D1 (es)
DK (1) DK1989624T3 (es)
ES (1) ES2340720T3 (es)
GB (1) GB0602641D0 (es)
NO (1) NO337469B1 (es)
NZ (1) NZ570745A (es)
WO (1) WO2007091005A1 (es)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8548640B2 (en) * 2010-12-21 2013-10-01 Microsoft Corporation Home heating server
DE102011102274B4 (de) 2011-05-23 2012-12-06 Pilz Gmbh & Co. Kg Verfahren zum Betreiben eines Sicherheitssteuergeräts
US9778912B2 (en) 2011-05-27 2017-10-03 Cassy Holdings Llc Stochastic processing of an information stream by a processing architecture generated by operation of non-deterministic data used to select data processing modules
DE102012004844B4 (de) * 2012-03-13 2018-05-17 Phoenix Contact Gmbh & Co. Kg System der Messwertüberwachung und Abschaltung bei Auftreten von Messwertabweichungen
JP6036089B2 (ja) * 2012-09-25 2016-11-30 日本電気株式会社 データ遷移トレース装置、データ遷移トレース方法、及び、データ遷移トレースプログラム
CN106294044B (zh) * 2016-08-09 2019-05-03 上海东软载波微电子有限公司 芯片内部寄存器的校验电路及芯片
DE102018115759B3 (de) * 2018-06-29 2019-08-29 Scheidt & Bachmann Gmbh Balisensteuerungsvorrichtung
CN113875160B (zh) * 2019-03-18 2024-07-23 弗雷德里克·奈卜克 用于超宽带(uwb)接收器的方法和系统

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BE793400A (fr) * 1972-03-13 1973-06-28 Siemens Ag Systeme de traitement de donnees commande par programme avec une exploitation parallele de deux unites identiques ou plus du systeme
DE2612100A1 (de) * 1976-03-22 1977-10-06 Siemens Ag Digitale datenverarbeitungsanordnung, insbesondere fuer die eisenbahnsicherungstechnik
US4358823A (en) * 1977-03-25 1982-11-09 Trw, Inc. Double redundant processor
DE3003291C2 (de) * 1980-01-30 1983-02-24 Siemens AG, 1000 Berlin und 8000 München Zweikanalige Datenverarbeitungsanordnung für Eisenbahnsicherungszwecke
DE3412049A1 (de) 1984-03-30 1985-10-17 Licentia Patent-Verwaltungs-Gmbh, 6000 Frankfurt Signaltechnisch sichere datenverarbeitungseinrichtung
JPS626263A (ja) * 1985-07-02 1987-01-13 Minolta Camera Co Ltd 積層型感光体
CH675781A5 (es) 1987-04-16 1990-10-31 Bbc Brown Boveri & Cie
DE3843564A1 (de) * 1988-12-23 1990-06-28 Standard Elektrik Lorenz Ag Verfahren zur ueberpruefung von verbindungs- und/oder schalteinrichtungen und/oder -leitungen
JPH02301836A (ja) * 1989-05-17 1990-12-13 Toshiba Corp データ処理システム
US5086429A (en) 1990-04-10 1992-02-04 Honeywell Inc. Fault-tolerant digital computing system with reduced memory redundancy
US5243607A (en) * 1990-06-25 1993-09-07 The Johns Hopkins University Method and apparatus for fault tolerance
US5226152A (en) * 1990-12-07 1993-07-06 Motorola, Inc. Functional lockstep arrangement for redundant processors
GB9205842D0 (en) 1992-03-18 1992-04-29 Marconi Gec Ltd Distributed processor arrangement
US5758058A (en) * 1993-03-31 1998-05-26 Intel Corporation Apparatus and method for initializing a master/checker fault detecting microprocessor
JPH07129426A (ja) * 1993-10-29 1995-05-19 Hitachi Ltd 障害処理方式
JPH07160521A (ja) * 1993-12-13 1995-06-23 Nec Corp 耐障害機能を有する情報処理装置
JPH07281915A (ja) * 1994-04-08 1995-10-27 Mitsubishi Electric Corp 集積回路モジュール同期2重系情報処理装置
DE19529434B4 (de) * 1995-08-10 2009-09-17 Continental Teves Ag & Co. Ohg Microprozessorsystem für sicherheitskritische Regelungen
JP3247043B2 (ja) * 1996-01-12 2002-01-15 株式会社日立製作所 内部信号で障害検出を行う情報処理システムおよび論理lsi
GB9705436D0 (en) * 1997-03-15 1997-04-30 Sharp Kk Fault tolerant circuit arrangements
US6247118B1 (en) * 1998-06-05 2001-06-12 Mcdonnell Douglas Corporation Systems and methods for transient error recovery in reduced instruction set computer processors via instruction retry
US7480242B2 (en) * 1998-11-24 2009-01-20 Pluris, Inc. Pass/drop apparatus and method for network switching node
US6601210B1 (en) * 1999-09-08 2003-07-29 Mellanox Technologies, Ltd Data integrity verification in a switching network
US6909923B2 (en) * 1999-12-22 2005-06-21 Rockwell Automation Technologies, Inc. Safety communication on a single backplane
GB0012352D0 (en) * 2000-05-22 2000-07-12 Northern Telecom Ltd Reliable hardware support for the use of formal languages in high assurance systems
US6985975B1 (en) * 2001-06-29 2006-01-10 Sanera Systems, Inc. Packet lockstep system and method
US6898738B2 (en) * 2001-07-17 2005-05-24 Bull Hn Information Systems Inc. High integrity cache directory
GB2399913B (en) * 2002-03-19 2004-12-15 Sun Microsystems Inc Fault tolerant computer system
EP1398701A1 (de) * 2002-09-12 2004-03-17 Siemens Aktiengesellschaft Verfahren zur Ereignissynchronisation, insbesondere für Prozessoren fehlertoleranter Systeme
EP1398700A1 (de) * 2002-09-12 2004-03-17 Siemens Aktiengesellschaft Verfahren und Schaltungsanordnung zur Synchronisation redundanter Verarbeitungseinheiten
EP1398699A1 (de) 2002-09-12 2004-03-17 Siemens Aktiengesellschaft Verfahren zur Ereignissynchronisation, insbesondere für Prozessoren fehlertoleranter Systeme
US7213168B2 (en) * 2003-09-16 2007-05-01 Rockwell Automation Technologies, Inc. Safety controller providing for execution of standard and safety control programs
US7353365B2 (en) * 2004-09-29 2008-04-01 Intel Corporation Implementing check instructions in each thread within a redundant multithreading environments
US7979833B2 (en) * 2004-10-23 2011-07-12 Lsi Corporation Debugging simulation of a circuit core using pattern recorder, player and checker
US7350026B2 (en) * 2004-12-03 2008-03-25 Thales Memory based cross compare for cross checked systems
US7617412B2 (en) * 2006-10-25 2009-11-10 Rockwell Automation Technologies, Inc. Safety timer crosscheck diagnostic in a dual-CPU safety system

Also Published As

Publication number Publication date
AU2006337907A1 (en) 2007-08-16
GB0602641D0 (en) 2006-03-22
ATE456091T1 (de) 2010-02-15
CA2641682C (en) 2015-04-21
AU2006337907B2 (en) 2012-05-31
US8386843B2 (en) 2013-02-26
NZ570745A (en) 2011-07-29
JP5203223B2 (ja) 2013-06-05
WO2007091005A1 (en) 2007-08-16
NO337469B1 (no) 2016-04-18
CA2641682A1 (en) 2007-08-16
EP1989624B1 (en) 2010-01-20
EP1989624A1 (en) 2008-11-12
DK1989624T3 (da) 2010-05-17
JP2009526299A (ja) 2009-07-16
US20100318851A1 (en) 2010-12-16
NO20083721L (no) 2008-11-05
DE602006011961D1 (de) 2010-03-11

Similar Documents

Publication Publication Date Title
TWI587173B (zh) 半導體積體電路
Radetzki et al. Methods for fault tolerance in networks-on-chip
US20070262787A1 (en) Soft error tolerant flip flops
ES2340720T3 (es) Sistema de tratamiento de datos redundante de alta velocidad.
US7702992B2 (en) Semiconductor integrated circuit with flip-flops having increased reliability
KR20210102740A (ko) 물리적 복제 방지 기능에 기초하여 키를 생성하는 보안 장치 및 이의 동작 방법
US10162702B2 (en) Segmented error coding for block-based memory
CN103413571B (zh) 存储器和利用该存储器实现检错纠错的方法
Fiorin et al. Fault-tolerant network interfaces for networks-on-Chip
CN109726030A (zh) 包括用于误差校正电路的响应管理器的存储器架构
Fu et al. Burst error detection hybrid ARQ with crosstalk-delay reduction for reliable on-chip interconnects
Sooraj et al. Hamming 3 algorithm for improving the reliability of SRAM based FPGAs
US9083331B2 (en) Data interface having an intrinsically safe, integrated error detection
US11132483B2 (en) Method and arrangement for forming an electronic circuit
CN103210588A (zh) 用于处理二进制输入值的电子电路装置
Di A framework on mitigating single event upset using delay-insensitive asynchronous circuits
Chen et al. A low cost method to tolerate soft errors in the NoC router control plane
US20160110241A1 (en) Apparatus, system and method for protecting data
Yu et al. Transient error management for partially adaptive router in network-on-chip (NoC)
ES2392749T3 (es) Sistema de ordenador para la evaluación de magnitudes de sensor críticas para la seguridad
Sannakki et al. Fault tolerance in network-on-chip by using single error correction and double error detection
US20120151281A1 (en) Apparatuses and methods for identification of external influences on at least one processing unit of an embedded system
ADINARAYANA et al. Error Detection in Decoding of Euclidean Geometry Low Density Parity Check (EG-LDPC) Codes
Dutta Synthesis for circuit reliability
Huemer Protecting 4-phase delay-insensitive communication against transient faults