ES2210371T3 - Estructura de memoria. - Google Patents

Estructura de memoria.

Info

Publication number
ES2210371T3
ES2210371T3 ES96917795T ES96917795T ES2210371T3 ES 2210371 T3 ES2210371 T3 ES 2210371T3 ES 96917795 T ES96917795 T ES 96917795T ES 96917795 T ES96917795 T ES 96917795T ES 2210371 T3 ES2210371 T3 ES 2210371T3
Authority
ES
Spain
Prior art keywords
memory
information
block
buffer
input
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
ES96917795T
Other languages
English (en)
Inventor
Ingemar Siderquist
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.)
Saab AB
Original Assignee
Saab AB
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 Saab AB filed Critical Saab AB
Application granted granted Critical
Publication of ES2210371T3 publication Critical patent/ES2210371T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/04Addressing variable-length words or parts of words

Abstract

LA INVENCION HACE REFERENCIA A UNA NUEVA ESTRUCTURA DE MEMORIA ADAPTADA ESPECIALMENTE PARA ALMACENAR VECTORES DE MEMORIA. CADA UNA DE LAS POSICIONES DE ALMACENAMIENTO ( 1, MI- M, MI) DE LA MEMORIA POSEE UNA LONGITUD ADAPTADA A LA LONGITUD DE GRANDES VECTORES Y ESTA DISPUESTA PARALELAMENTE, EXTENDIENDOSE DESDE UNA ENTRADA Y/O SALIDA PARA LA INFORMACION Y MAS ALLA DENTRO DE LA MEMORIA. DE ESTA FORMA, CADA VECTOR SE ALMACENA SIN DIVIDIRSE EN UN ORDEN SECUENCIAL CON EL PRINCIPIO DEL VECTOR EN LA ENTRADA Y/O SALIDA DE LA MEMORIA (CAMPO DE MEMORIA F1 EN PLANO DE MEMORIA MI). EL DIRECCIONAMIENTO SE REALIZA A LA ENTRADA Y/O SALIDA DE LA MEMORIA. EXISTEN DISPOSITIVOS (1IB-MIB, 1UB-MUB) QUE ACTUAN COMO REGISTROS DE DESPLAZAMIENTO PARA LA ENTRADA Y SALIDA DE INFORMACION EN SECUENCIA NO DIVIDIDA A/DESDE LAS POSICIONES DE ALMACENAMIENTO EN LA MEMORIA.

Description

Estructura de memoria.
La presente invención se refiere a una estructura de memoria del tipo que se enuncia en el preámbulo de la reivindicación 1.
Antecedentes de la invención
El desarrollo de memorias se ha producido simultáneamente al desarrollo de los procesadores informáticos. Esto significa que el desarrollo de los procesadores ha guiado el desarrollo de la memoria. En consecuencia, es habitual que la información de una memoria se dividida de forma arbitraria en grupos de bits (llamados bytes de ahora en adelante), con un número fijo de bits, muy a menudo siendo direccionados independientemente de la anterior información seleccionada. Esto hace que el decodificador de dirección deba que ser capaz de alcanzar una posición arbitraria en la memoria dentro de un periodo de acceso determinado con el objetivo de leer o escribir información en ella. La velocidad de transferencia de datos es inversamente proporcional al tiempo de acceso. El tiempo de acceso depende naturalmente del tipo de tecnología de fabricación utilizada para la memoria. Se usa la tecnología VLSI (Very Large Scale Integration) y se intenta minimizar el tamaño y la complejidad de los circuitos. Para una tecnología dada, el tamaño de la memoria está siempre limitado por la velocidad de propagación de las señales. Al mismo tiempo existe también la relación de que, para la arquitectura tradicional, una mayor área de memoria implica un mayor tiempo de acceso, debido a que la complejidad del decodificador de dirección aumenta si la memoria aumenta. La demanda de rapidez en el procesamiento de datos aumenta constantemente. Puesto que la complejidad del decodificador de dirección aumenta y la velocidad de propagación es constante, entonces el espacio de almacenamiento global, es decir, la superficie direccionable en la que puede almacenarse información, siempre disminuye con una mayor velocidad del ordenador.
En muchos campos de uso que han llegado a ser de inmediata importancia en los últimos años, como las telecomunicaciones, los radares, las memorias de gran capacidad para ordenadores etc., la información no es manejada en forma de bytes sino como secuencias de bytes denominadas vectores. En sistemas modernos de telefonía digital y en paquetes de información de sistemas de comunicación de datos, se usa el MTA (modo de transferencia asíncrono). En los radares, la información aparece en forma de impulsos. Después de la digitalización, el impulso puede ser considerado como un vector largo, definido por el punto de inicio y la longitud.
En muchas aplicaciones, se tratan de la misma manera grandes bloques de bytes conectados, como por ejemplo un bloque de texto en un procesador de textos. Otro ejemplo son las memorias de intercambio en ordenadores. Éstas tienen en común que una gran cantidad de información (vector) es tratada en conjunto. No se usa un direccionamiento al nivel de bytes.
La patente estadounidense A, 4 747 070 expone una estructura de memoria adaptada para el almacenamiento de vectores. La estructura de memoria descrita prevé bancos de memoria M paralelos. Cada banco de memoria tiene una profundidad de N palabras. M palabras pueden ser leídas de la memoria a la vez. La estructura de memoria paralela permite un mayor caudal de transferencia entre la memoria del sistema y el procesador. Cada banco de memoria es direccionado por separado.
La patente estadounidense A, 4 858 107 expone una estructura de memoria que permite la introducción de un esquema de prioridad entre una unidad de procesamiento central y un procesador de pantalla de vídeo. La memoria está organizada en bancos o planos de bits, cada uno con cerrojo de almacenamiento temporal que se descarga en un registro de desplazamiento respectivo. Cada banco de memoria o plano de bits está provisto de una dirección distinta.
Objeto de la invención
Un objeto de la invención es crear una estructura de memoria que se adapte a los vectores de almacenamiento.
Otro objeto de la invención es crear una estructura de memoria que proporcione un acceso rápido y continuo a los lugares de almacenamiento para la lectura y/o escritura de vectores.
Otro objeto de la invención es crear una estructura dónde la escritura de un vector pueda realizarse al mismo tiempo, e independientemente, que la lectura de un vector.
Otro objeto más de la invención es crear una estructura de memoria dónde la escritura de un vector pueda tener lugar casi simultáneamente a la lectura del mismo.
Otro objeto más de la invención es crear una estructura de memoria dónde el tiempo para la salida de datos escritos puede ser controlado en el momento preciso.
Y otro objeto de la invención es crear una estructura de memoria que pueda ser usada como complemento al tipo habitual de estructura de memoria de un ordenador.
Otro objeto de la invención es crear una estructura de memoria que permita el tratamiento de un vector almacenado paralelamente mediante una pluralidad de posiciones de almacenamiento de vectores con el objetivo de reposicionar el vector procesado u obtener un resultado de procesamiento.
Breve resumen de la invención
Los objetivos anteriores se consiguen con una estructura de memoria con las características enunciadas en la reivindicación 1. Otras características y otros desarrollos de la invención se enuncian en el resto de reivindicaciones.
Según la invención, después de la configuración, cada una de las posiciones de almacenamiento en la memoria tiene una longitud adaptada a la longitud de los vectores largos que se disponen en paralelo extendiéndose desde una entrada de información hacia el fondo de la memoria, de modo que cada vector está dispuesto para ser almacenado de manera inseparable en orden consecutivo con el comienzo del vector por la entrada de la memoria, por lo que el direccionamiento está dispuesto para tener lugar a la entrada de la memoria. Existen medios que actúan como registros de desplazamiento para la introducción de la información en orden no dividido en las posiciones de almacenamiento de la memoria.
La memoria está preferiblemente dividida transversalmente en bloques de memoria, de modo que todas las posiciones de almacenamiento tienen una parte en cada bloque de memoria. Las posiciones de almacenamiento en la memoria se pueden alargar uniendo uno o más bloques de memoria. Cada bloque de memoria puede comprender:
como medios que actúan como registros de desplazamiento:
-
una memoria tampón de entrada con una entrada de datos en serie de forma análoga a un registro de desplazamiento;
como posiciones de almacenamiento:
-
un número de campos de memoria de datos en los que la información de la memoria tampón de entrada puede ser introducida secuencialmente.
A este respecto, se dispone una lógica de control en cada bloque de memoria, dicha lógica de control controla la entrada de información en los campos de memoria por medio de la memoria tampón de entrada, de manera que los bloques de memoria están conectados en forma de cascada entre sí a través de las memorias tampón de entrada incluidas en ellos, las cuales están conectadas en forma de cascada entre sí, de modo que la información se puede suministrar de forma gradual en serie mediante las distintas memorias tampón de los diferentes bloques de memoria una detrás de otra, y la lógica de control dispuesta en cada bloque de memoria informa a la lógica de control del siguiente bloque de memoria cuándo los campos de memoria de su propio bloque de memoria están llenos de información o toda su información se ha leído, de modo que la lógica de control del siguiente bloque de memoria puede hacerse cargo del trabajo de escritura de información en este bloque de memoria.
Pueden existir medios que actúan como registros de desplazamiento para la salida de información en orden no dividido desde las posiciones de almacenamiento de la memoria. Además, puede haber medios para el procesamiento de datos de los datos almacenados en paralelo en los diferentes bloques de memoria.
Ventajas de la invención
La estructura de memoria según la invención permite el establecimiento de un gran espacio de almacenamiento de información expandible, una transferencia continua de datos y, al mismo tiempo, velocidades de transferencia extremadamente altas. La expansión del espacio de almacenamiento para un vector, y de ese modo del tamaño de la memoria, puede ser realizada sin que afecte a la velocidad de transferencia de datos debido a que la interfaz con la memoria, vista desde el exterior, permanece invariable.
Con la estructura de memoria según la invención, se puede realizar una transferencia de datos continua a aproximadamente 0.5-1 Gbytes/seg. en comparación con los actuales 30-100 Mbytes/seg. Esto implica un factor diez veces más rápido usado con la tecnología básica correspondiente. Las estructuras de memoria en sí mismas no dependen de la tecnología usada aunque pueden ser usadas para tecnologías de almacenamiento arbitrario (RAM, memoria magnética, memoria óptica etc.).
Breve descripción de los dibujos
La invención se describe con más detalle a continuación en referencia a los dibujos anexos, en los que:
la figura 1 muestra en general el principio para una estructura de memoria según la invención,
la figura 2 muestra una primera forma de realización de la estructura de memoria según la invención,
la figura 3 muestra la estructura interna de un bloque de memoria más detalladamente que en la figura 2,
la figura 4 muestra un diagrama de flujo de la lógica de control global de la memoria,
la figura 5 muestra una diagrama de flujo de la lógica de control de un bloque de memoria,
la figura 6 muestra una segunda forma de realización de la estructura de memoria según la invención, y
la figura 7 muestra una tercera forma de realización de la estructura de memoria según la invención.
Descripción de las formas de realización Definiciones Información almacenada
Se refiere a un número de vectores que, vistos desde el exterior, son tratados de forma continua y no dividida.
Vector
Se refiere a la cantidad global de información continua que debe ser procesada de una pieza. Un vector se define desde fuera con la ayuda de un punto de inicio o identidad y la longitud.
Grupo de bytes
Parte de un vector adaptada al tamaño de un campo de memoria. Un vector puede describirse como un suma de grupos de bytes.
Estructura de memoria
Se refiere al sistema completo según la figura 2. La estructura de memoria consiste en uno o más bloques de memoria, los convertidores 5, 6 y la lógica de control 4.
Bloque de memoria
Se refiere a una unidad con una función bien definida que sólo se comunica con sus vecinos más cercanos, ver figura 2. La estructura de memoria siempre se expande con una cantidad global de nuevos bloques de memoria.
Posición de la memoria
Se refiere a la parte del área de la memoria total de la estructura de memoria que tras la configuración se adapta a la longitud del vector real. Las posiciones de memoria están distribuidas desde el bloque de memoria #1 hacia el interior, ver figura 1.
Plano de memoria
La parte de un bloque de memoria que tras la configuración es asignado a un vector determinado (la identidad).
Campo de memoria
La parte de un plano de memoria que se procesa de una pieza. El tamaño se corresponde con el de las memorias tampón de entrada y salida.
Descripción de los dibujos
La figura 1 muestra varios bloques de memoria #1, #2,... #M conectados entre sí en forma de cascada. Cada bloque de memoria tiene una parte de información 1I, 2I,...MI y una memoria tampón de entrada 1IB respectivamente 21B... respectivamente MIB, una memoria tampón de salida 1UB respectivamente 2UB... respectivamente MUB, y una lógica de control 1S respectivamente 2S respectivamente MS. Cada bloque de memoria puede estar en un chip distinto y varios chips seleccionados pueden estar unidos entre sí con el objetivo de formar selectivamente una memoria larga. Es también posible y apropiado tener diferentes bloques de memoria en un chip, de forma que diferentes chips multibloque pueden estar conectados en forma de cascada. Cada una de las posiciones de memoria en la memoria tiene una longitud adaptada a la longitud de los vectores largos. Los bloques están dispuestos en paralelo extendiéndose desde una entrada/salida de la información hacia el interior de la memoria, de modo que cada vector está dispuesto para ser almacenado de forma no dividida y en orden consecutivo por medio de las memorias tampón de entrada con el inicio del vector en la entrada/salida de la memoria y, de forma similar, ser extraídos en orden consecutivo a través de la memoria tampón de salida cuando resulte necesario (ver la forma de realización de la figura 7). El direccionamiento se lleva a cabo a la entrada/salida de la memoria.
En la forma de realización mostrada en la figura 2, la estructura de memoria comprende un número de bloques de memoria o unidades conectadas en forma de cascada #1 - #M, una lógica de control 4 y convertidores 5, 6 dónde sea apropiado. Los bloques de memoria mostrados aquí tienen cada uno un bloque constituyente con diferentes planos de memoria #11 #1 N respectivamente ``MI - #MN dispuestos unos detrás de otros, los cuales comprenden cada uno varios campos de memoria F1 - FP. Debe mencionarse que, de ahora en adelante en la descripción, un campo de memoria en concreto de la memoria tiene una referencia que identifica a qué bloque de memoria y a qué plano de memoria pertenece, por ejemplo #m, Qi, Fj para un campo de memoria Fj en el plano de memoria Qi en el bloque de memoria #m. Este sistema de referencia ha sido aplicado en todo el documento.
No obstante, es obvio que, en la práctica, los bloques de memoria pueden tener una estructura superficial con los planos extendidos en diferentes posiciones en la superficie, o bien dispuestos como campos de memoria uno tras otro, de modo que, por ejemplo, en el caso de un chip con diferentes bloques, los campos de memoria en los bloques de memoria #2/plano de memoria #Q1 están dispuestos como una continuación directa de los campos de memoria en el bloque de memoria #1/plano de memoria Q1 etc.
Como se puede observar a partir de la figura 3, la estructura de memoria tiene diferentes posiciones de almacenamiento direccionables o planos de memoria Q1 ...Qi...QN (i = 1... N). Cada bloque de memoria #m tiene varios campos de memoria F1 a FP asignados a cada plano de memoria direccionable Qi.
Cada bloque de memoria #m está físicamente organizado en filas W_{m} (que corresponden a NxP en la figura 3) y en columnas axb. Cada fila forma un campo de memoria y contiene varios grupos de bytes o palabras (a) cada uno con un número adecuado de bits (b). El bloque de memoria #m tiene por tanto un tamaño de W_{m} x a x b bits. La estructura de memoria tiene un tamaño total de (W1+W2 + ....+ WM) x a x b bits. Es también posible concebir un caso especial en el que el número de a, b y W varía en los bloques de memoria, aunque éste no es el caso tomado aquí.
Un vector Vi con una longitud de Li palabras es almacenado en forma de vectores parciales Li/a en los campos de memoria M1, F1.., M1, FP; M2 F1, ..., M2 FP; ..., MN F1, ..., MN FP. Después de la configuración resulta válido que Li = a x (O_{il}+_{Oi2} + ... + _{OiM}) palabras, dónde O_{im} es el contenido de Mi Fm (i=1-N, m=1-P). El tamaño del vector Vi es, por lo tanto, de a x b x(O_{il}+O_{i2} + ....+ O_{iM}) bits. Para cada bloque de memoria también es válido que el número de filas siempre se corresponda con la suma del número de campos de memoria. Wm=O_{lm}+O_{2m}+...+O_{Nm}.
Se pueden almacenar al mismo tiempo vectores de longitudes variables en la estructura de memoria.
La estructura de memoria puede ser configurada de varias maneras. Vistos desde el exterior, los vectores están direccionados sólo desde el punto de inicio (la identidad) #1 Mi F1 dónde i es cualquier número entre 1 y N, y Fi es el primer campo de memoria del bloque de memoria #1 del plano de memoria Mi. La longitud de los vectores Li está definida por la configuración. La configuración puede ser estática o dinámica.
En la configuración estática todos los O_{im} están predeterminados. La lógica de control 4 conoce el número N de posiciones de memoria Mi así como la longitud Li de las respectivas posiciones de memoria. La lógica de control 1S - MS en los bloques de memoria conoce el punto de inicio #1 Qi F1 y la longitud O_{im} del bloque de memoria respectivo. El punto de término #m Qi Fj está definido indirectamente por el punto de inicio y la longitud.
En la configuración dinámica, la longitud precisa del plano de memoria o la posición de la memoria Mi cambian durante la escritura. Se supone desde el exterior que el vector de información debe ser seguido por la información de su longitud, así como por otra información global. Esta información, de forma alternativa, puede hallarse en el primer grupo de bytes como cabeza del vector Vi. La lógica de control puede entonces leer, usar y cambiar esta información dependiendo de cómo se va extendiendo adicionalmente en la estructura de memoria. Después de la cabeza, la información sigue secuencialmente.
Con la configuración estática, se supone que el vector de información que se lee o se escribe en una posición de memoria Qi tiene una longitud que se corresponde con la configuración. Con la configuración estática se puede prescindir de la cabeza.
Cada bloque de memoria #i tiene una memoria tampón de entrada ilB con una unidad de almacenamiento de la memoria tampón comprendiendo varios bits de almacenamiento para cada campo de memoria de almacenamiento en el plano de memoria para dar entrada a la información, y una memoria tampón de salida iUB con una unidad de almacenamiento de la memoria tampón del mismo tamaño que la memoria tampón de entrada para dar salida a la información. Hay además una lógica de control iS con el objetivo de controlar la escritura y lectura de información en el plano de memoria y, de esa manera, dentro de qué campo o campos de memoria.
La unidad de ordenador, la cual por medio de la interfaz 5, 6 (ver figura 2) está conectada a la estructura de memoria según la invención, carga la información entrante a través del puerto de entrada de información y extrae la información saliente del puerto de salida de información en forma de vectores, por ejemplo paquetes de datos. Cada vector puede estar equipado con una cabeza incluyendo la identidad, longitud etc. De forma alternativa, la información necesaria puede ser proporcionada a la interfaz mediante cualquier otra vía, algo obvio para el experto en la técnica. Una lógica de control 4 está conectada a la interfaz con el objetivo de controlar la memoria según lo que se haya leído en ella. La lógica de control 4 puede además estar equipada con una memoria interna (no mostrada) para el almacenamiento de datos relacionados con los vectores almacenados y con el lugar donde éstos están almacenados en la memoria y donde pueden almacenarse vectores nuevos. En consecuencia, el direccionamiento de la memoria tiene lugar bajo la influencia de la lógica de control 4. Esto puede verse en la figura 4A.
Las figuras 4A-4C muestran un diagrama
\hbox{de flujo}
de una forma de realización de cómo funciona la lógica de control, parte durante la activación (figura 4A), parte durante la escritura en la memoria (figura 4B) y parte durante la lectura de la memoria (figura 4C). Los diagramas de flujo son tan claros que no es necesario hacer una descripción minuciosa de las diferentes fases.
Tal y como se describirá más adelante con más detalle, la información introducida en la memoria es apropiadamente de tipo en paralelo, es decir, en forma de bytes paralelos de una longitud adecuada, por ejemplo 8, 16, 32 bits. Si se introduce información seriada pura, entonces tiene lugar una conversión de la forma bit a la forma paralela byte en el convertidor 5. De forma similar, se realizará una conversión de los bytes paralelos a bits en el convertidor 6 si fuera necesario. Debe mencionarse que no hay nada que impida que la información de entrada en el puerto de entrada de información sea en forma de bits en serie y la información en el puerto de salida de información esté en forma de bytes paralelos, o viceversa, en cuyo caso sólo es necesario un convertidor 5 o 6 .
Durante la configuración dinámica (ver figura 4B) se lee la cabeza de cada vector de información que debe ser escrito. La información que hay en ella se usa en parte para decidir cuánto espacio de memoria ocupará el vector y en parte con el objetivo de activar la lógica de control 1S en el primer bloque de memoria #1 y para proporcionar la información sobre cuántas de las siguientes lógicas de control en los demás bloques de memoria #i necesitarán ser activadas.
En la práctica, cada vector almacenado tendrá su inicio en el campo de memoria F1 en uno de los planos Qi en el bloque de memoria #1 y se extenderá desde allí hacia el interior de la memoria. Se puede considerar el almacenamiento de un vector como una sola cadena continua. De esta manera, los vectores estarán dispuestos de forma paralela y el direccionamiento hacia éstos tendrá lugar al comienzo de los diferentes planos del bloque de memoria #1. Muchos de los campos de memoria F1 - FP serán usados de hecho en cada bloque de memoria para el almacenamiento, de modo que puede considerarse que el almacenamiento está doblado, pero en la práctica, de hecho, todo el vector estará colocado en una secuencia ininterrumpida desde el principio hasta el final de bloque a bloque de memoria.
Cada lógica de control en los bloques de memoria tiene en su interior una memoria con información sobre qué planos de memoria y qué campos de memoria en éstos están vacíos o ya están llenos. Cuando llegan los vectores que tienen que ser almacenados, primero se realiza una búsqueda en la lógica de control 4 o en la lógica de control 1S para encontrar un plano de almacenamiento disponible.
Como es evidente en la figura 5, la cual muestra una forma de realización del diagrama de flujo para cada lógica de control 1S-MS en los bloques de memoria, la escritura se inicia cuando la información, el vector, pasa la interfaz (ver figura 2). La configuración no tiene que ser completada para todos los bloques de memoria sino que se realiza sucesivamente de acuerdo con la propagación de la información en el interior de la memoria. Suponiendo que el plano Qi, dónde i es un número entre 1 y N, se muestra vacío. Debe observarse que un vector es siempre almacenado en el mismo plano, por ejemplo Qx, dónde x es un número entre 1 y N, en todos los bloques diferentes, es decir, en el plano #1 Qx; #2 Qx; #2 Qx y así sucesivamente. El vector entrante empieza a ser introducido en la memoria tampón de entrada 1IB. Una vez llena con un grupo de bytes, tiene lugar una transferencia de éstos al primer campo de memoria de almacenamiento F1 en el plano #1 Qx. La memoria tampón de entrada se llena de manera análoga a un registro de desplazamiento, pero la salida hacia los campos de memoria puede tener lugar o en serie o paralelamente, preferiblemente de forma paralela, hasta que la totalidad del contenido de la memoria tampón de entrada sea vaciado.
De forma análoga a un registro de desplazamiento, tiene lugar un rellenado directo después del cual la totalidad del contenido de la memoria es vaciado en el siguiente campo de memoria F2 en el plano #1 Qx y así sucesivamente hasta que se llena el último campo de memoria de FP en el plano #1 Qx. En relación a esto, la lógica de control 1S tiene un indicador de campo - entrada (no mostrado) que proporciona el campo de memoria válido para la escritura.
A continuación, la memoria tampón de entrada 1IB es controlada para empezar a llenar la memoria tampón de entrada 2IB en serie, de forma análoga a un registro de desplazamiento, es decir byte paralelo tras byte paralelo hasta que esté llena. La totalidad de la longitud en serie del registro de desplazamiento usado como memoria tampón será denominado de ahora en adelante byte en serie, ya que representa el número de señales de reloj necesarias para llenar la memoria tampón, es decir que representa la longitud en serie de un grupo de bytes paralelos.
Cuando la memoria tampón de entrada está llena, se llena el primer campo de memoria F1 en el plano #2 Qx y los diferentes campos de memoria siguientes que hay son llenados de la misma manera que el campo de memoria en el plano de memoria #1 Qx, es decir, controlados por el indicador de campo - entrada de la lógica de control. Cuando el plano de memoria #1 Qx está lleno, la información en la memoria tampón de entrada 2IB del bloque de memoria #2 continúa siendo transferida a la memoria tampón de entrada del siguiente bloque de memoria y posteriormente desde éste a los campos de memoria del siguiente plano de memoria #3 Qx en este bloque de memoria y así sucesivamente. Debe observarse que es posible incluir muchas memorias tampón de entrada y de salida, con el objetivo por ejemplo de servir diferentes planos de memoria simultáneamente, aunque esto no se muestra en ninguna de las figuras. La unidad de control también puede ser duplicada.
Debe observarse que la información puede ser introducida en las memorias tampón de entrada en forma de bytes paralelos secuenciales, por lo que cada memoria tampón comprende de hecho tantos registros de desplazamiento paralelos como bits hay en cada byte. La expresión "grupo de bytes paralelos" se usa para el número de bytes que llenan una memoria tampón de entrada/salida. Cuando una memoria tampón de entrada es vaciada hacia un campo de memoria en un plano hay, por lo tanto, una gran cantidad de datos transferidos. En consecuencia, cada campo de memoria comprende un número extremadamente grande de grupos de bytes paralelos.
Los datos pueden ser leídos y extraídos de un campo de memoria inmediatamente después de que hayan sido escritos.
Como es evidente a partir del diagrama de flujo de la figura 5, durante la lectura, el contenido de un campo de memoria es transferido, de una vez y en paralelo, con todo el grupo de bytes paralelos en el primer campo del plano en cuestión l i, a la memoria tampón de salida 1UB y es extraído en serie, es decir byte paralelo tras byte paralelo.
Una vez que ha tenido lugar la transferencia a la memoria tampón de salida del campo próximo al último campo de memoria en el plano #1 Qi, la lógica de control 1S activa la lógica de control 2s para transferir el contenido del primer campo de memoria #2 Qi a la memoria tampón de salida 2UB. Directamente después de que el último campo de memoria FP haya sido transferido a la memoria tampón de salida 1UB y ésta haya extraído su contenido de bytes paralelos en serie, una memoria tampón de salida 2UB extrae su contenido byte paralelo tras byte paralelo en serie hacia la memoria tampón de salida 1 UB, de modo que estos se suceden directamente después del contenido anterior de la memoria tampón 1 UB.
De esta forma, no se produce ninguna interrupción en la información extraída. La información en los campos de memoria del plano #2, Qi es extraída paso a paso hacia la memoria tampón de salida 2UB, controlada por un indicador de campo de salida (no mostrado) de la lógica de control 2S y es extraída de ella en serie a través de la memoria tampón 1UB. Cuando se transfiere el campo próximo al último campo de memoria FP en el plano 2IB a la memoria tampón de salida 2UB, la lógica de control es activada en el siguiente bloque de memoria con el fin de que la información del campo de memoria sea transferida a la memoria tampón de salida del bloque de memoria, etc.
En la forma de realización descrita anteriormente, cada memoria tampón de salida de los diferentes bloques en serie extrae su contenido, un grupo de bytes paralelos, byte paralelo tras byte paralelo, a la siguiente memoria tampón de salida. Esto significa que el control tiene lugar byte paralelo tras byte paralelo tanto en la entrada como en la salida. Cada grupo de bytes paralelos puede contener un número relativamente grande de bytes paralelos en este caso, lo que significa que el inicio de la salida de un vector con datos puede tener lugar dentro de un intervalo de tiempo relativamente largo de varios periodos de reloj, determinado por la longitud del grupo de bytes paralelos.
No obstante, existen aplicaciones, en las que el control de la salida de los datos debe efectuarse precisamente en un período de reloj del sistema del que forma parte la memoria según la invención. La lógica de inicio de la memoria tiene información sobre el grupo de bytes paralelos en que tendrá lugar la salida y también el desplazamiento de fase necesario, dentro de la longitud de tiempo, del grupo de bytes paralelos para que la salida tenga lugar en el instante deseado preciso.
Una forma de realización de la memoria para conseguir esto con una lógica de control se muestra en la figura 6. Es posible extraer el mismo contenido de la memoria en diferentes partes del sistema en instantes de tiempo controlables independientemente y, en ese caso, es posible tener muchas memorias tampón de salida conectadas a los planos de memoria. No obstante, en las figuras sólo se muestra una memoria tampón de salida OUTBUFF. Cada memoria tampón de salida comprende una memoria tampón intermedia MBUFF en la que, durante el control, los contenidos son transferibles al registro de desplazamiento sk. La forma de funcionamiento de cada memoria tampón de salida es evidentemente similar, por lo que la descripción en lo que se refiere a la OUTBUFF es válida para todas ellas.
Cuando la disposición del control local de un bloque de memoria recibe una indicación de que los contenidos de memoria de un plano de memoria deben ser extraídos a través de una memoria tampón de salida OUTBUFF, el primer campo de memoria en este plano de memoria es descargado en la memoria tampón intermedia MBUFF mediante una señal de control C-1 para ello. En la señal de reloj apropiada para la salida real, el contenido de la memoria tampón intermedia es transferido mediante una señal de control C-2 al registro de desplazamiento sk para ser extraído de forma temporizada directamente con un control en la entrada de reloj CLK del registro de desplazamiento. El contenido del siguiente campo de memoria es transferido a la memoria tampón intermedia de la OUTBUFF directamente después de la transferencia de la memoria tampón intermedia al registro de desplazamiento o, preferiblemente, al comienzo del siguiente período del grupo de bytes paralelos completo. No obstante, nada evita que la transferencia a la memoria tampón intermedia tenga lugar en cualquier momento durante el intervalo anterior a la transferencia al registro de desplazamiento sk, por ejemplo, durante el período de reloj directamente anterior a la transferencia de la memoria tampón al registro de desplazamiento.
Una vez que todo el bloque de memoria es vaciado, tal y como se ha descrito arriba, la información continúa siendo introducida en la memoria tampón de salida para una transferencia adicional hacia la salida. Estos datos, debido a un control similar en el bloque siguiente, llegarán directamente en forma de un grupo de bytes en serie continuo y correctamente temporizado, el cual entrará en orden continuo al registro de desplazamiento sk en su entrada en serie acoplada al registro de desplazamiento de la siguiente memoria tampón de salida, con el objetivo de ser extraído a través del registro de desplazamiento hacia la salida de la memoria.
En la parte inferior de la figura 6 se muestra un ejemplo de un medio de control de la primera memoria tampón de salida OUTBUFF del bloque de memoria destinado a dar salida a las respectivas transferencias desde los campos de memoria respectivos en el plano de memoria hacia la memoria tampón intermedia MBUFF y luego de la memoria tampón al registro de desplazamiento sk. Cuando el control, referido a que estos datos deben ser extraídos de los planos de memoria empezando en un instante concreto de tiempo, inicia la lógica 10, ésta indica en primer lugar, con un indicador de campo de salida, el primer campo de memoria en los planos de memoria después de haber atravesado un pequeño circuito de puertas 11 que permite el paso de señales de la lógica en presencia de una señal de control CKL/b, dónde b es el número de fases de bytes paralelos en el registro de desplazamiento SK contadas por un contador 12. El indicador de campo de salida se desplaza hacia el siguiente campo de memoria en la siguiente señal de control CLK/b y hacia el siguiente con la siguiente señal de control, etc. Esto se ilustra mediante el óvalo 13. Además, el desplazamiento de fase con respecto a la fase del indicador de campo de salida se ilustra en la parte superior de la figura para las diferentes posiciones
\hbox{P1 - Pa,}
dónde a es la longitud de posición de un campo de memoria en los diferentes campos Fi y F(i + 1), por lo que C-1, en esta forma de realización, está al inicio del indicador de campo de salida y C-2 se desplaza de forma controlada a la posición deseada, por ejemplo P2.
La salida del contador 12 junto con una salida de la lógica 11 son introducidas en una segunda lógica 14 relativa al cambio de campos. La lógica 14 emite entonces, según la forma de realización mostrada, la señal C-1 en su salida, la cual controla, en el caso mostrado, la transferencia de datos desde el campo de memoria seleccionado a la memoria tampón intermedia MBUFF a través de un pequeño circuito de puertas 15 que emite la señal a la siguiente señal de reloj CLK. La señal C-1 es también introducida en la entrada de una unidad de retraso 16, la cual en una entrada de control tiene una señal 17 de la lógica 10, dicha señal, preferiblemente en forma digital, expone el retraso real de los datos en la memoria tampón intermedia antes de la transferencia al registro de desplazamiento SKI. Esto continúa hasta que el indicador de campo de salida llega al último campo en el plano de memoria que debe ser extraído. La señal de la lógica 14 desde la lógica 10 deja de producirse. En cambio, en la posición próxima a la última posición del indicador de campo de salida, la lógica 10 proporciona una salida hacia siguiente bloque para activar la lógica de control en él.
Aunque no se muestra, se pueden disponer muchos retrasos controlables separados de la lógica 10 con el objetivo de, si es necesario, dar la señal C-1 con el retraso deseado y/ o con el objetivo de proporcionar diferentes retrasos a las diferentes memorias tampón de salida o similares.
En todas las formas de realización descritas anteriormente de la memoria, los datos de entrada y de salida han sido introducidos y extraídos respectivamente por el mismo lado del bloque de memoria. La figura 7 muestra una forma de realización en la que todos los vectores almacenados pueden ser extraídos según la forma de realización descrita anteriormente, y también o alternativamente, es posible realizar el procesamiento de la señal en los datos almacenados en los diferentes bloques de memoria simultáneamente, es decir paralelamente.
El procesamiento de la señal puede, por ejemplo, concernir la sustitución de símbolos especiales a lo largo de una cadena de texto almacenada, con el objetivo de posteriormente dar salida a todo el vector almacenado a través de las memorias tampón de salida mostradas con líneas discontinuas. En ese caso los datos son transferidos, una vez procesados, de nuevo al campo de memoria del plano de memoria del que fueron tomados. De forma alternativa, o como complemento, puede realizarse un procesamiento de la señal más sofisticado. Una ventaja de esta forma de realización es que el procesamiento de la señal de una gran cantidad de datos almacenados puede llevarse a cabo rápidamente.
También es posible realizar algún tipo de procesamiento de los datos almacenados con el objetivo de indagar una característica especial u obtener un resultado. En ese caso el interés no estará en la posibilidad de dar salida a un vector introducido y, entonces, las memorias tampón de salida mostradas en líneas discontinuas no serán necesarias. En consecuencia, éstas no son en absoluto necesarias según la invención.
Cada bloque de memoria, por ejemplo #m, tiene una memoria tampón de procesamiento mB_{m} conectada, a la cual la lógica de control #mL puede enviar el contenido de un plano de memoria, campo de memoria por campo de memoria, de la misma manera que a su memoria tampón de salida. El contenido de la memoria tampón #m,B_{m} es luego transferido a una unidad local de procesamiento de la señal #m,LS_{m} en la que se lleva a cabo el tratamiento de la señal especial. Posteriormente, los datos procesados pueden, como se ha mencionado anteriormente y se ha mostrado de forma discontinua en la figura, ser transferidos de nuevo al campo de memoria o a los campos de memoria de los que fueron tomados, o bien ser transferidos a una unidad de procesamiento de la señal GS común para todos los bloques, la cual extrae un resultado y lo saca, o ambas cosas. Debe observarse que esta extracción de un resultado puede realizarse de diferentes planos de memoria, de campos de memoria de un plano de memoria, o de todo un bloque de memoria, dependiendo de lo que esté almacenado en los diferentes bloques de memoria. Debido a que el tipo de tratamiento de la señal usado carece de importancia para el concepto de la invención, a continuación sólo se da un ejemplo del mismo, en concreto el tratamiento de bloques de memoria enteros o planos de memoria en bloques de memoria.
También es posible realizar el tratamiento en todos los planos de memoria en el mismo bloque de memoria de la manera mencionada anteriormente. Una situación en la que podría pasar esto es en el almacenamiento de señales de vídeo para la producción de imágenes, en el que cada línea de un imagen puede ser almacenada en diferentes planos de memoria en los bloques de memoria. La invención hace posible obtener un acceso rápido y fácil, y llevar a cabo el procesamiento de la imagen en porciones de la imagen cuyas líneas están recogidas en un bloque de memoria especial o en varios bloques de memoria adyacentes. Esto hace posible llevar a cabo un procesamiento rápido de la imagen para cualquier tipo de imagen.
Ventajas de la aplicación
Algunos ejemplos de vectores que son especialmente adecuados para ser almacenados mediante el método según la invención son los volúmenes de texto de un procesador de textos. El volumen de texto puede ser definido como el punto de inicio de un vector y su longitud. Pero, en realidad, no se menciona dónde está situado. Una ventaja al usar la invención es que la velocidad del ordenador aumenta considerablemente.
Normalmente, los volúmenes de texto se almacenan divididos en posiciones diferentes, por ejemplo en un disco duro. Para conseguir la información almacenada primero hay que dirigirse a un sector, sacar la información de allí, dirigirse a otro, obtener la información de allí, etc. En consecuencia, hay demasiados direccionamientos y tiempo de espera de la información.
Normalmente, también ocurre que el tomar la información de una posición cercana es relativamente rápido. Cuanta más memoria haya que revisar más tiempo llevará. De esta manera, la velocidad de los datos se reduce en proporción a cómo sea de grande la memoria y cuánto se extienda la información.
En la invención, el punto de inicio de la información está en un vector en la entrada/salida de la memoria y aparece como una cadena, es decir, en los diferentes planos #mi, Qj, dónde j es cualquier número entre 1 y N, en los que dicha cadena se extiende desde la entrada/salida hacia el interior de la memoria. Un vector nuevo puede ser introducido en la memoria sin esperar a buscar posiciones adecuadas. De forma similar, un vector almacenado puede ser extraído sin espera en las formas de realización dónde la salida es necesaria. Esto significa que la cantidad de información puede ser infinitamente grande sin que, en ningún caso, se perjudique el tiempo de acceso. El punto de término de un vector está marcado por el campo de memoria de los últimos bloques de memoria en los que el vector está escrito, y es legible por la lógica de control en el bloque de memoria que almacena esta información en su memoria interna. La lectura y la escritura en la memoria pueden tener lugar simultáneamente. Esta lógica de control, por lo tanto, siempre conoce el punto de término tanto para la entrada como para la salida, y lo indica a las otras lógicas de control, especialmente durante la salida del término del vector a través de las respectivas memorias tampón de salida.
Cada lógica de control iS comprende, en consecuencia, una lista de cada vector de información, la cual establece de qué entidad de información se trata, el inicio y la parada de la parte del vector que puede estar escrita en su bloque de memoria asociado, y los enlaces. Esta parte de la lógica de control se lleva a cabo idóneamente en el hardware o soporte físico, lo cual resulta más eficaz que en una memoria dinámica. Una forma de realización de la lógica de control para las formas de realización de las figuras 1-5 puede ser desarrollada como en la figura 6, pero sin retraso 16. La memoria parecerá una memoria normal desde el exterior. La única limitación que se aplica a la memoria según la invención es que sólo es eficaz durante el tratamiento de vectores. La memoria puede ser incluida como parte de la memoria normal de un ordenador.
En el nuevo sistema, la información puede ser encontrada rápidamente y la transferencia de datos tiene lugar rápidamente. Un bloque de memoria puede ser una parte de un chip, es decir, que diferentes bloques de memoria pueden estar en el mismo chip, o los bloques de memoria pueden también estar en chips diferentes. De forma alternativa, cada bloque de memoria puede estar formado por diferentes chips, o bien estar construido con componentes estándares. Todas estas posibilidades pueden estar en el mercado juntas, lo que implica un uso flexible con una combinación de unidades diferentes.
Si sucede que los vectores para una aplicación tienden a ser tan largos que deben ser divididos en diferentes vectores con el objetivo de poder ser almacenados en la memoria, entonces existe por ejemplo la posibilidad de acoplar bloques de memoria extra (chips) después del último de una manera sencilla, con la finalidad de que así se pueda ampliar el espacio de almacenamiento de los vectores que deben ser almacenados.
Otro ámbito de uso es el tráfico telefónico en el que los datos pueden llegar en forma de bits en serie, en cuyo caso existen convertidores adecuados 5 para la información que llega a la primera memoria tampón de entrada para su conversión de bits a bytes.
Las memorias tampón de entrada también pueden ser organizadas de modo que sean registros de desplazamiento en serie (un caso especial). También se pueden tener registros de desplazamiento en serie en las memorias tampón de entrada y, paralelos, en las memorias tampón de salida, o viceversa. Es una cuestión de implementación en el caso de que se elija desarrollar primero una disposición en paralelo de los datos. Esto es muy probable si se considera una futura aplicación de telecomunicación, en la cual la información entrante es en serie. Luego se realiza una primera conversión paralela en el componente 5 externo a la memoria.
Cada lógica de control 4 y mS puede ser en forma de un simple chip de datos con un programa fijo. De forma alternativa, la lógica de control mS puede estar integrada junto con los planos de memoria. Las figuras 4 y 5 muestran un diseño en forma de diagrama de flujo para la lógica de control. Las funciones que se obtienen con los diagramas de flujo han sido anteriormente descritas, por lo que los diagramas de flujo en sí mismos no requieren ninguna descripción adicional, sino que pueden ser entendidos directamente por los expertos en la técnica.
En las reivindicaciones anexas se dan muchas modificaciones concebibles dentro del campo de la invención.

Claims (13)

1. Estructura de memoria para el almacenamiento de vectores de memoria en al menos una posición de la memoria, en la que:
- la memoria está dividida transversalmente en bloques de memoria (#1-#M);
- todas las posiciones de memoria en la memoria (#1, Qi - #M,Qi) están dispuestas en paralelo extendiéndose desde una entrada de información hacia el interior de la memoria, de modo que todas las posiciones de memoria tienen una parte en cada bloque de memoria;
- existen medios (1IB-MIB) que actúan como registros de desplazamiento para la introducción de información en una secuencia ininterrumpida en las posiciones de memoria de la memoria;
caracterizada por el hecho de que,
- cada vector está dispuesto para ser almacenado de forma no dividida en orden secuencia) con el comienzo del vector en la entrada de la memoria (campo de memoria F1 en el plano de memoria #1 Qi);
- el direccionamiento está dispuesto para ser llevado a cabo a la entrada de la memoria;
- cada posición de memoria en la memoria (#1,Qi #M,Qi), después de la configuración, tiene una longitud adaptada a la longitud de los vectores largos, y las posiciones de memoria en la memoria son extensibles mediante el acoplamiento de uno o más bloques de memoria.
2. Estructura de memoria según la reivindicación 1, caracterizada por el hecho de que cada bloque de memoria comprende:
como cada medio que actúa como registro de desplazamiento:
-
una memoria tampón de entrada (jIB) con una entrada en serie de datos análogos a un registro de desplazamiento;
como posiciones de memoria;
-
una pluralidad de campos de memoria de datos (F1 - FP) en la que la información de la memoria tampón de entrada es introducida secuencial o paralelamente;
y porque se dispone una lógica de control (iS) en cada bloque de memoria, dicha lógica de control controlando la introducción de información en los campos de memoria por medio de las memorias tampón de entrada; dichos bloques de memoria estando conectados en forma de cascada entre sí a través de las memorias tampón de entrada que hay en ellos, las cuales están conectadas en forma de cascada entre sí, de manera que la información es introducida en serie a través de las diferentes memorias tampón en los diferentes bloques de memoria uno tras otro; y porque inicia la lógica de control en el siguiente bloque de memoria, una vez que los campos de memoria en su propio bloque de memoria se han llenado o se ha leído la información, de modo que la lógica de control del siguiente bloque de memoria puede hacerse cargo del trabajo de lectura de la información en los campos de memoria de ese bloque de memoria.
3. Estructura de memoria según cualquiera de las reivindicaciones precedentes, caracterizada por el hecho de que existen medios (1UB - MUB) que actúan como registros de desplazamiento para la salida de información en secuencias no divididas desde las posiciones de memoria de la memoria.
4. Estructura de memoria según la reivindicación 3, caracterizada por:
- una memoria tampón de salida (jUB) con una salida en serie de datos análogos a un registro de desplazamiento;
- la información en los campos de memoria del ordenador (F1 - FP) siendo transferida secuencialmente a la memoria tampón de salida durante la extracción de los datos;
dicha lógica de control (iS) en cada bloque de memoria estando dispuesta para controlar la salida de la información de los campos de memoria a través de las memorias tampón de salida, y para informar a la lógica de control del siguiente bloque de memoria de cuándo la memoria de su propio bloque de memoria se ha vaciado de información, de modo que ésta pueda llevar a cabo el trabajo de lectura de la memoria en los campos de memoria de su bloque de memoria.
5. Estructura de memoria según cualquiera de las reivindicaciones precedentes, caracterizada por el hecho de que los medios que actúan como registros de desplazamiento son de tal manera que llevan a cabo la introducción de bytes en serie.
6. Estructura de memoria según cualquiera de las reivindicaciones 2-5, caracterizada por el hecho de que la transferencia entre los campos de memoria y las memorias tampón se realiza con todo el contenido de la información en paralelo, y controlada simultáneamente por la lógica de control en el bloque de memoria en cuestión cuando tiene lugar la transferencia.
7. Estructura de memoria según cualquiera de las reivindicaciones 2-6, caracterizada por el hecho de que la información, durante la entrada y/o salida, está dispuesta para ser transferida de forma continua a la memoria tampón de entrada y/o salida en los diferentes bloques de memoria, sin ninguna operación de comunicación entre éstos.
8. Estructura de memoria según cualquiera de las reivindicaciones 2-7, caracterizada por el hecho de que los medios (11B-MIB, 1UB-MUB) que actúan como registros de desplazamiento para la entrada y/o salida están dispuestos en paralelo unos detrás de otros, y son controlables de manera independiente unos de otros, lo que permite la entrada y salida simultánea de información en las posiciones de memoria de la memoria.
9. Estructura de memoria según cualquiera de las reivindicaciones precedentes, caracterizada por unos medios para el desplazamiento de fase del período de lectura en relación con el período de escritura mediante un número selectivo de pulsos de reloj.
10. Estructura de memoria según la reivindicación 9, caracterizada por el hecho de que los medios para el desplazamiento de fase comprenden un circuito de retraso ajustable a un retraso correspondiente al retraso de fase deseado.
11. Estructura de memoria según cualquiera de las reivindicaciones precedentes, caracterizada por el hecho de que la información almacenada en los diferentes bloques de memoria es legible paralelamente a cada uno de sus dispositivos de procesamiento.
12. Estructura de memoria según la reivindicación 11, caracterizada por el hecho de que la información procesada puede ser restaurada en el bloque de memoria después del procesamiento.
13. Estructura de memoria según la reivindicación 11 o 12, caracterizada por el hecho de que la información procesada es transferible a una unidad de resultado, la cual combina la información procesada desde los dispositivos de procesamiento de los bloques de memoria hasta obtener un resultado.
ES96917795T 1995-06-09 1996-06-05 Estructura de memoria. Expired - Lifetime ES2210371T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
SE9502113 1995-06-09
SE9502113A SE514348C2 (sv) 1995-06-09 1995-06-09 Minnesstruktur anpassad för lagring och hämtning av vektorer

Publications (1)

Publication Number Publication Date
ES2210371T3 true ES2210371T3 (es) 2004-07-01

Family

ID=20398571

Family Applications (1)

Application Number Title Priority Date Filing Date
ES96917795T Expired - Lifetime ES2210371T3 (es) 1995-06-09 1996-06-05 Estructura de memoria.

Country Status (8)

Country Link
US (1) US6425064B2 (es)
EP (1) EP0839354B1 (es)
JP (2) JP4036270B2 (es)
AT (1) ATE252250T1 (es)
DE (1) DE69630388T2 (es)
ES (1) ES2210371T3 (es)
SE (1) SE514348C2 (es)
WO (1) WO1996042055A1 (es)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7404032B2 (en) * 2000-01-05 2008-07-22 Rambus Inc. Configurable width buffered module having switch elements
US7356639B2 (en) * 2000-01-05 2008-04-08 Rambus Inc. Configurable width buffered module having a bypass circuit
US7010642B2 (en) * 2000-01-05 2006-03-07 Rambus Inc. System featuring a controller device and a memory module that includes an integrated circuit buffer device and a plurality of integrated circuit memory devices
US7363422B2 (en) * 2000-01-05 2008-04-22 Rambus Inc. Configurable width buffered module
US7266634B2 (en) 2000-01-05 2007-09-04 Rambus Inc. Configurable width buffered module having flyby elements
US6502161B1 (en) 2000-01-05 2002-12-31 Rambus Inc. Memory system including a point-to-point linked memory subsystem
US20050010737A1 (en) * 2000-01-05 2005-01-13 Fred Ware Configurable width buffered module having splitter elements
EP1311945A1 (en) * 2000-08-22 2003-05-21 Jean-Paul Theis A configurable register file with multi-range shift register support
US7107399B2 (en) * 2001-05-11 2006-09-12 International Business Machines Corporation Scalable memory
US7110400B2 (en) * 2002-04-10 2006-09-19 Integrated Device Technology, Inc. Random access memory architecture and serial interface with continuous packet handling capability
US7339943B1 (en) * 2002-05-10 2008-03-04 Altera Corporation Apparatus and method for queuing flow management between input, intermediate and output queues
US6879526B2 (en) * 2002-10-31 2005-04-12 Ring Technology Enterprises Llc Methods and apparatus for improved memory access
DE102004038212A1 (de) * 2004-08-05 2006-03-16 Robert Bosch Gmbh FlexRay-Kommunikationsbaustein
DE102004038213A1 (de) * 2004-08-05 2006-03-16 Robert Bosch Gmbh Verfahren und Vorrichtung zum Zugriff auf Daten eines Botschaftsspeichers eines Kommunikationsbausteins
KR101257848B1 (ko) * 2005-07-13 2013-04-24 삼성전자주식회사 복합 메모리를 구비하는 데이터 저장 시스템 및 그 동작방법
US11328764B2 (en) 2005-09-26 2022-05-10 Rambus Inc. Memory system topologies including a memory die stack
US7562271B2 (en) 2005-09-26 2009-07-14 Rambus Inc. Memory system topologies including a buffer device and an integrated circuit memory device
US7464225B2 (en) * 2005-09-26 2008-12-09 Rambus Inc. Memory module including a plurality of integrated circuit memory devices and a plurality of buffer devices in a matrix topology
KR101611464B1 (ko) * 2008-10-10 2016-04-11 스펜션 엘엘씨 데이터 패턴 분석 방법 및 분석 시스템
US8818802B2 (en) * 2008-10-10 2014-08-26 Spansion Llc Real-time data pattern analysis system and method of operation thereof
JP5653856B2 (ja) * 2011-07-21 2015-01-14 ルネサスエレクトロニクス株式会社 半導体装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4621339A (en) * 1983-06-13 1986-11-04 Duke University SIMD machine using cube connected cycles network architecture for vector processing
US4747070A (en) 1984-01-09 1988-05-24 Wang Laboratories, Inc. Reconfigurable memory system
JPS60262280A (ja) * 1984-06-07 1985-12-25 Toshiba Corp メモリモジユ−ル
US4858107A (en) * 1985-03-11 1989-08-15 General Electric Company Computer device display system using conditionally asynchronous memory accessing by video display controller
JPS63225837A (ja) * 1987-03-13 1988-09-20 Fujitsu Ltd 距離付きベクトルアクセス方式
US5602780A (en) * 1993-10-20 1997-02-11 Texas Instruments Incorporated Serial to parallel and parallel to serial architecture for a RAM based FIFO memory
US5642444A (en) * 1994-07-28 1997-06-24 Univ North Carolina Specialized image processing system architecture and method for image data arrays
JPH08235130A (ja) * 1995-02-24 1996-09-13 Sony Corp 並列プロセッサ

Also Published As

Publication number Publication date
SE9502113L (sv) 1996-12-10
DE69630388D1 (de) 2003-11-20
JP4036270B2 (ja) 2008-01-23
US20010014930A1 (en) 2001-08-16
WO1996042055A1 (en) 1996-12-27
ATE252250T1 (de) 2003-11-15
JP2007335076A (ja) 2007-12-27
SE514348C2 (sv) 2001-02-12
SE9502113D0 (sv) 1995-06-09
DE69630388T2 (de) 2004-08-19
JPH11507457A (ja) 1999-06-29
JP4659792B2 (ja) 2011-03-30
US6425064B2 (en) 2002-07-23
EP0839354A1 (en) 1998-05-06
EP0839354B1 (en) 2003-10-15

Similar Documents

Publication Publication Date Title
ES2210371T3 (es) Estructura de memoria.
ES2449769T3 (es) Sistema de memoria y método con modos en serie y en paralelo
EP1191538B1 (en) A synchronous NAND DRAM architecture
US3753242A (en) Memory overlay system
PT91902B (pt) Sistema de comutacao multiplex em divisao de tempo assincrona e processo para a sua operacao
JP4870420B2 (ja) フラッシュメモリデータ記憶装置
FI83570B (fi) Minnessystem.
CN1825479B (zh) 存储器件和与存储器件交换数据的方法
ES2478274T3 (es) Difusión general selectiva de datos en dispositivos conectados en serie
US3942163A (en) CCD stack memory organization
US6684275B1 (en) Serial-to-parallel/parallel-to-serial conversion engine
US20110031999A1 (en) Programmable logic fabric
US5982700A (en) Buffer memory arrays having nonlinear columns for providing parallel data access capability and methods of operating same
KR100336330B1 (ko) 단일의어드레스입력으로부터버스트판독액세스및기록액세스를제공하는메모리장치
SE451914B (sv) Integrerad minnesanordning for en tidsomkopplare
WO1991013398A1 (en) Apparatus for transposing digital data
EP0520425B1 (en) Semiconductor memory device
US4040029A (en) Memory system with reduced block decoding
EP3826018A1 (en) Marching memory and computer system
US5166903A (en) Memory organization with arrays having an alternate data port facility
US6917545B2 (en) Dual bus memory burst architecture
US5058065A (en) Memory based line-delay architecture
US5691956A (en) Memory with fast decoding
ES2257019T3 (es) Matriz de conmutacion entre tributarios de una red de telecomunicacion y un metodo de gestion para la misma.
JPS6315673B2 (es)