VERIFICACIÓN DE UN DECODIFICADOR DE DIRECCIONES.
Procedimiento para comprobar un codificador de direcciones de una memoria de datos,
en el que de un juego de direcciones de la memoria de datos, llamadas direcciones básicas, se selecciona consecutivamente cada dirección básica (S1) y para la dirección básica seleccionada en cada caso se ejecutan los siguientes pasos: a) determinación del contenido de la dirección básica (S2, S2a); y b) selección de una dirección con la distancia Hamming 1 a la dirección básica, llamada dirección Hamming (S4); a continuación: c) modificación del contenido de la dirección Hamming (S5, S5'a) seleccionada en el paso b); a continuación: d) lectura de la dirección básica y reconocimiento de un error del codificador de direcciones (S6, S6'), si el contenido leído se diferencia del determinado en el paso a); caracterizado por la e) restauración del contenido de la dirección Hammimg (S8, S8'), en donde al paso d) le sigue el paso e) y al paso e) un paso: f) lectura de la dirección básica y reconocimiento de un error del codificador de direcciones (S9), si el contenido leído se diferencia del leído en el paso a), en donde la modificación (S5) y el restablecimiento (S8) del contenido de la dirección Hamming se realiza en cada caso mediante inversión
Tipo: Patente Europea. Resumen de patente/invención. Número de Solicitud: E06117618.
Solicitante: ROBERT BOSCH GMBH.
Nacionalidad solicitante: Alemania.
Dirección: POSTFACH 30 02 20 70442 STUTTGART ALEMANIA.
Inventor/es: BOEHL,EBERHARD, SCHMIDT-GRETHE,KARSTEN, SEYDEL,GUNTER.
Fecha de Publicación: .
Fecha Solicitud PCT: 21 de Julio de 2006.
Fecha Concesión Europea: 22 de Septiembre de 2010.
Clasificación PCT:
- G11C29/02 FISICA. › G11 REGISTRO DE LA INFORMACION. › G11C MEMORIAS ESTATICAS (dispositivos semiconductores para memorias H01L, p. ej. H01L 27/108 - H01L 27/11597). › G11C 29/00 Verificación del funcionamiento correcto de memorias; Ensayo de memorias durante su funcionamiento fuera de línea (offline")o en espera ("standby"). › Detección o localización de circuitos auxiliares defectuosos, p. ej. contadores de refresco defectuosos.
Países PCT: Austria, Bélgica, Suiza, Alemania, Dinamarca, España, Francia, Reino Unido, Grecia, Italia, Liechtensein, Luxemburgo, Países Bajos, Suecia, Mónaco, Portugal, Irlanda, Eslovenia, Finlandia, Rumania, Chipre, Lituania, Letonia, Ex República Yugoslava de Macedonia, Albania.
Fragmento de la descripción:
Estado de la técnica
La presente invención se refiere a un procedimiento para comprobar la capacidad de funcionamiento de un decodificador de direcciones de una memoria de datos así como a un soporte de datos, que contiene indicaciones de programa que materializan el procedimiento y que pueden ejecutarse mediante un circuito controlado por programa.
Los errores en el decodificador de un módulo de memoria direccionable pueden tener un efecto devastador en aplicaciones esenciales para la seguridad, si por ejemplo como consecuencia de un error así se emite el contenido de una celda de memoria distinta a la direccionada, o si una celda de memoria se sobreescribe por descuido. Estos errores deben detectarse por ello lo antes posible una vez que se producen, para en un caso así detener la aplicación o al menos bloquear funciones esenciales para la seguridad, que podrían verse afectadas por el error.
Del documento DE 43 17 175 A se conoce un dispositivo de auto-comprobación para una memoria de datos, que permite detectar el acceso a dos o más celdas de memoria de una memoria de datos, que hay que achacar a un fallo de funcionamiento de un decodificador de direcciones asociado. Este dispositivo de auto-comprobación usual es capaz de detectar un error de decodificador justo en el momento de que se produzca por primera vez. Sin embargo, existe el inconveniente de que el dispositivo de auto-comprobación, debido a que acude a líneas de selección entre el decodificador de direcciones y una matriz de memoria de la memoria de datos, tiene que estar integrado junto con el decodificador y la matriz de memoria sobre un mismo sustrato semiconductor. Debido a que el dispositivo de auto-comprobación dispone de componentes de circuito específicos para el mismo, ocupa espacio sobre el sustrato semiconductor, lo que aumenta los costes de una memoria de datos dotada de un dispositivo de auto-comprobación. Este inconveniente de costes inherente conduce a que una memoria de datos de este tipo sólo se usa en aplicaciones especiales, que exigen un elevado grado de seguridad. Por ello se fabrica en cantidades claramente menores que una memoria de datos comparable por lo demás sin el dispositivo de auto-comprobación, de tal modo que el inconveniente de costes de la memoria de datos con el dispositivo de auto-comprobación es claramente mayor de lo que se corresponde con el uso frecuente de superficie de sustrato por parte del dispositivo de auto-comprobación.
Por ello existe la necesidad de soluciones que permitan verificar un decodificador de direcciones de una memoria de datos, sin que para ello sean necesarios componentes de circuito especializados.
Una solución conocida se basa en seleccionar, en el caso de un decodificador de direcciones con una anchura de n bits, todas las 2n direcciones diferentes que pueden representarse con los n bits de dirección, secuencialmente como una dirección básica, escribir el valor 1 en la dirección básica, escribir en todas las direcciones Hamming para esta dirección básica, es decir en aquellas direcciones que se diferencian exactamente en un bit de la dirección básica, el valor 0 y comprobar si se ha modificado el valor de la dirección básica. En este procedimiento existe el inconveniente de que el contenido de datos de la memoria comprobada se destruye después de la comprobación. Un procedimiento de este tipo puede aplicarse al iniciarse una aplicación, antes de que en la memoria se introduzcan datos relevantes, pero conduce después a un molesto retraso de inicio de la aplicación. Para evitar el retraso de inicio y reconocer errores que se producen mientras se desarrolla la aplicación, sería deseable llevar a cabo una prueba en tiempo real mientras está en marcha la aplicación. Para llevarlo a cabo en tiempo real, sin embargo, la prueba antes descrita sólo es adecuada si se conoce que el contenido de la memoria de datos ya no es necesaria, lo que sólo se dará en casos excepcionales.
Incluso si adicionalmente se dispone de espacio de memoria, en el que puede protegerse entretanto el contenido de la memoria de datos a verificar para posteriormente restablecerlo, es necesario asegurarse de que se disponga de tiempo suficiente para ejecutar la prueba, ya que si es necesario interrumpir la prueba para retomar el funcionamiento normal de la aplicación, en cualquier caso se necesita tiempo para restablecer el contenido original de la memoria de datos, tiempo que no siempre está disponible en el caso de aplicaciones en tiempo real.
Del documento Sachdev M, ISBN 0-8186-7423-7 se conocen técnicas de ensayo y ensayabilidad para errores “stuck-open” en decodificadores de direcciones RAM.
El documento EP 1001432 A1 hace patente un método para comprobar RAM mediante inversión.
Del documento Dillillo L et. Al., ISBN 0-7695-1951-2 se conoce la comparación entre condiciones de ensayo para errores “stuck-open” y errores “stuckopen” resistivos en decodificadores de direcciones SRAM.
Del documento Nadeau-Dostie B et. Al., ISSN 0740-7475 se conoce el acoplamiento en serie para la comprobación de memorias incrustadas.
Ventajas de la invención
Mediante la presente invención se crea un procedimiento para comprobar un decodificador de direcciones, que no requiere ningún componente de circuito especializado en la memoria de datos a comprobar y por ello en general puede aplicarse a cualquier tipo de memoria de datos, y que puede interrumpirse en intervalos de tiempo cortos y, por ello, es muy apropiado para aplicarse a un sistema en tiempo real en el que el tiempo disponible para llevar a cabo el procedimiento no pueda determinarse exactamente de antemano.
El procedimiento conforme a la invención se basa en general en que de un juego de direcciones de la memoria de datos, denominadas direcciones básicas, se selecciona consecutivamente cada dirección básica y para la dirección básica seleccionada en cada caso se ejecutan los siguientes pasos:
a) determinación del contenido de la dirección básica;
b) selección de una dirección con la distancia Hamming 1 a la dirección básica,
llamada dirección Hamming;
c) modificación del contenido de la dirección Hamming seleccionada en el paso
b);
d) lectura de la dirección básica y reconocimiento de un error del codificador de
direcciones, si el contenido leído se diferencia del determinado en el paso a);
y
e) restauración del contenido de la dirección Hammimg.
Un error de decodificador, que conduce durante la selección de una dirección Hamming simultáneamente al acceso a la dirección básica, puede reconocerse en que en el paso d) se determina una modificación del contenido de la dirección básica, que no debería producirse en el caso de funcionamiento adecuado. Debido a que los pasos a) a e) se ejecutan para cada dirección básica secuencialmente, después del tratamiento de una dirección básica se restablece al menos el contenido de las direcciones Hamming de forma fiel con el original, y se requiere, para poder interrumpir el procedimiento conforme a la ejecución, como máximo el restablecimiento del contenido de la dirección básica, si ésta se ha modificado mediante el paso a) de la determinación. Como se explica con precisión más adelante, existen configuraciones del procedimiento, en las que tiene lugar una modificación de este tipo, y otras que no precisan una modificación.
Si tanto la modificación de la dirección Hamming en el paso c) como su restablecimiento en el paso e), en el caso de una avería, puede llevar a una modificación del contenido de la dirección básica, es conveniente llevar a cabo el paso d) de la lectura de la dirección básica y del reconocimiento de un error antes del restablecimiento del contenido de la dirección Hamming en el paso e), así como un paso f) correspondiente de la lectura y del reconocimiento de error después del restablecimiento.
Este modo de proceder es conveniente si la modificación y el restablecimiento del contenido de la dirección Hamming se produce en cada caso mediante inversión. La modificación y el restablecimiento mediante inversión es en general conveniente, ya que no exige ninguna protección del contenido de las direcciones Hamming en otro espacio de memoria y, en consecuencia, este espacio de memoria no es necesario tenerlo preparado y no es necesario utilizar tiempo para la protección...
Reivindicaciones:
1. Procedimiento para comprobar un codificador de direcciones de una memoria de datos, en el que de un juego de direcciones de la memoria de datos, llamadas direcciones básicas, se selecciona consecutivamente cada dirección básica (S1) y para la dirección básica seleccionada en cada caso se ejecutan los siguientes pasos:
a) determinación del contenido de la dirección básica (S2, S2a); y b) selección de una dirección con la distancia Hamming 1 a la dirección básica, llamada dirección Hamming (S4); a continuación: c) modificación del contenido de la dirección Hamming (S5, S5'a) seleccionada en el paso b); a continuación:
d) lectura de la dirección básica y reconocimiento de un error del codificador de direcciones (S6, S6'), si el contenido leído se diferencia del determinado en el paso a); caracterizado por la
e) restauración del contenido de la dirección Hammimg (S8, S8'), en donde al paso d) le sigue el paso e) y al paso e) un paso: f) lectura de la dirección básica y reconocimiento de un error del codificador de
direcciones (S9), si el contenido leído se diferencia del leído en el paso a), en donde la modificación (S5) y el restablecimiento (S8) del contenido de la dirección Hamming se realiza en cada caso mediante inversión.
2. Procedimiento según la reivindicación 1, caracterizado porque los pasos b) a f) se repiten para varias direcciones Hamming asociadas a la dirección básica.
3. Procedimiento según una de las reivindicaciones anteriores, caracterizado porque la determinación del contenido de la dirección básica es una lectura (S2) de la dirección básica.
4. Procedimiento según una de las reivindicaciones anteriores, caracterizado porque el juego de direcciones básicas comprende todas las direcciones en el espacio de direcciones de la memoria de datos.
5. Procedimiento según una de las reivindicaciones 1 a 4, caracterizado porque las direcciones de la memoria de datos se componen de una primera y una segunda parte, y porque el juego de direcciones contiene cualquier valor posible de la primera parte al menos una vez.
6. Procedimiento según una de las reivindicaciones anteriores, caracterizado porque es ejecutado por un circuito controlado por programa.
- 12-
7. Soporte de datos, caracterizado porque en el mismo están registradas indicaciones de programa, que capacitan un circuito controlado por programa para llevar a cabo el procedimiento según la reivindicación 6.
Siguen dos hojas de dibujos.
Patentes similares o relacionadas:
Módulo de control para gestión de múltiples recursos de señales mixtas, del 18 de Diciembre de 2018, de INESC TEC - Instituto de Engenharia de Sistemas e Computadores, Tecnologia e Ciencia: Un módulo, designado por la presente como Configuración, Captura, Proceso y Exploración, definido posteriormente como módulo de SCPS, que […]