Difusión general selectiva de datos en dispositivos conectados en serie.

Método para seleccionar un subconjunto de dispositivos de una pluralidad de dispositivos conectados en serie a un controlador de memorias con el fin de ejecutar una orden, que comprende:

codificar números de identificación

(ID) de cada uno del subconjunto de dispositivos para proporcionar información de código llevando a cabo operaciones matemáticas con el fin de combinar lógicamente los números de ID del subconjunto de dispositivos para generar una máscara;

proporcionar un paquete de orden que incluye un código de operación y la información de código a cada uno de la pluralidad de dispositivos;

decodificar la información de código recibida por cada uno de la pluralidad de dispositivos ejecutando, en cada dispositivo, una operación matemática sobre la máscara y un número de ID almacenado en el dispositivo, para determinar si la máscara codifica el número de ID almacenado en el dispositivo; y

ejecutar el código de operación si el número de ID almacenado en el dispositivo está codificado en la información de código recibida.

Tipo: Patente Europea. Resumen de patente/invención. Número de Solicitud: E09001914.

Solicitante: MOSAID TECHNOLOGIES INCORPORATED.

Nacionalidad solicitante: Canadá.

Dirección: 11 Hines Road, Suite 203 Ottawa, ON K2K 2X1 CANADA.

Inventor/es: PYEON,HONG BEOM.

Fecha de Publicación: .

Clasificación Internacional de Patentes:

  • SECCION G — FISICA > COMPUTO; CALCULO; CONTEO > TRATAMIENTO DE DATOS DIGITALES ELECTRICOS (computadores... > Interconexión o transferencia de información u... > G06F13/16 (para el acceso al bus de memoria (G06F 13/28 tiene prioridad))
  • SECCION G — FISICA > REGISTRO DE LA INFORMACION > MEMORIAS ESTATICAS (registro de la información basado... > G11C5/00 (Detalles de memorias cubiertos por el grupo G11C 11/00)
  • SECCION G — FISICA > REGISTRO DE LA INFORMACION > MEMORIAS ESTATICAS (registro de la información basado... > Disposiciones para escribir una información o para... > G11C7/22 (Circuitos de sincronización o de reloj para la lectura-escritura [R-W]; Generadores o gestión de señales de control para la lectura-escritura [R-W])
  • SECCION G — FISICA > REGISTRO DE LA INFORMACION > MEMORIAS ESTATICAS (registro de la información basado... > Disposiciones para seleccionar una dirección en... > G11C8/12 (Circuitos de selección de grupo, p.ej. para la selección de un bloque de memoria, la selección de un circuito integrado, la selección de una red de celdas)

PDF original: ES-2478274_T3.pdf

 

google+ twitter facebook

Fragmento de la descripción:

E09001914

DESCRIPCIÓN

Difusión general selectiva de datos en dispositivos conectados en serie.

Campo de la invención La presente invención se refiere en general a un sistema de dispositivos de memoria conectados en serie en una topología en anillo con un controlador de memorias. Más particularmente, la presente invención se refiere a la selección de dispositivos de memoria en un sistema de dispositivos de memoria conectados en serie en una topología en anillo con un controlador de memorias.

Antecedentes de la invención La memoria flash es un tipo de memoria no volátil usado comúnmente y ampliamente extendido como medios de almacenamiento de gran capacidad para electrónica de consumo, tal como, por ejemplo, cámaras digitales y reproductores digitales portátiles de música. La densidad de un componente de memoria flash disponible en la actualidad, que consta de 2 dados (dies) apilados, puede ser de hasta 32 Gbits (4 GB) , lo cual resulta adecuado para su uso en unidades de almacenamiento flash USB populares, puesto que el tamaño de un componente flash es típicamente pequeño.

La aparición de cámaras digitales de 8 megapíxeles, dispositivos digitales portátiles de entretenimiento con capacidades de música y vídeo, y unidades de disco duro de estado sólido ha estimulado la demanda de capacidades ultra-altas para almacenar las grandes cantidades de datos a las que no puede llegar el dispositivo simple de memoria flash. Por lo tanto, múltiples dispositivos de memoria flash se combinan entre sí en un sistema para incrementar de manera efectiva la capacidad de almacenamiento disponible. Por ejemplo, para tales aplicaciones se pueden requerir densidades de almacenamiento flash de 20 GB o mayores.

La figura 1 es un diagrama de bloques de un sistema 10 de la técnica anterior en el que se ha integrado un sistema de anfitrión 12. El sistema 10 de la técnica anterior incluye un controlador de memorias 14 en comunicación con el sistema de anfitrión 12, y múltiples dispositivos de memoria no volátil 16. El sistema de anfitrión 12 incluye un dispositivo de procesado, tal como un microcontrolador, microprocesador, o un sistema de ordenador. El sistema 10 de la técnica anterior de la figura 1 está organizado de manera que incluye un canal 18, estando conectados en paralelo los dispositivos de memoria 16 al canal 18. Los expertos en la materia apreciarán que el sistema 10 de la técnica anterior puede tener, conectados al mismo, un número de dispositivos de memoria mayor o menor que cuatro.

El canal 18 incluye un conjunto de buses comunes, los cuales incluyen líneas de datos y de control que están conectadas a la totalidad de sus dispositivos de memoria correspondientes. Cada dispositivo de memoria se habilita o deshabilita con señales respectivas de selección (habilitación) de chips CE1#, CE2#, CE3# y CE4#, proporcionadas por el controlador de memorias 14. El â??#â?? indica que la señal es una señal de nivel lógico bajo activo. A lo sumo, cada vez se selecciona una de las señales de selección de chip para habilitar uno de los dispositivos de memoria 16 durante una operación. El controlador de memorias 14 es responsable de emitir órdenes y datos, por medio del canal 18, a un dispositivo de memoria seleccionado, como respuesta al funcionamiento del sistema de anfitrión 12. La salida de datos de lectura de los dispositivos de memoria se transfiere, por medio del canal 18, de vuelta al controlador de memorias 14 y al sistema de anfitrión 12. El funcionamiento del sistema 10 de la técnica anterior puede ser asíncrono o síncrono. La figura 1 ilustra un ejemplo de un sistema síncrono que usa un reloj (CK) , el cual se proporciona en paralelo a cada dispositivo de memoria 16 para sincronizar la transferencia de datos sobre el canal 18. En general, se dice que el sistema 10 de la técnica anterior incluye un bus multi-drop, en el cual dispositivos de memoria 16 están conectados en paralelo con respecto al canal 18.

Una alternativa a los buses multi-drop son buses en los cuales los dispositivos de memoria están conectados en serie, tal como se muestra en el documento US 2004/148 482â??.

Existen problemas específicos que pueden tener un impacto negativo en el rendimiento del sistema. La estructura del sistema 10 de la técnica anterior plantea limitaciones físicas de rendimiento. Existe un número elevado de señales paralelas que se extienden por el sistema, y la integridad de señal correspondiente a las señales que transportan se puede ver deteriorada por la interferencia cruzada, el desfase de la señal, el efecto de carga de entrada y salida, y el ruido de conmutación simultánea (SSN) . El consumo de energía de entrada/salida en un sistema de este tipo se convierte en un problema en la medida en la que cada pista de señal entre el controlador flash y los dispositivos de memoria flash se carga y descarga frecuentemente para la señalización. Con frecuencias cada vez mayores del reloj del sistema, el consumo de energía aumentará.

Existe también un límite práctico sobre el número de dispositivos de memoria que se pueden conectar en paralelo al canal puesto que la capacidad de accionamiento de un único dispositivo de memoria es pequeña con respecto a la carga de las largas pistas de señal. Además, a medida que aumente el número de dispositivos de memoria, se requieren más señales de habilitación de chip (CE#) , y puede que sea necesario encaminar CK a los dispositivos de

E09001914

memoria adicionales, siendo todas ellas más largas puesto que se encaminan a los dispositivos de memoria. Los problemas de rendimiento del reloj debidos a una distribución extensiva del mismo son bien conocidos en la técnica, y se han convertido en una cuestión problemática en sistemas de gran tamaño de la técnica anterior con muchos dispositivos de memoria 16. Por lo tanto, para que un sistema de memoria de la técnica anterior incluya un gran número de dispositivos de memoria, o bien los dispositivos de memoria se esparcen por múltiples canales o bien el accionamiento por frecuencia del sistema de memoria debería limitarse; cualquiera de las dos opciones implica compromisos. Un controlador que tenga múltiples canales y señales adicionales de habilitación de chip hace que aumente el coste del sistema. Alternativamente, el sistema resulta limitado a un número pequeño de dispositivos de memoria.

Por lo tanto, el sistema de memoria 10 de la figura 1 no resultaría adecuado como unidad de disco de estado sólido, puesto que su densidad será limitada y su rendimiento impondrá un cuello de botella en el rendimiento del sistema de anfitrión 12. Adicionalmente, puede haber aplicaciones en las que la integridad de los datos tenga una importancia primordial. Una de las técnicas para garantizar la integridad de los datos es duplicarlos en una ubicación diferente, de manera que los datos alterados se puedan reconstruir o sustituir. En el sistema de memoria de la figura 1 por ejemplo, esto se realizaría escribiendo los mismos datos en dos dispositivos de memoria 16 diferentes. No obstante, debido a su limitación de densidad se utilizaría demasiada memoria para almacenar los datos duplicados, puesto que la densidad global del sistema de memoria se reduce efectivamente a la mitad. Por lo tanto, el sistema de memoria puede alcanzar rápidamente su capacidad de almacenamiento máxima.

Por lo tanto, es deseable proporcionar un sistema de memoria de alta densidad y alto rendimiento que pueda habilitar selectivamente múltiples dispositivos de memoria para ejecutar la misma orden, con una tara de tiempo mínima.

Sumario de la invención Es un objetivo de la presente invención proporcionar un circuito y un método para permitir que... [Seguir leyendo]

 


Reivindicaciones:

E09001914

1. Método para seleccionar un subconjunto de dispositivos de una pluralidad de dispositivos conectados en serie a un controlador de memorias con el fin de ejecutar una orden, que comprende:

codificar números de identificación (ID) de cada uno del subconjunto de dispositivos para proporcionar información de código llevando a cabo operaciones matemáticas con el fin de combinar lógicamente los números de ID del subconjunto de dispositivos para generar una máscara;

proporcionar un paquete de orden que incluye un código de operación y la información de código a cada uno de la pluralidad de dispositivos;

decodificar la información de código recibida por cada uno de la pluralidad de dispositivos ejecutando, en cada dispositivo, una operación matemática sobre la máscara y un número de ID almacenado en el dispositivo, para 15 determinar si la máscara codifica el número de ID almacenado en el dispositivo; y ejecutar el código de operación si el número de ID almacenado en el dispositivo está codificado en la información de código recibida.

2. Método según la reivindicación 1, en el que el controlador de memorias proporciona 2x de los números de ID, en el que x es un entero mayor que cero.

3. Método según la reivindicación 1, en el que cada uno de los números de ID presenta una longitud de N bits, y la

información de código incluye un número de ID de Destino de N bits de longitud y el código de máscara de N bits de 25 longitud, en el que N es un valor entero mayor que 0.

4. Método según la reivindicación 3, en el que la etapa de codificación comprende:

seleccionar un número de ID del subconjunto de dispositivos como número de ID de Destino;

comparar los números de ID de cada uno del subconjunto de dispositivos con el número de ID de Destino para generar números de ID codificados correspondientes; y combinar lógicamente un bit en la misma posición de bit de cada uno de los números de ID codificados para 35 generar un bit que presenta la posición de bit correspondiente en el código de máscara.

5. Método según la reivindicación 4, en el que existen M números de ID correspondientes al subconjunto de dispositivos, en el que M es un valor entero mayor que 0.

6. Método según la reivindicación 5, en el que la etapa de comparación comprende las etapas de:

dar salida a los resultados de comparación en una matriz de M*N; y transponer la matriz de M*N a una matriz de N*M.

7. Método según la reivindicación 6, en el que dicho un bit se genera ejecutando una función lógica sobre los resultados de la comparación en una de las N filas de la matriz de N*M.

8. Método según la reivindicación 7, en el que un primer bit del código de máscara generado a partir de la primera fila de la matriz de N*M representa un bit más significativo del código de máscara, y un último bit del código de máscara generado a partir de la última fila de la matriz de N*M representa un bit menos significativo del código de máscara.

9. Método según la reivindicación 4, en el que la etapa de comparación comprende una etapa de ejecutar una

función XNOR entre los números de ID de cada uno del subconjunto de dispositivos con el número de ID de Destino. 55

10. Método según la reivindicación 4, en el que la etapa de combinar lógicamente comprende una etapa de ejecutar una función NAND entre bits en la misma posición de bit de cada uno de los números de ID codificados.

11. Método según la reivindicación 4, en el que la etapa de decodificación comprende una etapa de procesar el número de ID almacenado en el dispositivo con el número de ID de Destino y el código de máscara para proporcionar una indicación de que todas las posiciones de bit del número de ID almacenado en el dispositivo están codificadas en el código de máscara.

12. Método según la reivindicación 11, en el que la etapa de procesado comprende

comparar los bits de cada posición de bit del número de ID almacenado en el dispositivo con los bits 18 E09001914

correspondientes de cada posición de bit correspondiente del número de ID de Destino para generar un número de ID de destino codificado;

adicionar el código de máscara al número de ID de destino codificado para proporcionar un número de ID de 5 destino codificado modificado; y multiplicar entre sí los bits del número de ID de destino codificado modificado, con el fin de proporcionar la indicación de que todas las posiciones de bit del número de ID almacenado en el dispositivo están codificadas en la máscara.

13. Método según la reivindicación 12, en el que la etapa de comparar los bits de cada posición de bit del número de ID almacenado en el dispositivo comprende una etapa de ejecución de una función lógica XNOR; la etapa de adicionar el código de máscara al número de ID de destino codificado comprende una etapa de ejecutar una función lógica OR; y la etapa de multiplicar los bits del número de ID de destino codificado modificado comprende una etapa de ejecutar una función lógica AND.

14. Método según la reivindicación 3, en el que la etapa de proporcionar el paquete de orden comprende unas etapas en las que cada uno de la pluralidad de dispositivos recibe el paquete de orden desde uno de entre un dispositivo previo y el controlador de memorias, y traslada el paquete de orden a uno de entre un dispositivo subsiguiente y el controlador de memorias, incluyendo el dispositivo previo y el dispositivo subsiguiente los dispositivos de memoria.

15. Método según la reivindicación 14, que comprende además una etapa de inhibición del traslado del paquete de orden a uno de entre el dispositivo subsiguiente y el controlador de memorias cuando el último dispositivo del 25 subconjunto de dispositivos decodifica la información de código.