ES2340720T3 - Sistema de tratamiento de datos redundante de alta velocidad. - Google Patents
Sistema de tratamiento de datos redundante de alta velocidad. Download PDFInfo
- 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
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/1629—Error detection by comparing the output of redundant processing systems
- G06F11/1641—Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
- G06F11/1645—Error 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.
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.
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.
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:
sigue:
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.
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)
| 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)
| 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 |
-
2006
- 2006-02-09 GB GBGB0602641.3A patent/GB0602641D0/en not_active Ceased
- 2006-12-15 US US12/223,843 patent/US8386843B2/en active Active
- 2006-12-15 ES ES06831395T patent/ES2340720T3/es active Active
- 2006-12-15 JP JP2008553811A patent/JP5203223B2/ja not_active Expired - Fee Related
- 2006-12-15 WO PCT/GB2006/004720 patent/WO2007091005A1/en not_active Ceased
- 2006-12-15 DE DE602006011961T patent/DE602006011961D1/de active Active
- 2006-12-15 DK DK06831395.6T patent/DK1989624T3/da active
- 2006-12-15 AT AT06831395T patent/ATE456091T1/de not_active IP Right Cessation
- 2006-12-15 EP EP06831395A patent/EP1989624B1/en active Active
- 2006-12-15 NZ NZ570745A patent/NZ570745A/en not_active IP Right Cessation
- 2006-12-15 CA CA2641682A patent/CA2641682C/en active Active
- 2006-12-15 AU AU2006337907A patent/AU2006337907B2/en active Active
-
2008
- 2008-08-29 NO NO20083721A patent/NO337469B1/no unknown
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 |