ES2285191T3 - Conjunto ordenado de procesadores. - Google Patents

Conjunto ordenado de procesadores. Download PDF

Info

Publication number
ES2285191T3
ES2285191T3 ES03765145T ES03765145T ES2285191T3 ES 2285191 T3 ES2285191 T3 ES 2285191T3 ES 03765145 T ES03765145 T ES 03765145T ES 03765145 T ES03765145 T ES 03765145T ES 2285191 T3 ES2285191 T3 ES 2285191T3
Authority
ES
Spain
Prior art keywords
row
buses
data
functionality
ordered set
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
ES03765145T
Other languages
English (en)
Inventor
William Robbins
Michael Davidson
Simon Howell
Anthony Peter John Claydon
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.)
Picochip Designs Ltd
Original Assignee
Picochip Designs 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 Picochip Designs Ltd filed Critical Picochip Designs Ltd
Application granted granted Critical
Publication of ES2285191T3 publication Critical patent/ES2285191T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2051Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant in regular structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8007Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
    • G06F15/8023Two dimensional arrays, e.g. mesh, torus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2038Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with a single idle spare processing component
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2041Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with more than one idle spare processing component

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Exchange Systems With Centralized Control (AREA)
  • Eye Examination Apparatus (AREA)
  • Hardware Redundancy (AREA)
  • Multi Processors (AREA)

Abstract

Un método para asignar funcionalidad a elementos procesadores (20) en un conjunto ordenado de procesadores, en el que el conjunto ordenado de procesadores comprende una pluralidad de elementos procesadores (20) dispuestos en un conjunto ordenado de filas y columnas, estando interconectados los elementos procesadores (20) por buses (32, 36, 41-44) que se extienden entre las filas y las columnas y mediante conmutadores (55) situados en las intersecciones de los buses (32, 36, 41-44), en el que, en el funcionamiento de dicha ordenación de procesadores, se transfieren datos durante intervalos de tiempo entre elementos procesadores (20) sobre buses horizontales (32-36) que se extienden entre las filas de elementos procesadores (20) y sobre buses verticales (41-44) que se extienden entre las columnas de elementos procesadores (20), comprendiendo el método: identificar una fila como una fila redundante a la que no se asigna funcionalidad inicialmente, de modo que en el caso en que se encuentre unprimer elemento procesador defectuoso, la funcionalidad puede ser eliminada de la fila que contiene dicho primer elemento de tratamiento, y puede ser asignada a la fila redundante; cuando se asigna funcionalidad a los elementos procesadores, de modo que los datos son programados para ser transferidos durante un primer intervalo de tiempo desde un primer elemento procesador en una primera fila a un segundo elemento procesador en una segunda fila, que es diferente de la primera fila, a través de uno de dichos conmutadores sin usar bus vertical alguno, reservando dicho intervalo de tiempo para transferir dichos datos programados sobre un segmento de un bus vertical que serían usados en el caso de una reasignación de funcionalidad siguiente a una determinación de que dicho primer elemento procesador o dicho segundo elemento procesador estaba averiado.

Description

Conjunto ordenado de procesadores.
Esta invención se refiere a un conjunto ordenado de procesadores, y en particular a un conjunto ordenado de procesadores con un grado de redundancia que permite que el conjunto ordenado funcione normalmente, incluso con la presencia de uno o más procesadores defectuosos.
El documento GB-A-2370380 describe un conjunto ordenado de procesadores en el que las funciones de tratamiento de datos están distribuidas entre los procesadores en un conjunto ordenado, estando enlazados los procesadores mediante buses y elementos de conmutación que determinan como se transfieren los datos de un elemento del conjunto ordenado a otro.
Los procedimientos de fabricación de dispositivos semiconductores son imperfectos. Estas imperfecciones originan defectos en puntos que están distribuidos sobre un disco de silicio. Para una densidad de defectos dada, si el tamaño del dado es mayor, entonces la proporción de dispositivos con defectos será mayor. Para la mayoría de los dispositivos semiconductores, si un defecto en cualquier lugar sobre el dado entonces el dado debe ser descartado, porque se requieren todos los circuitos en el dispositivo para el correcto funcionamiento.
Una excepción conocida a lo expuesto es lo que ocurre en el caso de dispositivos de memoria, tales como Memorias de Acceso Aleatorio (RAMs). En este caso, debido al volumen del dispositivo compuesto de un conjunto ordenado regular de celdas de memoria, columnas disponibles (redundantes) de celdas pueden ser incorporadas en el dispositivo las cuales pueden ser usadas para sustituir columnas cuyos defectos son detectados durante el ensayo. Para lograr la sustitución de las columnas defectuosas se incorporan conmutadores, controlados por medio de fusibles laséricos, en los circuitos. Estos fusibles son selectivamente fundidos como un resultado de la información obtenida partir del ensayo. Esto incrementa la proporción de dispositivos utilizables que puede ser obtenida de un disco.
El documento US 5.253.308 describe un conjunto ordenado de procesadores que incluye al menos una columna redundante. En el caso en que se detecta un defecto en un cierto elemento de tratamiento dentro de una columna de chips, una señal de derivación puede ser activada para esa columna de chips, y pasada funcionalmente a la fila redundante.
Una comunicación de Popli y Bayoumi ("Un conjunto ordenado de VLSI reconfigurable para la mejora de la fiabilidad y producción"), Actas de la Conferencia Internacional sobre Ordenaciones Sistólicas, San Diego CA, IEEE Comput. Soc. Proc., páginas 631 a 642) describe un esquema similar, mediante el cual el funcionamiento de un elemento de tratamiento defectuoso puede ser sustituido por el de un elemento de tratamiento adyacente no defectuoso.
La presente invención proporciona un conjunto ordenado de elementos de tratamiento, que puede incorporar un cierto grado de redundancia. Concretamente, el conjunto ordenado incluye una o más filas de elementos del conjunto ordenado redundantes, además del número requerido para poner en práctica la función o funciones a las que se destina el dispositivo. Si se produce un defecto en uno de los procesadores en el dispositivo, entonces la fila completa que incluye ese procesador defectuoso no se usa, y es sustituida por una fila de reserva.
Según un primer aspecto de la presente invención, se proporciona un método de asignación de funcionalidad a elementos procesadores en un conjunto ordenado de procesadores. El conjunto ordenado de procesadores comprende una pluralidad de elementos procesadores dispuestos en un conjunto ordenado de filas y columnas, estando los elementos procesadores interconectados por buses que se extienden entre las filas y columnas y mediante conmutadores situados en las intersecciones de los buses. En el funcionamiento del conjunto ordenado de procesadores, los datos son transferidos durante intervalos de tiempo entre elementos procesadores sobre buses horizontales que se extienden entre las filas de elementos procesadores y sobre buses verticales que se extienden entre las columnas de elementos procesadores. El método comprende identificar una fila como una fila redundante a la cual no se asigna inicialmente funcionalidad alguna, de modo que, en caso de que se halle que un primer elemento procesador es defectuoso, la funcionalidad puede eliminarse de la fila que contiene dicho primer elemento de tratamiento, y puede ser asignada en cambio a la fila redundante. Cuando se asigna una funcionalidad a los elementos procesadores, tales como datos son programados para ser transferidos durante un primer intervalo de tiempo desde un primer elemento procesador en una primera fila a un segundo elemento procesador en una segunda fila, que es diferente de la primera fila, por medio de uno de dichos conmutadores sin usar bus vertical alguno, dicho intervalo de tiempo se reserva para dicha transferencia de datos programada sobre un segmento de un bus vertical que debería usarse en el caso de una reasignación de la funcionalidad que sigue a una determinación de que cualquiera de dicho primer elemento procesador o de dicho segundo elemento procesador es defectuoso.
Esto permite que la funcionalidad requerida sea mantenida, incluso sobre un dispositivo que incluye un elemento procesador defectuoso. Esto puede aumentar significativamente la proporción de dispositivos utilizables que se obtienen a partir del procedimiento de fabricación.
Según un segundo aspecto de la presente invención, se proporciona un conjunto ordenado de procesadores para poner en práctica el método que se ha descrito anteriormente. En una realización preferida, pares de buses horizontales se extienden entre las filas de elementos procesadores, comprendiendo cada par un primer bus horizontal que transporta datos en una primera dirección y un segundo bus horizontal que transporta datos en una segunda dirección opuesta a la primera dirección; buses verticales se extienden entre las columnas de elementos procesadores, en los que algunos pares de columnas adyacentes de elementos procesadores no tienen buses verticales que corran entre ellos, y otros pares de columnas adyacentes tienen dos buses que transporten datos en una primera dirección y dos buses que transporten datos en una dirección opuesta a la primera dirección en la que se extienden entre ellos. En las intersecciones de los buses horizontales y verticales están situados conmutadores.
Esta ordenación, y en particular la disposición no uniforme de los buses verticales, permite el uso más eficiente del método según el primer aspecto de la invención.
Para una mejor comprensión de la presente invención, y para mostrar como se puede poner en práctica, se hace referencia ahora, a modo de ejemplo, a los dibujos que se acompañan, en los cuales:
la figura 1 es un diagrama esquemático de bloques de un conjunto ordenado según la presente invención;
la figura 2 es un diagrama esquemático de bloques de un conmutador dentro del conjunto ordenado de la figura 1;
la figura 3 es un diagrama esquemático de bloques ampliado de una parte del conjunto ordenado de la figura 1;
la figura 4 es una representación esquemática de un disco semiconductor usado para fabricar el conjunto ordenado de la figura 1;
la figura 5 es diagrama de bloques esquemático del conjunto ordenado de la figura 1, que muestra el efecto de un posible defecto;
las figuras 6 a 16 son diagramas esquemáticos de bloques ampliados de una parte del conjunto ordenado de la figura 1, que muestran el funcionamiento del dispositivo en el caso de posibles defectos.
La figura 1 muestra una arquitectura del conjunto ordenado de acuerdo con la presente invención. La arquitectura del conjunto ordenado se describe generalmente en los documentos GB-A-2370380 y GB-A-2370381, con modificaciones que se describirán más adelante en esta memoria.
El conjunto ordenado se compone de una pluralidad de elementos 20 del conjunto ordenado, dispuestos en una matriz. Para facilidad de ilustración, el ejemplo mostrado en la figura 1 tiene seis filas, compuesta cada una de diez elementos (AE0, AE1, ..., AE9), dando un total de 60 elementos del conjunto ordenado, pero una realización práctica de la invención puede tener por ejemplo más de 400 elementos del conjunto ordenado en total. Cada elemento 20 del conjunto ordenado, está conectado a un segmento de un respectivo primer bus 32 horizontal que se extiende de izquierda a derecha, y a un segmento de un respectivo segundo bus 36 horizontal que se extiende de derecha a izquierda, por medio de respectivos conectadores 50. Los segmentos 32, 36 de bus horizontal están conectados a segmentos 41, 43 de bus vertical que se extienden hacia arriba y a segmentos 42, 44 de bus vertical que se extienden hacia abajo, en conmutadores 55. Concretamente, cada conmutador 55 tiene un segmento 32 de bus horizontal de izquierda a derecha de entrada, un segmento 36 de bus horizontal de derecha a izquierda de entrada, dos segmentos 41, 43 de bus vertical hacia arriba de entrada, y dos segmentos 42, 44 de bus vertical hacia abajo de entrada, más un segmento 32 de bus horizontal de izquierda a derecha de salida, un segmento 36 de bus horizontal de derecha a izquierda de salida, dos segmentos 41, 43 de bus vertical hacia arriba de salida, y dos segmentos 42, 44 de bus vertical hacia abajo de salida.
Todos los segmentos 32, 36 de bus horizontal y los segmentos 41, 43, 42, 44 de bus vertical son de 32 bits de ancho.
Por tanto, aunque algunos pares de columnas adyacentes de elementos procesadores (por ejemplo, AE1 y AE2, AE6 y AE7) no tienen buses verticales que se extiendan entre ellos, otros pares de columnas adyacentes por ejemplo, AE4 y AE5, AE8 y AE9) tienen dos buses que transportan datos en una primera dirección y dos buses que transportan datos en una segunda dirección opuesta a la primera dirección que se extienden entre ambas. Esta disposición espaciada desigualmente, que proporciona dos pares de buses verticales después de un grupo de cuatro columnas de elementos del conjunto ordenado, en vez de, digamos, un par de buses verticales después de un grupo de dos columnas de elementos del conjunto ordenado, es más eficiente, por razones que se describirán más adelante.
La figura 2 muestra la estructura de uno de los conmutadores 55, siendo cada uno de los conmutadores lo mismo. El conmutador incluye una memoria RAM 61 de acceso aleatorio, que está precargada con datos. El conmutador 55 está controlado localmente por un controlador 60, que contiene un contador que cuenta a través de las direcciones de la RAM 61 en una secuencia predeterminada. Esta misma secuencia se repite indefinidamente, y el tiempo requerido para terminar la secuencia una vez, medido en ciclos del sistema de reloj, es denominado periodo de secuencia. En cada ciclo de reloj, los datos de salida de la RAM 61 se cargan dentro de un registro 62, y el contenido del registro 62 se usa para seleccionar la fuente para cada bus 66 de salida que usa el multiplexor 64.
La fuente para el bus 66 de salida puede ser uno cualquiera de los seis buses de entrada, es decir, el segmento "LeftIn" de bus horizontal de izquierda a derecha de entrada, el segmento "RightIn" de bus horizontal de derecha a izquierda de entrada, los dos segmentos "Up1In" y "Up2In" de bus verticales ascendentes de entrada, o los dos segmentos "Down1In" y "Down2In" de bus verticales descendentes de entrada. En adición, el valor cero puede ser seleccionado como la fuente para un bus de salida, como puede ser el valor que estuvo en el bus de salida durante un ciclo horario anterior, que está cargado en un registro 65 bajo el control de uno de los bits en el registro 62.
Cuando un bus de salida no se usa, es ventajoso seleccionar cero como la fuente, de modo que el valor en el bus permanezca sin cambios durante varios ciclos horarios, conservando potencia de ese modo.
En la figura 2, se muestra solamente un multiplexor 64 y su registro asociado 65, aunque el conmutador 55 incluye seis de tales multiplexores y registros asociados, uno para cada bus de salida.
El mayor componente del conmutador 55 es la RAM 61, aunque esta es todavía pequeña para los valores estándar de las RAMs generalmente. Por lo tanto, el tamaño de la RAM 61 se debe en gran parte a la sección de descodificación de direcciones de la RAM. Puesto que esta no depende del número de buses que se conmutan en el conmutador 55, el tamaño global del dispositivo puede ser reducido proporcionando dos pares de buses verticales, y un conmutador en cada fila, después de un grupo de cuatro columnas de elementos del conjunto ordenado, en comparación con proporcionar, digamos, un par de buses verticales, y un conmutador en cada fila, después de cada grupo de dos columnas de elementos del conjunto ordenado.
La figura 3 muestra con más detalle como se conecta cada elemento 20 del conjunto ordenado a los segmentos de los buses horizontales 32, 36 en un conectador 50. Cada uno de tales conectores 50 incluye un multiplexor 51, y un segmento del bus se define como la porción comprendida entre dos de tales multiplexores 51. Cada segmento de un bus horizontal 32 de izquierda a derecha está conectado a una entrada de un respectivo elemento 20 del conjunto ordenado por medio de una conexión 21. Una salida 22 de cada elemento 20 del conjunto ordenado está conectada a un respectivo segmento de un bus 36 horizontal de derecha a izquierda a través de otro multiplexor 51.
Cada multiplexor 51 está bajo el control de circuitos (no mostrados) situados dentro del elemento 20 del conjunto ordenado asociado, que determinan si el multiplexor aplica los datos sobre el segmento de bus de entrada o aplica los datos sobre la salida del elemento del conjunto ordenado.
Toda la comunicación tiene lugar dentro del conjunto ordenado en una secuencia predeterminada, que dura durante un número predeterminado (por ejemplo, 1024) de ciclos horarios (el periodo de secuencias que se describe anteriormente). Cada conmutador y cada elemento del conjunto ordenado contienen un contador que cuenta durante el periodo de la secuencia. Como se describe anteriormente, en cada ciclo de esta secuencia, cada conmutador selecciona datos de una de las ocho fuentes posibles sobre cada una de sus seis buses de salida. En ciclos predeterminados, elementos del conjunto ordenado cargan datos procedentes de los respectivos segmentos de los buses de entrada por medio de las respectivas conexiones 21, y datos de conmutación sobre los respectivos segmentos de buses de salida, usando los multiplexores 51.
Cada elemento del conjunto ordenado es capaz de controlar su multiplexor asociado, y cargas datos procedentes de los segmentos de los buses a los que está conectado en momentos correctos en la secuencia, y de realizar alguna función útil sobre los datos. La función útil puede consistir solamente en almacenar los datos.
No obstante, en una realización preferida de la invención, cada elemento del conjunto ordenado contiene un microprocesador complejo, cuya área es varias veces mayor que la de cada conmutador. Esta diferencia en el tamaño hace la presente invención, que trata de superar fallos en los elementos del conjunto ordenado en vez de en los conmutadores, particularmente eficaz.
Si los elementos del conjunto ordenado no son todos idénticos entonces, para que la presente invención pueda ser usada más eficientemente, al menos dentro de cada columna del conjunto ordenado, todos los elementos del conjunto ordenado deben ser idénticos.
Los procedimientos de fabricación para dispositivos semiconductores son imperfectos. Esto origina defectos en puntos que están distribuidos sobre un disco de silicio. Para un procedimiento de fabricación dado en un estado dado de madurez esta densidad de defectos será más o menos constante. Esto se ilustra en la figura 4, que muestra el contorno de un disco 60 de silicio circular, el dado 61 de caras cuadradas individuales que se usa para fabricar dispositivos individuales, y los defectos 62 distribuidos aleatoriamente.
Para una densidad de defectos dada, si el tamaño de dado es mayor, entonces la proporción de dispositivos con defectos será mayor.
Para la mayoría de los dispositivos semiconductores, si existe un defecto en cualquier lugar en el dado entonces el dado debe ser descartado, porque se requieren todos los circuitos en el dispositivo para el correcto funcionamiento.
De acuerdo con la presente invención, el conjunto ordenado de elementos de tratamiento incorpora un cierto grado de redundancia. Más concretamente, una o más filas de reserva (redundantes) de elementos del conjunto ordenado, sobre y por encima del número requerido para ejecutar la función o funciones requeridas del dispositivo, están incluidas en el conjunto ordenado. Si se produce un defecto en uno de los elementos de tratamiento, ya sea durante la fabricación o en el funcionamiento del dispositivo, entonces la fila completa de elementos del conjunto ordenado que incluye el elemento de tratamiento defectuoso no se usa, y es sustituida por una fila de reserva.
Puesto que los elementos del conjunto ordenado dentro de una columna son todos idénticos, como se ha mencionado anteriormente, las filas de elementos del conjunto ordenado son idénticas, y toda la funcionalidad de la fila que incluye el elemento de tratamiento defectuoso puede ser ejecutada por la fila de reserva.
La figura 5 muestra un conjunto ordenado de elementos de tratamiento como se muestra en la figura 1, con las seis filas indicadas como Fila n (n = 0, ..., 5), y los diez elementos del conjunto ordenado en cada fila indicados como AEnm (m = 0, ..., 9). Si se detecta un defecto en cualquiera de los elementos del conjunto ordenado en la fila 2, por ejemplo, entonces no se usa la fila completa de elementos del conjunto ordenado. Con más detalle, si la Fila 5 estaba originalmente destinada a ser la fila de reserva, y el procedimiento de ensayo de la producción detecta un defecto en un elemento del conjunto ordenado en la Fila 2, entonces los programas de software que de otra manera habrían sido cargados en los elementos del conjunto ordenado de la Fila 2 son cargados en elementos del conjunto ordenado correspondientes de la Fila 3; los programas de software que de otra manera habrían sido cargados en los elementos del conjunto ordenado de la Fila 3 se cargan en los elementos correspondientes del conjunto ordenado de la Fila 4; y los programas de software que de otra manera habrían sido cargados en los elementos del conjunto ordenado de la Fila 4 se cargan en los elementos del conjunto ordenado correspondientes de la Fila 5.
Designando el programa de software que fue destinado originalmente para uno cualquiera de los elementos AEnm del conjunto ordenado como Prognm, la completa redistribución de los programas se define a continuación.
1
En adición a la redistribución del programa que se ejecuta sobre los elementos del conjunto ordenado, los contenidos de las RAMs en los conmutadores deben ser también cambiados, de modo que los datos sean transferidos a los elementos del conjunto ordenado que ahora los usarán. Como puede verse en la tabla anterior, los programas son redistribuidos de tal manera que los programas que se ejecutan sobre elementos del conjunto ordenado anteriores a la fila con el elemento defectuoso del conjunto ordenado se ejecutan sobre los mismos elementos del conjunto ordenado, mientras que los programas que se ejecutan sobre elementos del conjunto ordenado que están en la fila o por debajo de la fila con el elemento del conjunto ordenado defectuoso se ejecutan sobre el elemento del conjunto ordenado correspondiente en la fila inferior a su fila original. De la misma manera, por lo tanto, las RAMs son reprogramadas de modo que las rutas tomadas por los datos descienden con la fila defectuosa y las filas bajo esta, y permanecen en los mismos lugares en la fila situada encima de la fila defectuosa. Cuando las rutas empiezan o terminan en la fila defectuosa o pasan a través de la ruta defectuosa, la situación es ligeramente más compleja. Todos los casos se describirán con ayuda de la figura 6, que muestra una vista detallada de parte del conjunto ordenado de la figura 5, y también de las figuras 7 a 16, que muestran ejemplos concretos de las exigencias para reprogramar los conmutadores.
Como se ilustra en la figura 5, se supone que uno de los elementos del conjunto ordenado en la Fila 2 ha fallado, y por tanto que todos los elementos del conjunto ordenado en esa fila ya no se usan más. Concretamente, haciendo referencia a la figura 6, los programas que se habrían ejecutado en AE24, AE25 y AE26 son transferidos a AE34, AE35 y AE36, respectivamente. De modo similar los programas que se habrían ejecutado sobre AE34, AE35 y AE36, son transferidos a AE44, AE45 y AE46, y así sucesivamente. En las figuras 7 a 16, las líneas de puntos en negrilla indican recursos (conectadores, conmutadores o multiplexores) que se usan en la configuración original (exentos de defectos), las dobles líneas indican recursos que se usan en la nueva configuración y las líneas continuas en negrilla indican recursos que se usan en ambas, las configuraciones original y nueva.
Los datos son reencaminados según las reglas que se establecen más adelante.
Para una ruta horizontal situada por encima de la fila averiada no hay cambios.
Para una ruta horizontal sobre la fila averiada o debajo de esta, todo el encaminamiento se mueve hacia abajo una fila. Esto se ilustra en la figura 7, que muestra que una ruta de AE24 a AE25, a través de los segmentos 80 y 81 de bus y el conmutador SW21, es movida a una ruta desde AE34 a AE35, a través de los segmentos 88 y 89 de bus y el conmutador SW31.
Las rutas que se extienden completamente por encima de la ruta averiada no son afectadas, como se ilustra en la figura 8.
Las rutas que se extienden completamente por debajo de la fila averiada se mueven todas una fila hacia abajo, del mismo modo que las rutas horizontales, como se ha descrito anteriormente.
Las rutas que van a la fila averiada desde abajo son manipuladas de la misma manera que las rutas que se extienden completamente por debajo de la fila averiada y esto se ilustra en la figura 9. Esta muestra que una ruta de AE35 a AE25, a través del segmento 95 de bus, conmutador SW41, segmento 91 de bus, conmutador SW31, segmento 83 de bus, conmutador SW21, y segmento 81 de bus es movida a una ruta desde AE45, a AE35, a través del segmento 105 de bus, conmutador SW51, segmento 101 de bus, conmutador SW41, segmento 91 de bus, segmento SW31, y segmento 89 de bus.
Las rutas que van a la fila averiada desde arriba, donde la ruta original contiene al menos un segmento de bus vertical requieren que la ruta vertical deba ser extendida hacia abajo mediante un conmutador más. Esto se ilustra en la figura 10. Esta muestra una ruta parcial, desde el conmutador SW11, a AE25, a través del segmento 73 de bus, el conmutador SW21, y segmento 81 de bus, que se extiende desde el conmutador SW21, al AE35, por medio del segmento 85 de bus, conmutador SW31, y segmento 89 de bus.
Las rutas a la fila averiada desde la fila situada encima de la fila averiada que no usan segmentos de bus verticales constituyen un caso especial. Concretamente, como se ilustra en la figura 11, la ruta original no contiene segmentos de bus verticales existentes que se extiendan, a diferencia del ejemplo mostrado en la figura 10. Como un resultado, una nueva sección vertical debe ser insertada. Esto podría conducir a un problema potencial, pues el segmento de bus vertical que se requiere para la nueva ruta puede haber sido ya asignado a otra ruta durante el intervalo de tiempo requerido.
Por lo tanto, cuando se asignan rutas, esta exigencia debe ser tenida en cuenta. Concretamente, cuando se planifica cualquier ruta que va de una fila a otra sin usar segmento de bus vertical alguno, el sistema debe reservar una conexión sobre el segmento de bus que será requerida en el caso de una avería en la inferior de las dos filas.
La disposición espaciada irregularmente de los buses verticales, descrita anteriormente, en la cual se proporcionan dos pares de buses verticales después de cada grupo de cuatro columnas de elementos del conjunto ordenado, permite que estas conexiones sean reservadas más eficazmente en comparación con una alternativa de espaciamiento más uniforme en la que, digamos, se proporciona un par de buses verticales después de cada grupo de dos columnas de elementos del conjunto ordenado.
En la figura 11, la ruta desde el elemento AE15 del conjunto ordenado al elemento AE25 del conjunto ordenado, a través del segmento 75 de bus, conmutador SW21, y segmento 81 de bus, es movida de modo que el segmento 81 de bus no se usa y la ruta desde el conmutador SW21 se extiende hasta el elemento AE35 del conjunto ordenado, a través del segmento 85 de bus vertical, conmutador SW31, y segmento 89 de bus. Una conexión sobre el segmento 85 de bus (o sobre el otro segmento 82 de bus que se extiende desde el conmutador SW21 a SW31) debe ser reservada durante ese intervalo de tiempo por el procedimiento de asignación de ruta original.
Las rutas que parten de la fila averiada y van hacia abajo, como se muestra en la figura 12, son manipuladas del mismo modo que las rutas que se extienden completamente debajo de la fila averiada. Por ejemplo, una ruta desde el elemento AE25 del conjunto ordenado al AE35, a través del segmento 87 de bus, conmutador SW31, y segmento 89 de bus, es movida a una ruta desde el elemento AE35 del conjunto ordenado al AE45, a través del segmento 95 de bus, conmutador SW41, y segmento 107 de bus.
Se ha de tener en cuenta que, en este caso, aunque la ruta original no incluye sección alguna de un bus vertical, tampoco lo hace la ruta sustitutiva. Como un resultado, esta no conduce al problema potencial descrito con referencia a la figura 11.
Rutas procedentes de la fila averiada y ascendentes, en las que la ruta original incluye al menos un segmento de bus vertical, se extienden mediante un segmento de bus vertical como se ilustra en la figura 13. Aquí, una ruta desde el elemento AE25 al AE15, a través del segmento 87 de bus, conmutador SW31, segmento 83 de bus, conmutador SW21, segmento 71 de bus y conmutador SW11, está alterada de modo que empieza en el elemento AE35 del conjunto ordenado, y está encaminada a SW31 a través del segmento 95 de bus, conmutador SE41, y segmento 91 de bus, después de lo cual continúa como antes a AE15.
Una ruta desde la fila averiada, a la fila superior, que no usa segmento de bus vertical alguno, se ilustra en la figura 14. Este caso es análogo al mostrado en la figura 11, anteriormente. Concretamente, una ruta desde el elemento AE24 del conjunto ordenado al AE14 a través del segmento 80 de bus, conmutador SW21 y segmento 74 de bus es reemplazada por una ruta desde el elemento AE34 del conjunto ordenado a AE14 a través del segmento 88 de bus, conmutador SW31, segmento 84 de bus, conmutador SW21 y segmento 74 de bus. Por tanto, una conexión sobre el segmento 84 de bus (o sobre el otro segmento 83 de bus que se extiende desde el conmutador SW31 al SW21) debe ser reservada durante ese intervalo de tiempo mediante el procedimiento de asignación de ruta original, para evitar la posibilidad de contención.
Rutas que cruzan la fila averiada se muestran en la figura 15 (que se extiende hacia arriba) y la figura 16 (que se extiende hacia abajo). En estos casos, las asignaciones de todos los segmentos de bus verticales debajo de la fila averiada se mueven hacia abajo una fila, y un segmento de bus extra se asigna en la fila averiada.
El procedimiento de determinación del contenido requerido de la RAM 61 de cada conmutador, en cada uno de los casos anteriores, será evidente para un experto en la técnica.
La descripción anterior muestra como puede ser sustituida una fila averiada única por una fila de reserva. Si se incluyen dos filas de reserva en el conjunto ordenado, entonces pueden ser sustituidas dos filas averiadas. El procedimiento es exactamente el mismo que se ha descrito anteriormente, pero se repite dos veces. En primer lugar, se sustituye la fila averiada más alta, ignorando que hay una segunda fila averiada. Luego se sustituye la fila inferior. En principio, puede ser reparado cualquier número de filas averiadas de la misma manera, aunque una restricción práctica en el número de sustituciones radica en que, puesto que las rutas verticales pueden alargarse después de cada fila que se sustituye (puesto que la ruta es "estirada" eficazmente sobre la fila averiada), esto incrementa el tiempo de tránsito para los datos. Eventualmente, el tiempo de tránsito incrementado significaría que los datos no pueden ser procesados con el régimen requerido.
Si los fallos se detectan como parte del ensayo de producción, la información acerca de las filas que contienen averías puede ser usada para fundir los fusibles laséricos en los dispositivos que se ensayan. El procedimiento que carga los programas sobre los elementos del conjunto ordenado y manipula los datos en las RAMs de los conmutadores puede usar esta información en el momento en que se configura el conjunto ordenado. Alternativamente, el método aquí descrito puede ser usado para reparar fallos que se produzcan durante el funcionamiento en el campo. En este caso, los fallos en el conjunto ordenado pueden ser detectados haciendo funcionar un software de ensayo sobre los elementos del conjunto ordenado.
El método y el aparato se describen en esta memoria básicamente con referencia a una disposición en la que los elementos procesadores incluyen microprocesadores. Como se ha indicado anteriormente, los elementos procesadores pueden ser simplemente capaces de almacenar datos. Inversamente, cada elemento procesador puede por sí mismo contener un conjunto ordenado de menores elementos procesadores.

Claims (7)

1. Un método para asignar funcionalidad a elementos procesadores (20) en un conjunto ordenado de procesadores, en el que el conjunto ordenado de procesadores comprende una pluralidad de elementos procesadores (20) dispuestos en un conjunto ordenado de filas y columnas, estando interconectados los elementos procesadores (20) por buses (32, 36, 41-44) que se extienden entre las filas y las columnas y mediante conmutadores (55) situados en las intersecciones de los buses (32, 36, 41-44), en el que, en el funcionamiento de dicha ordenación de procesadores, se transfieren datos durante intervalos de tiempo entre elementos procesadores (20) sobre buses horizontales (32-36) que se extienden entre las filas de elementos procesadores (20) y sobre buses verticales (41-44) que se extienden entre las columnas de elementos procesadores (20), comprendiendo el método:
identificar una fila como una fila redundante a la que no se asigna funcionalidad inicialmente, de modo que en el caso en que se encuentre un primer elemento procesador defectuoso, la funcionalidad puede ser eliminada de la fila que contiene dicho primer elemento de tratamiento, y puede ser asignada a la fila redundante;
cuando se asigna funcionalidad a los elementos procesadores, de modo que los datos son programados para ser transferidos durante un primer intervalo de tiempo desde un primer elemento procesador en una primera fila a un segundo elemento procesador en una segunda fila, que es diferente de la primera fila, a través de uno de dichos conmutadores sin usar bus vertical alguno, reservando dicho intervalo de tiempo para transferir dichos datos programados sobre un segmento de un bus vertical que serían usados en el caso de una reasignación de funcionalidad siguiente a una determinación de que dicho primer elemento procesador o dicho segundo elemento procesador estaba averiado.
2. Un método según la reivindicación 1, que comprende además:
en el caso en que dicho primer elemento procesador sea encontrado defectuoso, asignar la funcionalidad, eliminada de la fila que contiene dicho primer elemento procesador, a una fila adyacente; y reasignar la funcionalidad de la fila adyacente, a una fila más, adyacente a esta, como se requiera hasta que la funcionalidad haya sido asignada a la fila redundante.
3. Un método según las reivindicaciones 1 ó 2, en el que la fila redundante está situada en un borde del conjunto ordenado.
4. Un conjunto ordenado de procesadores, que comprende:
una pluralidad de elementos procesadores (20) dispuestos en un conjunto ordenado de filas y columnas; buses (32, 36, 41-44) que se extienden entre las filas y las columnas; y
conmutadores (55) situados en las intersecciones de los buses (32, 36, 41-44),
en la que los elementos procesadores (20) están interconectados por los buses (32, 36, 41-44) y los conmutadores (55)
en la que el conjunto ordenado de procesadores está destinada a transferir datos durante intervalos de tiempo entre elementos procesadores (20) sobre buses horizontales (32, 36) que se extienden entre las filas de elementos procesadores (20) y sobre buses verticales (41-44) que se extienden entre las columnas de elementos procesadores (20),
en la que una fila se identifica como una fila redundante a la que inicialmente no se le asigna funcionalidad alguna, de modo que, en el caso en que un primer elemento de procesador se encuentre defectuoso, la funcionalidad puede ser eliminada de la fila que contiene dicho primer elemento procesador y puede ser asignada en cambio a la fila redundante; y
en la que, cuando se asigna funcionalidad a los elementos procesadores, de modo que se programan datos para ser transferidos durante un primer intervalo de tiempo desde un primer elemento procesador en una primera fila a un segundo elemento procesador en una segunda fila, que es diferente de la primera fila, por medio de uno de dichos conmutadores sin usar bus vertical alguno, el conjunto ordenado de procesadores está destinada a reservar dicho intervalo de tiempo para dicha transferencia de datos programada sobre un segmento de un bus vertical que sería usado en el caso de una reasignación de funcionalidad que siga a una determinación de que dicho primer elemento procesador y dicho segundo elemento procesador son defectuosos.
5. Un conjunto ordenado de procesadores según la reivindicación 4,
en la que la disposición de los elementos procesadores en cada fila es la misma que en las disposiciones de elementos procesadores en cada una de las otras filas,
en la que dichos buses horizontales (32, 36) comprenden pares de buses horizontales que se extienden entre las filas de elementos procesadores (20), comprendiendo cada par un primer bus horizontal que transporta datos en una primera dirección y un segundo bus horizontal que transporta datos en una segunda dirección opuesta a la primera dirección,
en la que algunos pares de columnas adyacentes de elementos procesadores no tienen buses verticales (41-44) que se extiendan entre ambas, y otros pares de columnas adyacentes tienen dos buses (41, 43) que son portadores de datos en una primera dirección y dos buses (42, 44) que son portadores de datos en una segunda dirección opuesta a la primera dirección que se extienden entre ambas, y
en el que dichos conmutadores (55) están situados en la intersección de los buses horizontales y verticales.
6. Un conjunto ordenado de procesadores según la reivindicación 5, en la que cada conmutador (55) comprende:
una pluralidad de buses de entrada y una pluralidad de buses de salida;
un dispositivo (61) de memoria, que almacena información en cada dirección de memoria de la misma, indicando que datos han de ser conmutados sobre cada uno de los buses de salida; y
un controlador (60), para contar a través de las direcciones del dispositivo (61) de memoria en una secuencia predeterminada.
7. Un conjunto ordenado de procesadores según la reivindicación 6, en la que el dispositivo (61) de memoria almacena información que indica si el dato que ha de ser conmutado sobre cada uno de los buses de salida es:
el valor de dato sobre uno de los buses de entrada;
el valor de dato anterior sobre dicho bus de salida; o
el valor cero.
ES03765145T 2002-07-19 2003-06-27 Conjunto ordenado de procesadores. Expired - Lifetime ES2285191T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB0216880A GB2391083B (en) 2002-07-19 2002-07-19 Processor array
GB0216880 2002-07-19

Publications (1)

Publication Number Publication Date
ES2285191T3 true ES2285191T3 (es) 2007-11-16

Family

ID=9940825

Family Applications (1)

Application Number Title Priority Date Filing Date
ES03765145T Expired - Lifetime ES2285191T3 (es) 2002-07-19 2003-06-27 Conjunto ordenado de procesadores.

Country Status (11)

Country Link
US (1) US7549081B2 (es)
EP (1) EP1535192B1 (es)
JP (1) JP4467430B2 (es)
CN (1) CN100416545C (es)
AT (1) ATE362139T1 (es)
AU (1) AU2003250383A1 (es)
DE (1) DE60313781T2 (es)
ES (1) ES2285191T3 (es)
GB (2) GB2417586B (es)
TW (1) TWI314682B (es)
WO (1) WO2004010321A2 (es)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2370380B (en) 2000-12-19 2003-12-31 Picochip Designs Ltd Processor architecture
CN1310133C (zh) * 2004-08-04 2007-04-11 联合信源数字音视频技术(北京)有限公司 一种视频图象象素插值装置
GB2454865B (en) 2007-11-05 2012-06-13 Picochip Designs Ltd Power control
GB2457309A (en) 2008-02-11 2009-08-12 Picochip Designs Ltd Process allocation in a processor array using a simulated annealing method
GB2457310B (en) * 2008-02-11 2012-03-21 Picochip Designs Ltd Signal routing in processor arrays
WO2009145916A1 (en) * 2008-05-30 2009-12-03 Advanced Micro Devices, Inc. Redundancy methods and apparatus for shader column repair
US20090309896A1 (en) 2008-05-30 2009-12-17 Advanced Micro Devices, Inc. Multi Instance Unified Shader Engine Filtering System With Level One and Level Two Cache
GB2466661B (en) * 2009-01-05 2014-11-26 Intel Corp Rake receiver
GB2470037B (en) 2009-05-07 2013-07-10 Picochip Designs Ltd Methods and devices for reducing interference in an uplink
GB2470771B (en) 2009-06-05 2012-07-18 Picochip Designs Ltd A method and device in a communication network
GB2470891B (en) 2009-06-05 2013-11-27 Picochip Designs Ltd A method and device in a communication network
GB2474071B (en) 2009-10-05 2013-08-07 Picochip Designs Ltd Femtocell base station
GB2482869B (en) 2010-08-16 2013-11-06 Picochip Designs Ltd Femtocell access control
US8688957B2 (en) * 2010-12-21 2014-04-01 Intel Corporation Mechanism for conflict detection using SIMD
GB2489716B (en) 2011-04-05 2015-06-24 Intel Corp Multimode base system
GB2489919B (en) 2011-04-05 2018-02-14 Intel Corp Filter
GB2491098B (en) 2011-05-16 2015-05-20 Intel Corp Accessing a base station
JP2014016894A (ja) * 2012-07-10 2014-01-30 Renesas Electronics Corp 並列演算装置、並列演算装置を備えたデータ処理システム、及び、データ処理プログラム
US8990616B2 (en) * 2012-09-28 2015-03-24 International Business Machines Corporation Final faulty core recovery mechanisms for a two-dimensional network on a processor array
US9160617B2 (en) 2012-09-28 2015-10-13 International Business Machines Corporation Faulty core recovery mechanisms for a three-dimensional network on a processor array
US9411584B2 (en) 2012-12-29 2016-08-09 Intel Corporation Methods, apparatus, instructions, and logic to provide vector address conflict detection functionality
US9411592B2 (en) 2012-12-29 2016-08-09 Intel Corporation Vector address conflict resolution with vector population count functionality
US20140244218A1 (en) * 2013-02-25 2014-08-28 International Business Machines Corporation Architecture optimization
TWI490784B (zh) * 2013-05-16 2015-07-01 Wistron Neweb Corp 功能模組管理方法及電子系統
US10552740B2 (en) 2014-11-10 2020-02-04 International Business Machines Corporation Fault-tolerant power-driven synthesis
CN107547451B (zh) * 2017-05-31 2020-04-03 新华三信息技术有限公司 一种多路服务器、cpu连接方法及装置
JP6926708B2 (ja) * 2017-06-14 2021-08-25 住友電気工業株式会社 車載通信システム、スイッチ装置、通信制御方法および通信制御プログラム
KR20200047551A (ko) 2017-07-30 2020-05-07 뉴로블레이드, 리미티드. 메모리 기반 분산 프로세서 아키텍처
US12067472B2 (en) 2018-03-30 2024-08-20 International Business Machines Corporation Defect resistant designs for location-sensitive neural network processor arrays
US10691632B1 (en) * 2019-03-14 2020-06-23 DeGirum Corporation Permutated ring network interconnected computing architecture
CN112820202B (zh) * 2019-10-30 2023-03-28 海信视像科技股份有限公司 一种显示装置及其显示方法
US20230237011A1 (en) * 2022-01-21 2023-07-27 Nvidia Corporation Mapping logical and physical processors and logical and physical memory

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US174318A (en) * 1876-02-29 Improvement in safety hoisting apparatus
US4389715A (en) * 1980-10-06 1983-06-21 Inmos Corporation Redundancy scheme for a dynamic RAM
JPS58137192A (ja) * 1981-12-29 1983-08-15 Fujitsu Ltd 半導体記憶装置
GB2129585B (en) * 1982-10-29 1986-03-05 Inmos Ltd Memory system including a faulty rom array
DE3681463D1 (de) * 1985-01-29 1991-10-24 Secr Defence Brit Verarbeitungszelle fuer fehlertolerante matrixanordnungen.
GB8612454D0 (en) * 1986-05-22 1986-07-02 Inmos Ltd Redundancy scheme for multi-stage apparatus
US5253308A (en) * 1989-06-21 1993-10-12 Amber Engineering, Inc. Massively parallel digital image data processor using pixel-mapped input/output and relative indexed addressing
HU900629D0 (en) * 1990-02-01 1990-04-28 Cellware Mikroelektronikai Kut Cicuit arrangement for inhomogen operating processors with homogen structure and cellular building
US6408402B1 (en) * 1994-03-22 2002-06-18 Hyperchip Inc. Efficient direct replacement cell fault tolerant architecture
JP3345626B2 (ja) * 1994-09-29 2002-11-18 富士通株式会社 マルチプロセッサシステムにおけるプロセッサ異常対策装置およびマルチプロセッサシステムにおけるプロセッサ異常対策方法
US5795797A (en) * 1995-08-18 1998-08-18 Teradyne, Inc. Method of making memory chips using memory tester providing fast repair
DE19907567B4 (de) * 1999-02-22 2007-08-09 Forschungszentrum Jülich GmbH Verfahren zur mikrobiellen Herstellung von L-Valin
GB2348976A (en) * 1999-04-09 2000-10-18 Pixelfusion Ltd Single instruction multiple data array
EP1181648A1 (en) * 1999-04-09 2002-02-27 Clearspeed Technology Limited Parallel data processing apparatus
FR2795839B1 (fr) * 1999-07-02 2001-09-07 Commissariat Energie Atomique Procede de reconfiguration applicable a un reseau d'elements fonctionnels identiques
US6681341B1 (en) * 1999-11-03 2004-01-20 Cisco Technology, Inc. Processor isolation method for integrated multi-processor systems
GB2370380B (en) * 2000-12-19 2003-12-31 Picochip Designs Ltd Processor architecture

Also Published As

Publication number Publication date
ATE362139T1 (de) 2007-06-15
GB0216880D0 (en) 2002-08-28
US7549081B2 (en) 2009-06-16
JP2005534091A (ja) 2005-11-10
EP1535192A2 (en) 2005-06-01
GB2417586A (en) 2006-03-01
DE60313781T2 (de) 2008-01-24
CN100416545C (zh) 2008-09-03
DE60313781D1 (de) 2007-06-21
TW200417853A (en) 2004-09-16
GB2391083B (en) 2006-03-01
US20050257105A1 (en) 2005-11-17
WO2004010321A2 (en) 2004-01-29
EP1535192B1 (en) 2007-05-09
GB2391083A (en) 2004-01-28
WO2004010321A3 (en) 2005-03-31
TWI314682B (en) 2009-09-11
CN1675633A (zh) 2005-09-28
GB2417586B (en) 2007-03-28
JP4467430B2 (ja) 2010-05-26
GB0520346D0 (en) 2005-11-16
AU2003250383A1 (en) 2004-02-09

Similar Documents

Publication Publication Date Title
ES2285191T3 (es) Conjunto ordenado de procesadores.
US7381986B2 (en) Arrangement for testing semiconductor chips while incorporated on a semiconductor wafer
US5825197A (en) Means and apparatus to minimize the effects of silicon processing defects in programmable logic devices
JP3865789B2 (ja) インタリーブされた入力回路を備えるプログラマブル論理装置のための冗長回路
US5485102A (en) Programmable logic devices with spare circuits for replacement of defects
US4937475A (en) Laser programmable integrated circuit
US9651615B2 (en) Design-for-test techniques for a digital electronic circuit
KR970076848A (ko) 집적 회로 메모리
EP1170666A2 (en) On-line fault tolerant operation via incremental reconfiguration of field programmable gate arrays
KR100630519B1 (ko) 디멘젼프로그램가능퓨즈뱅크및그것의제조방법
KR940012388A (ko) 수율이 향상되는 반도체메모리장치 및 그 쎌어레이 배열방법
KR940022583A (ko) 병렬비트테스트모드내장 반도체 메모리
KR20010007088A (ko) 반도체 기억 장치를 위한 시험 장치
WO1987003716A2 (en) Fault tolerant memory system
US6898143B2 (en) Sharing fuse blocks between memories in hard-BISR
US5287345A (en) Data handling arrays
KR100529743B1 (ko) 메모리의 불량구제해석 처리방법 및 이 방법을 실시하는메모리 시험장치
EP0819276A1 (en) Memory management
US5185720A (en) Memory module for use in a large reconfigurable memory
US20170205464A1 (en) Design-for-Test Techniques for a Digital Electronic Circuit
US20060085777A1 (en) Compact custom layout for RRAM column controller
KR940016815A (ko) 반도체 기억 장치
KR100565410B1 (ko) 리던던시 기능을 갖는 반도체 장치
JPH0785233B2 (ja) 中間記憶システム
US20220113350A1 (en) Segmented row repair for programmable logic devices