ES2437999T3 - Aparato y método de operación de programa de página para dispositivos de memoria con copia de seguridad espejo de datos - Google Patents

Aparato y método de operación de programa de página para dispositivos de memoria con copia de seguridad espejo de datos Download PDF

Info

Publication number
ES2437999T3
ES2437999T3 ES08714596.7T ES08714596T ES2437999T3 ES 2437999 T3 ES2437999 T3 ES 2437999T3 ES 08714596 T ES08714596 T ES 08714596T ES 2437999 T3 ES2437999 T3 ES 2437999T3
Authority
ES
Spain
Prior art keywords
data
memory device
memory
page buffer
command
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES08714596.7T
Other languages
English (en)
Inventor
Hong Beom Pyeon
Jin-Ki Kim
Hakjune Oh
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.)
Mosaid Technologies Inc
Original Assignee
Mosaid Technologies Inc
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 Mosaid Technologies Inc filed Critical Mosaid Technologies Inc
Application granted granted Critical
Publication of ES2437999T3 publication Critical patent/ES2437999T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • G06F13/4243Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with synchronous protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4247Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C19/00Digital stores in which the information is moved stepwise, e.g. shift registers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/24Memory cell safety or protection circuits, e.g. arrangements for preventing inadvertent reading or writing; Status cells; Test cells

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

Aparato (151, 191, 211) para controlar múltiples dispositivos de memoria (120, 127, 154, 193, 213) interconectadosen serie, cada uno de los dispositivos de memoria con un búfer de página (122, 129, 158, 194, 214) y celdas dememoria (121, 128, 159), donde el aparato consta de: un procesador de datos (153, 203) configurado para ejecutar una operación de programa de página con una copiade seguridad espejo de datos: mediante la escritura de datos en el búfer de página de un dispositivo de memoria seleccionado de los múltiplesdispositivos de memoria y en el búfer de página de otro dispositivo de memoria de los múltiples dispositivos dememoria; instruyendo al dispositivo de memoria seleccionado para programar en sus celdas de memoria los datoscargados en su búfer de página; y si los datos no se programan satisfactoriamente en las celdas de memoria deldispositivo de memoria seleccionado, recuperar los datos del búfer de página del otro dispositivo de memoriamediante la relectura de los datos del búfer de página del otro dispositivo de memoria, sin programar los datosen las celdas de memoria del otro dispositivo de memoria.

Description

Aparato y método de operación de programa de página para dispositivos de memoria con copia de seguridad espejo de datos
REFERENCIA CRUZADA A APLICACIONES RELACIONADAS
CAMPO TÉCNICO
[0001] La presente invención se refiere generalmente a dispositivos semiconductores. Más concretamente, la presente invención se refiere a un aparato y un método para la operación de programa de página para dispositivos de memoria.
ANTECEDENTES
[0002] Los equipos electrónicos usan dispositivos de memoria, por ejemplo, memorias flash, para almacenar datos o información. En un sistema de memoria, un controlador de memoria programa un dispositivo de memoria flash seleccionado mediante transmisión de datos a un búfer de página en un dispositivo de memoria flash seleccionado dónde se almacena temporalmente. La programación de los datos del búfer de página en la memoria flash comienza y el resultado de la programación se verifica y el resultado verificado se genera como "fallo" o "acierto". Las operaciones de programa y verificación se ejecutan varias veces durante un periodo específico de "tiempo de programa". Después del tiempo de programa, en caso de fallo, los datos se recargan desde el controlador de memoria para reanudar la operación de programa de página en el mismo dispositivo seleccionado.
[0003] Un inconveniente es que las memorias flash requieren un tiempo de programa largo, por ejemplo, para verificar el estado del programa. La memoria dentro del controlador de memoria debe guardar los datos iniciales del programa para recuperar los datos originales del programa en caso de fallo del programa. Los datos iniciales del programa ocupan espacio en la memoria del controlador de memoria, con el resultado de que el espacio de memoria no puede usarse para otros fines.
[0004] El documento US 2006/0198202 A1 se refiere a un sistema de memoria flash que incluye un controlador flash para controlar la operación de al menos dos dispositivos de memoria flash. Un búfer de página se asigna en cada dispositivo de memoria flash, de manera que un búfer de página funciona como un búfer destino designado y otro búfer de página funciona como un búfer espejo. El controlador flash transmite los datos de la página a dos dispositivos de memoria flash simultáneamente, de tal manera que no se requiere mantener ninguna copia de seguridad de los datos de la página en el controlador flash. Por lo tanto, no hay retraso al escribir los datos de la página siguiente desde un servidor al controlador flash.
[0005] El documento US 2005/0120163 A1 se refiere a un chip de memoria flash en serie que tiene una interfaz de bus en serie con un controlador externo. Un bloque de memoria flash en el chip de memoria flash en serie puede ser leído por el controlador externo enviando un paquete de petición de lectura a través del bus en serie al chip de memoria flash en serie, que lee la memoria flash y devuelve los datos en un campo de la carga útil de datos en un paquete completado. Los datos en un paquete de petición de escritura se escriben en la memoria flash y un paquete de mensajes se envía de vuelta a través del bus en serie. El bus en serie puede ser un bus de Interconexión de Componentes Periféricos (PCI) Express con pares bidireccionales de líneas diferenciales. Los paquetes tienen cabeceras PCI-Express modificadas que definen el tipo paquete y la longitud de la carga útil de datos. Paquetes definidos por el vendedor pueden enviar comandos flash tales como reiniciar y borrar o respuestas después de operaciones tales como programar o borrar. Un motor en serie y un microcontrolador o una máquina de estados están en el chip de memoria flash en serie.
[0006] El documento US 2006/0271605 A1 se refiere a un sistema que incluye una unidad de almacenamiento primario conectada a una unidad de almacenamiento secundario de manera que los datos escritos en la unidad de almacenamiento primario se replican en la unidad de almacenamiento secundario. La unidad de almacenamiento primario en al menos un ejemplo de realización incluye la capacidad de interceptar instrucciones de entrada/salida para enrutamiento a un búfer y/o directamente a la unidad de almacenamiento secundario. El sistema, en al menos un ejemplo de realización, incluye una unidad de almacenamiento de copias de seguridad de datos de, al menos, la unidad de almacenamiento secundario sin conexión y la capacidad de actualizar la unidad de almacenamiento secundario una vez que ésta vuelva a un estado en línea.
[0007] Los documentos EP 0952525 A1 y US 2005/0286298 A1 definen el estado general de la técnica en lo que se refiere las características adicionales de las reivindicaciones dependientes anexas.
RESUMEN
[0008] La presente invención se define en las reivindicaciones independientes anexas a las que se debería hacer referencia. Las características favorables se disponen en las reivindicaciones dependientes anexas.
[0009] Según un aspecto de la presente invención, se proporciona un aparato para el control de múltiples dispositivos de memoria interconectados en serie, teniendo cada uno de los dispositivos de memoria un búfer de página y celdas de memoria. El aparato consta de un procesador de datos, configurado para ejecutar una operación de programa de página con una copia de seguridad espejo de datos: mediante la escritura de datos en el búfer de página de un dispositivo de memoria seleccionado entre los múltiples dispositivos de memoria y en el búfer de página de otro dispositivo de memoria de los múltiples dispositivos de memoria; instruyendo al dispositivo de memoria seleccionado para programar en sus celdas de memoria los datos cargados en su búfer de página; y determinando, si los datos no están satisfactoriamente programados en las celdas de memoria del dispositivo de memoria seleccionado, recuperar los datos del búfer de página del otro dispositivo de memoria.
[0010] Por ejemplo, el procesador de datos se configura para recuperar los datos del búfer de página del otro dispositivo de memoria releyendo los datos del búfer de página del otro dispositivo de memoria, sin programar los datos en las celdas de memoria del otro dispositivo de memoria.
[0011] El aparato puede constar además de almacenamiento de datos para almacenar los datos antes de la escritura de los mismos en el búfer de página del dispositivo de memoria seleccionado y en el búfer de página del otro dispositivo de memoria.
[0012] Según otro aspecto de la presente invención, se proporciona un sistema que consta de: múltiples dispositivos de memoria que están interconectados en serie, teniendo cada dispositivo de memoria un búfer de página y celdas de memoria; y un aparato para el control de los múltiples dispositivos de memoria, constando el aparato de un procesador de datos configurado para ejecutar una operación de programa de página con una copia de seguridad espejo de datos: mediante la escritura de datos en el búfer de página de un dispositivo de memoria seleccionado entre los múltiples dispositivos de memoria y en el búfer de página de otro dispositivo de memoria de los múltiples dispositivos de memoria; instruyendo al dispositivo de memoria seleccionado para programar en sus celdas de memoria los datos cargados en su búfer de página; y si los datos no están satisfactoriamente programados en las celdas de memoria del dispositivo de memoria seleccionado, recuperando los datos del búfer de página del otro dispositivo de memoria.
[0013] Según otro aspecto de la presente invención, se proporciona un método para controlar múltiples dispositivos de memoria que están interconectados en serie, teniendo cada dispositivo de memoria un búfer de página y celdas de memoria. El método consiste en: transmitir datos al búfer de página de un dispositivo de memoria seleccionado entre los múltiples dispositivos de memoria y al búfer de página de otro dispositivo de memoria de los múltiples dispositivos de memoria; instruir al dispositivo de memoria seleccionado para programar en sus celdas de memoria los datos cargados en su búfer de página; y si los datos no están satisfactoriamente programados en las celdas de memoria del dispositivo de memoria seleccionado, recuperar los datos del búfer de página del otro dispositivo de memoria.
[0014] Por ejemplo, el paso de recuperación de los datos del búfer de página del otro dispositivo de memoria consta de la relectura de los datos del búfer de página del otro dispositivo de memoria, sin programar los datos en las celdas de memoria del otro dispositivo de memoria.
[0015] El método puede constar además del almacenamiento de los datos antes de la escritura de los datos en el búfer de página del dispositivo de memoria seleccionado y en el búfer de página del otro dispositivo de memoria; y la liberación de espacio ocupado por los datos antes de determinar si los datos han sido satisfactoriamente programados en las celdas de memoria del dispositivo de memoria seleccionado.
[0016] Según otro aspecto de la presente invención, se proporciona un dispositivo de memoria para usar como uno de un conjunto de dispositivos de memoria conectados en serie. El dispositivo de memoria consta de: una conexión de entrada; una conexión de salida; una identificación de una dirección de dispositivo del dispositivo de memoria; y un controlador del dispositivo configurado para: recibir mensajes para entrar y salir de un modo de detección multi-dirección y entrar y salir del modo de detección multi-dirección en consecuencia; recibir un comando a través de la conexión de entrada, constando el comando de una dirección de dispositivo; mientras no se encuentre en el modo de detección multi-dirección, procesar el comando sólo si la dirección de dispositivo del comando se corresponde con la dirección de dispositivo del dispositivo; y mientras se encuentre en el modo de detección multi-dirección: i) procesar el comando si la dirección de dispositivo del comando es la misma que la dirección de dispositivo del dispositivo y ii) procesar el comando si la dirección de dispositivo del comando es la misma que la dirección de dispositivo de al menos otro dispositivo predeterminado.
[0017] Según otro aspecto de la presente invención, se proporciona un método en un dispositivo de memoria que forma parte de un conjunto de dispositivos de memoria conectados en serie, consistiendo el método en: mantener una dirección de dispositivo; recibir mensajes para entrar y salir de un modo de detección multi-dirección; recibir un comando que consta de una dirección de dispositivo; mientras no se encuentre en el modo de detección multi-dirección, procesar el comando sólo si la dirección destino se corresponde con la dirección de dispositivo; y mientras se encuentre en el modo de detección multi-dirección, procesar el comando si la dirección de dispositivo del comando es la misma que la dirección de dispositivo del dispositivo; y procesar el comando si la dirección de dispositivo del comando es la misma que la dirección de dispositivo de al menos otro dispositivo predeterminado.
[0018] Otros aspectos y características de la presente invención se harán aparentes a aquellos cualificados de manera general en la técnica tras la revisión de la siguiente descripción de realizaciones específicas de la invención junto con las figuras que las acompañan.
BREVE DESCRIPCIÓN DE LAS FIGURAS
[0019] Las formas de realización serán ahora descritas haciendo referencia a las figuras adjuntas en las que:
La Figura 1 es un diagrama de bloques de un ejemplo de sistema con una arquitectura que representa dispositivos conectados en serie a los que son aplicables las formas de realización de la presente invención; La Figura 2 es un esquema de ejemplos de formatos de comando para los dispositivos de memoria conectados en serie; La Figura 3 es un esquema de un ejemplo de procedimiento para programación y verificación de página; La Figura 4 es un diagrama de bloques de dos dispositivos de memoria, uno de los cuales se usa como copia de seguridad espejo de datos; La Figura 5 es un diagrama de bloques de un sistema con una arquitectura que representa dispositivos conectados en serie en la cual un búfer de página se usa como copia de seguridad espejo de datos; La Figura 6 es un diagrama de bloques de otro sistema con una arquitectura que representa dispositivos conectados en serie en la cual un búfer de página se usa como copia de seguridad espejo de datos; La Figura 7 es un ejemplo de diagrama de tiempos de habilitación e inhabilitación de un modo ignorar LSB (bit menos significativo) para el sistema de la Figura 6; La Figura 8 es un diagrama de bloques del sistema de la Figura 6 en el que se ejecuta una recuperación de datos después de un fallo del programa; La Figura 9 es un diagrama de bloques que muestra parte de los dispositivos de memoria conectados en serie mostrados en la Figura 1; La Figura 10 es un esquema de un ejemplo de circuitería de un dispositivo de memoria mostrado en la Figura 9; La Figura 11 es un diagrama de flujo de un método de operación de programa con una copia de seguridad espejo; La Figura 12 es una tabla de un ejemplo de conjunto de comandos; La Figura 13 es una tabla de un ejemplo de tabla de operación; La Figura 14 es una tabla que muestra un ejemplo de un formato detallado de comando y dirección; La Figura 15 es un ejemplo de diagrama de tiempos que muestra la temporización básica de entrada en un sistema de memoria; La Figura 16 es un ejemplo de diagrama de tiempos que muestra una secuencia de entrada de flujo de bits en un sistema NAND de memoria flash de comando modular; La Figura 17 es un ejemplo de diagrama de tiempos que muestra la temporización básica de salida en un sistema de memoria; La Figura 18 es un ejemplo de diagrama de tiempos que muestra una secuencia de salida de flujo de bits en un sistema de memoria; La Figura 19 es un diagrama de flujo de un método de operación de lectura de página; y La Figura 20 es un ejemplo de diagrama de tiempos que muestra operaciones de lectura de página y lectura de datos en ráfagas.
DESCRIPCIÓN DETALLADA
[0020] En la siguiente descripción detallada de muestras de realizaciones de la invención, se hace referencia a las figuras anexas que forman parte del presente documento y en las cuales se presentan mediante ilustración, muestras de realizaciones específicas en las que la presente invención puede ser puesta en práctica. Estas realizaciones son descritas con suficiente detalle como para habilitar a aquellos cualificados en la técnica para poner en práctica la presente invención y debe entenderse que se pueden utilizar otras realizaciones y que pueden hacerse cambios lógicos, mecánicos, eléctricos y de otro tipo sin salirse del ámbito de la presente invención. La siguiente descripción detallada, por lo tanto, no tiene que ser tomada en un sentido limitante y el ámbito de la presente invención se define por las reivindicaciones anexas.
[0021] La Figura 1 muestra un sistema según una realización de la presente invención. En referencia a la Figura 1, un sistema 150 incluye un controlador de memoria 151 y una interconexión en serie de múltiples (M) dispositivos de memoria 154-1,154-2,154-3, ..., y 154-M que están conectados en serie, siendo M un número entero mayor que uno. El controlador de memoria 151 y los dispositivos de memoria están interconectados por medio de enlaces con una anchura de datos n, donde n es un número entero mayor que o igual a uno. En el caso de que n sea uno, el enlace de interconexión será un enlace en serie y en el caso de que n sea más de uno, el enlace de interconexión será un enlace en paralelo. El controlador de memoria 151 se conecta al primer dispositivo de memoria 154-1 de la interconexión en serie. El último dispositivo de memoria 154-M se conecta también al controlador de memoria 151 de modo que el primero, segundo, tercero, ..., y m-ésimo dispositivo de memoria 154-1,154-2,154-3, ..., y 154-M de la interconexión en serie junto con el controlador de memoria 151 forman una estructura de conexión en anillo. En el ejemplo que se ilustra, los dispositivos de memoria 154-1 a 154-M son dispositivos de memoria flash. Ejemplos posteriores son también específicos para memorias flash. No obstante, debe entenderse que las realizaciones de la presente invención son también aplicables a otros tipos de dispositivos de memoria no volátil.
[0022] En el ejemplo particular mostrado en la Figura 1, cada uno de los dispositivos de memoria conectados en serie 154-1 a 154-M es un dispositivo de memoria flash como, por ejemplo, un dispositivo flash NAND. El dispositivo de memoria flash tiene un búfer de página para almacenar temporalmente información de los datos. La información almacenada se escribe en las celdas de memoria flash del dispositivo de acuerdo a la programación de página. Una vez programada, la información almacenada en el búfer de página se corrompe debido al proceso de verificación de las celdas programadas.
[0023] El controlador de memoria 151 tiene un almacenamiento de datos 152 y un procesador 153. El almacenamiento de datos 152 almacena varios datos que incluyen información sobre instrucciones de operación, direcciones y datos de memoria para ser procesados y ser almacenados en los dispositivos de memoria conectados en serie. La información sobre instrucciones de operación se usa para el control de los dispositivos de memoria conectados en serie. El almacenamiento de datos 152 es, por ejemplo, una memoria de acceso aleatorio estática (SRAM) o cualquier tipo de memoria embebida. En términos más generales, cualquier almacenamiento de datos apropiado puede ser implementado. El procesador 153 ejecuta operaciones de procesamiento de datos y control de los dispositivos de memoria que acceden a los datos almacenados en el almacenamiento de datos 152. El controlador de memoria 151 tiene múltiples conexiones: una conexión de salida de señal de comando CIO, una conexión de entrada de señal de comando COI, una conexión estroboscópica de entrada CSIO, una conexión estroboscópica de salida DSIO y una conexión de salida de reloj CKO.
[0024] En operación, el controlador de memoria 151 envía una señal SC1 de entrada de comando (CI) a través de la conexión de salida de señal de comando CIO al primer dispositivo 154-1 y recibe una señal SC(M+1) de salida de comando (CO) del último dispositivo 154-M de la interconexión en serie, a través de la conexión de entrada de señal de comando COI. También, el controlador de memoria 151 proporciona una señal SCS1 estroboscópica de entrada de comando (CSI) a través de la conexión estroboscópica de entrada CSIO y una señal SDS1 estroboscópica de entrada de datos (DSI) a través de la conexión estroboscópica de salida DSIO al primer dispositivo 154-1. Además, el controlador de memoria 151 proporciona una señal de reloj CK a través de la conexión de salida de reloj CKO a todos los dispositivos 154-1 a 154-M a la manera de una fuente de reloj común.
[0025] Los dispositivos de memoria 154-1,154-2,154-3, ..., y 154-M tienen los búferes de página 158-1,158-2,158-3, ..., y 158-M, respectivamente, y las celdas de memoria flash 159-1,159-2,159-3, ..., y 159-M, respectivamente. Cada uno de los dispositivos de memoria 154-1 a 154-M tiene una conexión de entrada de señal CI para recibir la señal SCi (i=1 a M) de un dispositivo precedente; una conexión de salida de señal CO para proporcionar la señal SC(i+1) a un dispositivo posterior; una conexión estroboscópica CSI de entrada a entrada para recibir la señal SCSi de un dispositivo precedente; una conexión estroboscópica CSO de salida a entrada para enviar una señal SCS(i+1) de salida al dispositivo posterior; una conexión estroboscópica DSI de entrada a salida para recibir Ia señal SDSi del dispositivo precedente; y una conexión estroboscópica DSO de salida a salida para enviar una señal SDS(i+1) de salida al dispositivo siguiente.
[0026] Cada uno de los dispositivos de memoria 154-1 a 154-M tiene una única dirección de dispositivo (DA) que está cableada o pre-asignada para que solo un dispositivo se pueda seleccionar o designar al mismo tiempo en operación normal. Ejemplos de detalles de una arquitectura que representa dispositivos conectados en serie se proporcionan en la Solicitud de Patente Estadounidense Número de Serie 11/594,564 titulada "Dispositivos en cascada de cadena de margarita" archivada el 31 de Julio de 2006. Otros ejemplos de detalles de una arquitectura que representa dispositivos conectados en serie se proporcionan en la Solicitud de Patente Provisional Estadounidense Número de Serie 60/868,773 titulada "Sistema y Método de Operación de Dispositivos de Memoria de Tipo Variable" archivada el 6 de Diciembre de 2006. Ejemplos de asignación de dirección de dispositivo en múltiples dispositivos de memoria conectados en serie se proporcionan en la Solicitud de Patente Provisional Estadounidense Número 60/787,710 archivada el 28 de Marzo de 2006; Solicitud de Patente Estadounidense Número 11/521,734 archivada el 15 de septiembre de 2006; Solicitud de Patente Provisional Estadounidense Número 60/802,645 archivada el 23 de Mayo de 2006; y Solicitud de Patente Estadounidense Número de Serie 11/750,649 archivada el 18 de Mayo de 2007.
[0027] En operación normal, el controlador de memoria 151 envía la señal CI SC1 conteniendo comandos. Un comando incluye una dirección de dispositivo (DA) y un código de operación (en adelante código OP) que representa una instrucción de operación. Algunos comandos incluyen adicionalmente información de dirección y algunos comandos incluyen adicionalmente datos. Cada código OP se asocia con una operación correspondiente. Cada comando es también designado en este caso como perteneciente a un tipo que se asocia con el código OP contenido en el comando. Por ejemplo, un comando con un código OP de lectura es designado como un "comando de lectura". Cada uno de los dispositivos de memoria 154-1 a 154-M recibe comandos por medio de su correspondiente CI tanto directamente desde el controlador de memoria, en el caso de que un dispositivo dado sea el dispositivo de memoria conectado directamente al controlador de memoria (dispositivo 154-1 en el ejemplo que se ilustra), como desde un dispositivo de memoria precedente adyacente, en el caso de otros dispositivos. Cada uno de los dispositivos de memoria 154-1 a 154-M usa su correspondiente CO para reenviar comandos tanto al controlador de memoria 151 en el caso que un dispositivo dado sea el que tiene su salida conectada al controlador de memoria (dispositivo 154-M en el ejemplo que se ilustra), como a un dispositivo posterior adyacente. Un comando que contiene un código OP de escritura direccionado a un determinado dispositivo de memoria flash resulta en la escritura de datos en un búfer de página de ese dispositivo y posteriormente en la transferencia desde el búfer de página a las celdas de memoria flash del
dispositivo de memoria. Un comando que contiene un código OP de lectura direccionado a un determinado dispositivo de memoria flash resulta en la lectura de datos desde las celdas de memoria flash al búfer de página del dispositivo de memoria y posteriormente en la transferencia fuera del búfer de página.
[0028] El controlador de memoria 151 emite comandos, cada uno de los cuales incluye una dirección de dispositivo (DA) y un código de operación de comando (en adelante código OP). Algunos comandos pueden adicionalmente incluir información de dirección y algunos comandos pueden adicionalmente incluir datos. Cada código OP se asocia con una operación correspondiente. Cada comando es también designado en este caso como perteneciente a un tipo que se asocia con el código OP contenido en el comando. Por ejemplo, un comando con un código OP de lectura puede designarse como un "comando de lectura". Por ejemplo, los comandos para usar en los dispositivos conectados en serie son comandos modulares flexibles, cuya estructura se muestra en la Tabla I:
DA
código OP RA CA DATOS
1 byte
1 byte
3 bytes 2 bytes 1-2112 bytes
[0029] En la tabla I, DA significa dirección de dispositivo; código OP significa código de operación; RA significa dirección de fila; CA significa dirección de columna; y DATOS significa datos de escritura. Ejemplos de comandos asociados a códigos OP son un comando "carga de datos en ráfagas" y un comando "lectura de datos en ráfagas". Se dan los siguientes casos: (i) tanto dirección de fila como dirección de columna; (ii) ni dirección de fila ni dirección de columna;
(iii) sin datos.
[0030] La Figura 2 es un esquema de ejemplos de formatos de comando para los dispositivos de memoria interconectados en serie. Haciendo referencia ahora a la Figura 2, un primer formato de comando 109-1 incluye un número de identificación ID y un código OP. El número ID se utiliza únicamente para identificar un dispositivo de memoria seleccionado, mientras que campo código OP contiene el código OP que va a ser ejecutado por el dispositivo seleccionado. Los comandos con el primer formato de comando 109-1 pueden usarse, por ejemplo, para comandos que contienen códigos OP para leer un valor de registro. Un segundo formato de comando 109-2 incluye un número ID, un código OP y datos. Los comandos el segundo formato de comando 109-2 pueden usarse, por ejemplo, para comandos que contienen códigos OP para escribir datos en un registro. Un tercer formato de comando 109-3 incluye un número ID, un código OP y direcciones adicionales. Las direcciones adicionales pueden incluir, por ejemplo, direcciones de fila y/o columna para direccionar una ubicación en las celdas de memoria. Los comandos con el tercer formato de comando 109-3 pueden usarse, por ejemplo, para comandos que contienen códigos OP para leer datos de las celdas de memoria de un dispositivo de memoria seleccionado. Un cuarto formato de comando 109-4 incluye un número ID, un código OP, direcciones adicionales y datos. Los comandos con el cuarto formato de comando 109-4 pueden usarse, por ejemplo, para comandos que contienen códigos OP para escribir datos en las celdas de memoria de un dispositivo de memoria seleccionado. Nótese que los cuatro ejemplos de formatos de comando 109-1,109-2,109-3 y 109-4 empiezan con un número ID para fines de direccionamiento. Se debe entender a partir de lo anterior que el término "comando" como se usa en este caso no se refiere meramente a un código OP de comando, puesto que un comando puede incluir un número ID, un código OP, direcciones adicionales, datos o cualquier otra Información acerca del control de un conjunto de dispositivos de memoria interconectados en serie.
[0031] Un ejemplo particular de las estructuras de comando arriba mencionadas se enseña en la Solicitud de Patente Estadounidense de titularidad compartida y en tramitación junto con la presente de Número 11/840,692 archivada el 17 de Agosto de 2007 y la Solicitud de Patente Provisional Estadounidense número 60/892,705 archivada el 2 de Marzo de 2007. Las aplicaciones revelan diferentes estructuras de comando para distinguir operaciones fundamentales de acceso, que implican tiempos de procesamiento relativamente largos, de operaciones de acceso al búfer de página que implican tiempos de acceso relativamente cortos. Más adelante se ofrecen detalles adicionales de la estructura de comando modular bajo el encabezamiento "Estructura de Comando Modular".
[0032] Haciendo referencia de nuevo a la Figura 1, cada uno de los dispositivos de memoria 154-1,154-2,154-3, ..., y 154-M recibe órdenes a través de su correspondiente CI tanto directamente desde el controlador de memoria, en el caso de que un dispositivo dado sea el dispositivo de memoria conectado directamente al controlador de memoria (dispositivo 154-1 en el ejemplo que se ilustra), como desde un dispositivo precedente adyacente, en el caso de otros dispositivos. Cada dispositivo de memoria usa su correspondiente CO para reenviar comandos, tanto al controlador de memoria, en el caso de que un dispositivo dado sea el que tiene su salida conectada al controlador de memoria (dispositivo 154-M en el ejemplo que se ilustra), como a un dispositivo posterior adyacente. Con las estructuras de comando convencionales, un comando que contiene un código OP de lectura direccionado a un determinado dispositivo de memoria flash resulta en la lectura de datos desde las celdas de memoria flash al búfer de página del dispositivo de memoria y posteriormente en la transferencia fuera del búfer de página. Un comando que contiene un código OP de escritura direccionado a un determinado dispositivo de memoria flash resulta en la escritura de datos en un búfer de página de ese dispositivo y posteriormente en la transferencia del búfer de página a las celdas de memoria flash del dispositivo de memoria.
[0033] La Figura 3 muestra un ejemplo de procedimiento para programación y verificación de página. Haciendo referencia a las figuras 1 a 3, se describirá un ejemplo de cómo se realiza una operación de escritura. Se asume que los
datos van a ser escritos en el dispositivo de memoria 154-2. Los datos a programar (por ejemplo: 100110...0100) se cargan en el búfer de página 158 del dispositivo de memoria 154-2 desde los elementos de almacenamiento 152 del controlador de memoria 151 (paso 112-1). La programación de los datos en una dirección de fila asignada (dirección de página) de la memoria flash comienza (paso 112-2). El resultado de la programación es verificado (paso 112-3). Se produce un resultado verificado en el búfer de página, que sobrescribe el contenido del búfer de página que se escribió en el núcleo de la memoria flash con estados '1' indicando acierto y estados '0' indicando fallo. La operación de programación puede no dar acierto debido a defectos en las celdas de memoria, desgaste del óxido de compuerta de la celda u otros defectos. Internamente, las operaciones de programar y verificar se ejecutan varias veces durante un periodo específico que se llama tiempo de programa. Como se indica en 112-4, los contenidos finales del búfer de página 158 se transforman todos en estados '1' si todas celdas de la fila seleccionada (dirección de página) están programadas correctamente. Después del tiempo de programa, si todavía existe algún valor '0' en el búfer de página 158 del dispositivo 154-2, entonces el programa de página ha fallado, como se indica en 112-5. En caso de fallo, los datos se recargan desde los elementos de almacenamiento 152 del controlador de memoria 151 para reanudar la operación de programa de página en una dirección de fila diferente (dirección de página) del mismo dispositivo seleccionado.
[0034] En general, las memorias flash tienen una limitación fundamental en la larga duración del tiempo de programa debido a las características de la celda y el tiempo usado para verificar el estado del programa. Debido a la probabilidad de fallo de la operación de programa de página, los elementos de almacenamiento de datos 152 del controlador de memoria 151 guardan los datos iniciales del programa para permitir la recuperación de los datos originales del programa en caso de fallo de programa. El resultado es que los datos iniciales del programa ocupan espacio en los elementos de almacenamiento de datos 151 evitando de este modo que el espacio sea usado para otros fines. Esto puede suponer tener que esperar hasta que la operación y verificación del programa de página se haya completado antes de realizar otras operaciones de programa de página. Una posible estrategia para mejorar el rendimiento puede ser aumentar la capacidad de los elementos de almacenamiento en el controlador de memoria, pero esto puede ser costoso.
[0035] En el ejemplo de sistema 150 mostrado en la Figura 1, cuando se ejecuta una operación de programa de página con un dispositivo de memoria seleccionado, el controlador de memoria 151 carga los datos en el búfer de página 158 del dispositivo de memoria seleccionado y también en el búfer de página de otro dispositivo de memoria para almacenar una copia de seguridad de los datos. En este ejemplo, se asume que el dispositivo de memoria seleccionado es el primer dispositivo de memoria 154-1 y el otro dispositivo de memoria es el segundo dispositivo de memoria 154-2. En términos más generales, el dispositivo de memoria seleccionado y el otro dispositivo de memoria pueden ser dos cualesquiera de los dispositivos de memoria 154-1,154-2,154-3, ..., y 154-M. En el caso de que los datos no se programen satisfactoriamente en las celdas de memoria del dispositivo de memoria seleccionado 154-1, entonces el controlador de memoria 151 recupera los datos del búfer de página 158 del segundo dispositivo de memoria 154-2. Se accede al búfer de página 158 del segundo dispositivo de memoria 154-2 independientemente de la operación de programa. Esto permite que los datos sean recuperados sin tener que programar los datos en las celdas de memoria del segundo dispositivo de memoria 154-2. Ya que una copia de los datos se almacena en el búfer de página 158 del segundo dispositivo de memoria 154-2, el controlador de memoria 151 no necesita almacenar localmente los datos en sus elementos de almacenamiento de datos 152. Por lo tanto, el controlador de memoria 151 puede liberar espacio en sus elementos de almacenamiento de datos 152 donde los datos se almacenan antes determinar si los datos se han programado satisfactoriamente en las celdas de memoria del dispositivo de memoria seleccionado 154-1.
[0036] En el ejemplo particular, con motivo de permitir a los búferes de página operar como una copia de seguridad espejo, según una realización de la invención, se usan tres comandos de acceso a dispositivos de memoria "modulares". El primero se conoce como un comando de "carga de datos en ráfagas" y contiene un código OP de carga de datos en ráfagas. Éste causa que los datos se escriban en el búfer de página, pero este comando por sí solo no causa que los datos sean transferidos a las celdas de memoria flash. En los ejemplos que siguen, 4Xh y 5Xh se usan para esto, pero, en términos más generales, la estructura de comando estaría definida en función de cada implementación específica. El segundo se conoce como un comando de "lectura de datos en ráfagas" y contiene uncódigo OP de lectura de datos en ráfagas. Éste causa que los datos sean leídos directamente del búfer de página sin leer primero de las celdas de memoria flash. En los ejemplos que siguen, 2Xh se usa para esto, pero, en términos más generales, la estructura de comando estaría definida en función de cada implementación específica. El tercero se conoce como un comando de "programa de página" y contiene un código OP programa de página. Éste causa que los datos que fueron previamente almacenados en el búfer de página se escriban en la memoria flash, destruyendo el contenido del búfer de página en el proceso para fines de verificación. En los ejemplos que siguen, 6Xh se usa para esto, pero, en términos más generales, la estructura de comando estaría definida en función de cada implementación específica.
[0037] La Figura 4 muestra dos dispositivos de memoria expuestos en la Figura 1. En referencia a las figuras 1 y 4, dos dispositivos 120 y 127 representan dos dispositivos en el sistema 150 y dos dispositivos son adyacentes a o remotos entre sí en la configuración de interconexión. Uno de los dos dispositivos 120 y 127 se usa como una copia de seguridad espejo de datos.
[0038] El primer dispositivo de memoria 120 tiene una conexión de entrada 139, una conexión de salida 140, celdas de memoria flash 121, un búfer de página 122 y un controlador del dispositivo 126. De forma similar, el segundo dispositivo
de memoria 127 tiene una conexión de entrada 141, una conexión de salida 142, celdas de memoria flash 128, un búfer de página 129 y un controlador del dispositivo 130. Los dos dispositivos de memoria 120,127 son cualesquiera dos dispositivos de memoria que forman parte de una arquitectura que representa dispositivos interconectados. Para el ejemplo particular, uno de los dos dispositivos de memoria 120 y 127 se usa como copia de seguridad espejo de datos. Los controladores de dispositivo 126 y 130 incluyen cualquier circuitería apropiada para facilitar el procesamiento de comandos. Los ejemplos posteriores no harán mención a ningún controlador de dispositivo; no obstante, debe entenderse que éstos incluirían una circuitería para procesamiento de comandos.
[0039] En operación, el búfer de página 122 del primer dispositivo de memoria 120 está cargado con datos por el comando de carga de datos en ráfagas (4Xh y 5Xh) a través de la conexión de entrada 139 como se indica en 123. En este ejemplo, los datos son también cargados en el búfer de página 129 del segundo dispositivo de memoria 127 a través de la conexión de entrada 141 como se indica en 137. La programación de página dentro del dispositivo de memoria 120 es llevada a cabo por un comando de programación de página (6Xh) como se indica en 124. El búfer de página 122 se lee a través de la conexión de salida 140 usando el “Estado del Dispositivo de Lectura (DOh)” como se indica en 125, para verificar si la operación de programación de página fue satisfactoria o no. El segundo dispositivo de memoria 127 se usa como una copia de seguridad espejo para la operación de programa de página en el caso de que la programación de página falle para el primer dispositivo de memoria 120. Un controlador de memoria (no mostrado) sigue la pista del dispositivo de memoria que está siendo usado como copia de seguridad espejo. En caso de fallo de programa, los datos se pueden recuperar de la copia de seguridad espejo a través de la conexión de salida 142 como se indica en 138. Esto evita la necesidad de que el controlador de memoria almacene el contenido en sus elementos de almacenamiento. Así, la ubicación usada por el controlador de memoria para almacenar los datos antes de ser programados en los búferes de página 122,129 puede liberarse para otros fines.
[0040] La función espejo del búfer de página para sistemas que tienen una arquitectura en la que los dispositivos se interconectan en serie se describirá ahora haciendo referencia a las Figuras 5 y 6. La Figura 5 ofrece un ejemplo en el que los mismos datos son escritos en dos búferes de página diferentes usando dos comandos de escritura separados (es decir, uno para cada búfer de página). En otra implementación, un único comando de escritura se utiliza para escribir los mismos datos en dos o más búferes de página. Un ejemplo de esto se muestra más adelante haciendo referencia a la Figura 6.
[0041] La Figura 5 muestra un sistema con una arquitectura que representa dispositivos conectados en serie en la cual un búfer de página se usa como copia de seguridad espejo de datos. Haciendo referencia primero a la Figura 5, un sistema 190 con un controlador de memoria 191 y múltiples dispositivos de memoria 193-1,193-2,193-3, ..., y 193-15 que se conectan en serie. En el ejemplo particular, el sistema 190 incluye 15 dispositivos de memoria. En términos más generales se pueden proporcionar dos o más. El controlador de memoria 191 tiene elementos de almacenamiento de datos 192 y un procesador de datos 203. El controlador de memoria 191 también tiene una conexión de salida CIO para conectar con el primer dispositivo de memoria 193-1 y una conexión de entrada COI para conectar con el último dispositivo de memoria 199-15. Los dispositivos de memoria 193-1,193-2,193-3, ..., y 193-15 tienen los búferes de página 194, 196,198 y 190, respectivamente, y cada uno de los dispositivos de memoria 193-1,193-2,193-3, ..., y 193-15 tiene celdas de memoria (no mostrado).
[0042] El controlador de memoria 191 y los dispositivos de memoria 193-1,193-2,193-3, ..., y 193-15 se interconectan con enlaces en serie. Otros ejemplos descritos aquí son también específicos para enlaces en serie entre dispositivos consecutivos. No obstante, debe entenderse que las realizaciones de la invención son también aplicables a arquitecturas que representan enlaces en paralelo entre dispositivos consecutivos. En términos más generales, las realizaciones de la invención son aplicables a arquitecturas que representan sucesiones de enlaces entre dispositivos consecutivos. Las sucesiones de enlaces pueden ser de enlaces en serie o de enlaces en paralelo. El sistema 190 usa un búfer de página como una copia de seguridad espejo de datos. En el ejemplo que se ilustra, dos dispositivos se interconectan por un enlace con una clavija de entrada/salida (I/O). Alternativamente, un enlace puede incluir múltiples clavijas I/O. Los dispositivos de memoria 193-1,193-2,193-3, ..., y 193-15 tienen sus correspondientes circuiterías para el procesamiento de una señal a través de la conexión CI desde un dispositivo precedente y el envío de un resultado procesado a través de la conexión CO a un dispositivo posterior. Por simplicidad, una circuitería tal como se muestra mediante un flip-flop tipo-D representativo (D-FF).
[0043] Para este ejemplo, se asume que el controlador de memoria 191 necesita escribir datos en las celdas de memoria del dispositivo de memoria 193-1 y que el búfer de página 194-2 del dispositivo de memoria 193-2 está disponible para usarse como copia de seguridad espejo. En operación, el controlador de memoria 191 emite un primer comando de lectura para cargar datos desde los elementos de almacenamiento de datos 192 al búfer de página 194-1 del primer dispositivo de memoria 193-1. La carga de los datos en el búfer de página 194-1 se indica generalmente en
201. Para tener una copia de seguridad de datos en caso de que falle la programación de página, el controlador de memoria 191 emite también un comando de lectura (carga del búfer de página) para cargar los mismos datos en el búfer de página 194-2 del segundo dispositivo de memoria 193-2. La carga de los datos en el búfer de página 194-2 se indica generalmente en 202. El controlador de memoria 191 emite luego un comando de programación de página para programar los datos que han sido cargados en el búfer de página 194-1 en las celdas de memoria (no mostradas) del primer dispositivo de memoria 193-1. En el ejemplo que se ilustra, los datos no se programan en las celdas de memoria del segundo dispositivo de memoria 193-2. En su lugar, los datos se mantienen en el búfer de página 194-1 como una
copia de seguridad espejo de los datos en caso de que la programación de página para el primer dispositivo de memoria 193-1 falle.
[0044] El controlador de memoria 191 sigue la pista del dispositivo de memoria 193-2 que se está usando como copia de seguridad espejo. En caso de fallo de programa, los datos se pueden recuperar de la copia de seguridad espejo. Esto evita la necesidad de que el controlador de memoria 191 almacene el contenido en sus elementos de almacenamiento de datos 192. Por lo tanto, tan pronto como las cargas de búfer de página estén hechas, los elementos de almacenamiento de datos 192, previamente usados para memorizar los datos, se liberan para otros usos. El controlador de memoria sigue la pista de los elementos de almacenamiento de datos 192 que están libres y cuales están en uso. En caso de éxito en la operación de programación de página, las ubicaciones en el búfer de página 194-2 que están siendo usadas como copia de seguridad espejo son liberadas.
[0045] Nótese que el primer dispositivo de memoria 193-1 y el segundo dispositivo de memoria 193-2 son seleccionados por el controlador de memoria 191. El controlador de memoria 191 puede alternativamente seleccionar dispositivos de memoria diferentes. Cada comando de escritura es direccionado por la DA a un dispositivo de memoria destino.
[0046] Nótese que para los dispositivos conectados en serie, hay un retardo de latencia basado en el ciclo de reloj entre dispositivos de memoria para sincronizar el resultado de salida (CO) con el de entrada (CI). La latencia se puede determinar de acuerdo al sistema y especificaciones del dispositivo. Todos los ejemplos asumen una latencia de un ciclo de reloj entre entrada y salida. Por lo tanto, entre dos dispositivos de memoria adyacentes, hay un ciclo de diferencia cuando los datos de entrada son capturados. No obstante, debe entenderse que la latencia de ciclo de reloj puede ser alternativamente más pequeña, tanto como de medio ciclo, o superior, tanto como mayor de dos ciclos. Independientemente, los dispositivos de memoria recogen flujos de entrada con retardo de latencia.
[0047] La Figura 6 muestra otro sistema que tiene una arquitectura que representa dispositivos conectados en serie en la cual un búfer de página se usa como copia de seguridad espejo de datos. En referencia a la Figura 6, un sistema 210 que usa un búfer de página 214-2 como copia de seguridad espejo de datos. El sistema 210 tiene un controlador de memoria 211 y múltiples dispositivos de memoria 213-1,213-2,213-3, ..., y 213-15. El controlador de memoria 211 tiene elementos de almacenamiento de datos 212, que son, por ejemplo, un SRAM. El controlador de memoria 211 también tiene un procesador de datos 209, una conexión de salida CIO para conectarse con el primer dispositivo de memoria 213-1 y una conexión de entrada COI para conectarse con el último dispositivo de memoria 213-15. Los dispositivos de memoria 213-1,213-2,213-3, ..., y 213-15 tienen búferes de página 214-1,214-2,214-3, ..., y 214-15, respectivamente, y cada uno de los dispositivos de memoria tiene celdas de memoria (no mostrado). El controlador de memoria 211 y los dispositivos de memoria 213-1,213-2,213-3, ..., y 213-15 se interconectan con enlaces. Un ejemplo detallado de operación de copia de seguridad espejo para el sistema de la Figura 6 se describe más adelante.
[0048] En un ejemplo de sistema, un dispositivo de memoria que tiene que funcionar como una copia de seguridad espejo de un dispositivo de memoria dado se define estáticamente. Un ejemplo particular de tal definición estática se define en las tablas que siguen, en las que se asume que: para un dispositivo dado que tiene una dirección de dispositivo par, el dispositivo que tiene que funcionar como copia de seguridad espejo para el dispositivo dado es el dispositivo que tiene una dirección superior en uno a la del dispositivo dado (ver tabla 2) y para un dispositivo dado que tiene una dirección impar, el dispositivo que tiene que funcionar como copia de seguridad espejo para el dispositivo dado es el dispositivo que tiene una dirección inferior en uno a la del dispositivo de memoria dado (ver tabla 3).
Tabla 2: para direcciones de dispositivo pares, asociación estática entre la Dirección Destino Designada (DAt) y Dirección Espejo (MA) definida por: MA = DAt + 1
Dirección Destino Designada (DAt)
Dirección Espejo (MA)
0000
0001
0010
0011
0100
0101
----
----
----
----
1010
1011
1100
1101
Tabla 3: para direcciones de dispositivo impares, asociación estática entre la Dirección Destino Designada (DAt) y Dirección Espejo (MA) definida por: MA = DAt – 1
0001
0000
0011
0010
0101
0100
----
----
----
----
1011
1010
1101
1100
[0049] En los ejemplos definidos por las tablas 2 y 3 anteriores, el dispositivo destino designado y el dispositivo espejo comparten direcciones comunes con la excepción del LSB (bit menos significativo). En términos más generales, en algunos ejemplos, la relación entre el dispositivo destino designado y el dispositivo espejo se utiliza para direccionar eficazmente los dos dispositivos sin requerir que se envíen dos órdenes separadas.
[0050] Un ejemplo específico de esto se aplica a las definiciones del dispositivo de copia de seguridad espejo en las tablas 2 y 3, en las que un modo nuevo de operación es denominado como "modo ignorar LSB", en el que todos los dispositivos comparan todos los bits de la dirección de cada comando entrante, excepto el LSB, con los bits correspondientes de la dirección de dispositivo del dispositivo (a saber, todos los bits excepto el LSB). En dicho modo, un dispositivo que tiene la dirección destino designada y un dispositivo espejo apropiado procesarán ambos el comando. En algunas implementaciones, se envía primero un comando para activar el modo ignorar LSB. Esto puede hacerse usando una dirección que es procesada por todos los dispositivos, denominada como dirección de difusión. Esto es seguido de un comando para cargar datos al búfer de página, que da como resultado que los datos se carguen al búfer de página de tanto un dispositivo destino designado como del dispositivo de espejo. Después de esto, el modo ignorar LSB es desactivado nuevamente y un comando para escribir el contenido del búfer de página del dispositivo destino designado en la memoria central es enviado y procesado sólo por el dispositivo destino designado. En otro ejemplo, se define un código OP diferente que significa modo ignorar LSB para este comando. En otra realización, ignorar modo LSB sólo está activo como máximo para un comando posterior y como tal, no hay necesidad de desactivar modo ignorar LSB si este tipo de comando ha sido enviado. En otra forma de realización, otro campo en un comando se utiliza para denotar modo ignorar LSB.
[0051] Un ejemplo de esto será ahora descrito haciendo referencia a la Figura 6 dónde se asume que el controlador de memoria 211 ha determinado escribir datos en las celdas de memoria del dispositivo de memoria 213-1, mientras usa el búfer de página 214-2 del dispositivo de memoria 213-2 como copia de seguridad espejo. Este ejemplo difiere del ejemplo de la Figura 5 en que el controlador de memoria 211 emite un único comando de lectura para cargar datos de los elementos de almacenamiento de datos 212 tanto en el búfer de página 214-1 del primer dispositivo de memoria 213-1 como en el búfer de página 214-2 del segundo dispositivo de memoria 213-2. Esto se lleva a cabo durante un "modo ignorar LSB", donde los dispositivos de memoria ignoran el LSB de la dirección de dispositivo destino encontrada en el único comando de lectura. En este ejemplo, el controlador de memoria 211 manda un comando “ignorar LSB” a todos los dispositivos de memoria 213-1,213-2,213-3, ..., y 213-15 de los dispositivos conectados en serie para informarles de que ignoren el LSB de la dirección de dispositivo destino de comandos posteriormente recibidos. El comando ignorar LSB es, por ejemplo, un comando de “Registro de Configuración de Enlace de Escritura”' con un código OP de FFh que se envía a una dirección difusión que es procesada por todos los dispositivos de memoria. Cualquier estructura apropiada para este tipo de comando de difusión puede ser usada; en términos más generales, cualquier mecanismo apropiado para habilitar el modo ignorar LSB puede ser implementado. Varios ejemplos han sido proporcionados anteriormente.
[0052] Una vez que el modo ignorar LSB es habilitado, dos dispositivos de memoria son seleccionados por una única dirección destino. Por ejemplo, un comando de carga de búfer de página con una dirección destino de "0000" será procesada por el primer dispositivo de memoria 213-1 con una dirección de dispositivo (DA) de "0000" y el segundo dispositivo de memoria 213-2 con una dirección de dispositivo de "0001". Nótese que los dispositivos de memoria primero y segundo 213-1 y 213-2 tienen direcciones del dispositivo idénticas excepto en LSB. Uno de los dos dispositivos de memoria 213-1 y 213-2 (p. ej., el primer dispositivo de memoria 213-1) se usa como un "dispositivo destino designado", mientras que el otro dispositivo de memoria (p. ej., el dispositivo de memoria 213-2) se usa como un "dispositivo espejo", cuyo búfer de página almacena datos de programa espejo. Una vez que el comando de carga del búfer de página es emitido, la carga de datos comienza. Los búferes de página 214-1 y 214-2 de dos dispositivos seleccionados 213-1 y 213-2 almacenan los datos dentro de ellos. La carga de los datos en los búferes de página 214-1 y 214-2 se indica generalmente en 221 y 222. Antes de la programación, el modo ignorar LSB se reinicia y la operación normal, en la que sólo un dispositivo de memoria es seleccionado cada vez, se reanuda. Esto es, por ejemplo, llevado a cabo emitiendo otro comando de difusión. Ejemplos de detalles de temporización de la habilitación e inhabilitación del modo ignorar LSB para el sistema 210 se ofrecen más adelante en referencia a la Figura 7.
[0053] La Figura 7 muestra un ejemplo de diagrama de tiempos de la habilitación e inhabilitación un modo ignorar LSB
para el sistema de la Figura 6. En referencia a las figuras 6 y 7, el controlador de memoria 211 emite tres señales: una señal de reloj CK; una señal estroboscópica de entrada de comando CSI y una señal de entrada de comando CI. Nótese que la señal CSI se afirma durante tres etapas, a saber, etapas primera, segunda y tercera.
[0054] La primera etapa se indica en 281. El controlador de memoria 211 manda un comando “ignorar LSB" para informar a los dispositivos de memoria de que ignoren el LSB de la dirección de dispositivo destino de comandos posteriormente recibidos. El comando contiene una dirección de difusión DA y un código OP para habilitar el modo ignorar LSB. Aquí se asume que 'FF' es una dirección difusión que hace que todos los dispositivos de memoria de los dispositivos de memoria conectados en serie acepten y procesen este comando.
[0055] La segunda etapa se indica en 282. El controlador de memoria 211 transmite un comando para cargar datos en los búferes de página 214-1 y 214-2 de los dos primeros dispositivos de memoria 213-1 y 213-2. El comando incluye el identificador del dispositivo (ID) para el primer dispositivo de memoria 213-1 y la instrucción de carga de datos en ráfagas (CMD). Ya que el modo ignorar LSB ha sido habilitado, tanto el primero como el segundo dispositivo de memoria 213-1 y 213-2 procesan el comando y cargan los datos en sus búferes de página 214-1 y 214-2.
[0056] La tercera etapa se indica en 283. El controlador de memoria 211 transmite un comando para la inhabilitación del modo ignorar LSB. El ID es otra vez el ID de difusión “FF”.
[0057] Una vez el modo ignorar LSB ha sido inhabilitado, el controlador de memoria 211 emite un comando de programa de página para programar los datos que han sido cargados en el búfer de página 214-1 en las celdas de memoria (no mostrado) del primer dispositivo de memoria 213-1. En el ejemplo que se ilustra, los datos no se programan en las celdas de memoria (no mostrado) del segundo dispositivo de memoria 213-2. En cambio, los datos se mantienen en el búfer de página 214-2 del segundo dispositivo de memoria 213-2 como una copia de seguridad espejo de los datos en el caso de que la programación de página para el primer dispositivo de memoria 213-1 falle. No se debería acceder al segundo dispositivo de memoria 213-2 para ninguna operación principal usando el búfer de página 214-2. No obstante, comandos basados en registros, como estado, lectura o escritura de registro de configuración son posibles. Otros dispositivos de memoria 213-3, ..., y 213-15 puede ser accedidos libremente.
[0058] La Figura 8 muestra el sistema 210 de la Figura 6 en el que una recuperación de datos se realiza después de un fallo del programa. Haciendo referencia ahora a Figura 8, una ruta de datos para la recuperación de datos se muestra generalmente en 223. Al principio, los datos de programa en el búfer espejo 214-2 del segundo dispositivo de memoria 213-2 se transmiten a los elementos de almacenamiento de datos 212 del controlador de memoria 211 para así permitir al controlador de memoria 211 recuperar los datos de iniciales del programa que pueden no haber sido guardados en los elementos de almacenamiento de datos 212 debido a estar siendo usados para otro fin. A continuación, los datos de programa recuperados del búfer de espejo 214-2 se envían a una dirección de página nueva mediante la ejecución de una carga de búfer de página y un programa de página. Esto puede ser para otra página en el primer dispositivo de memoria 213-1 o una página en otro dispositivo de memoria. Si es otro dispositivo de memoria, el proceso comienza desde cero para recargar los datos en dos búferes de página. Alternativamente, los datos cargados en el búfer espejo 214-2 se pueden mantener mientras los datos recuperados se cargan en el búfer de página de otro dispositivo de memoria. El controlador de memoria 211 sigue la pista de, y no usa, las páginas fallidas. En el ejemplo representado en la Figura 8, los datos de programa recuperados del búfer espejo 214-2 se envían al búfer de página 214-1 de otro dispositivo de memoria 213-1 como se indica en 224.
[0059] En los ejemplos ilustrados ofrecidos más arriba, no se proporcionan detalles específicos de los dispositivos de memoria para la implementación de la característica ignorar LSB. Debe entenderse que los dispositivos de memoria se pueden implementar con cualquier circuitería de control apropiada para conseguir la característica ignorar LSB. Una implementación específica se proporciona a continuación en referencia a las figuras 9 y 10 para uso ilustrativo.
[0060] La Figura 9 muestra parte de los dispositivos de memoria conectados en serie mostrados en la Figura 1. Como se muestra, la señal de comando de entrada SCi a un dispositivo 154-i desde un dispositivo precedente 154-(i-1) se puede transmitir al dispositivo posterior 154-(i+1).
[0061] La Figura 10 muestra circuitería de dispositivo de memoria para usar en un dispositivo de memoria de entre los dispositivos conectados en serie. La circuitería del dispositivo de memoria implementa la característica Ignorar LSB. En referencia a la Figura 10, un dispositivo de memoria 154-i tiene múltiples entradas que incluyen una entrada de reloj CLK para recibir la señal de reloj CK, una entrada estroboscópica de comando CSI para recibir la señal estroboscópica de SCSi, una entrada estroboscópica de datos DSI para recibir la señal estroboscópica de datos SDSi y una entrada de comando CI para recibir la señal de entrada de comando SCi. El dispositivo de memoria 154-i tiene múltiples salidas que incluyen una salida estroboscópica de comando CSO para emitir la señal estroboscópica de comando SCS(i+1), una salida estroboscópica de datos DSO para emitir la señal estroboscópica de salida de datos SDS(i+1) y el comando salida CO para emitir la señal de entrada de comando SC(i+1) al dispositivo siguiente 154-(i+1).
[0062] La señal de reloj CK, la señal estroboscópica de comando SCSi, la señal de entrada de comando SCi y la señal estroboscópica de datos SDSi son almacenadas temporalmente por los respectivos búferes de entrada 281, 282, 283 y
284. La señal de reloj almacenada temporalmente y la señal de entrada de comando alimentan a un generador de señal
de reloj 264 que emite señales de reloj generadas internamente: una señal de reloj de identificación Clkid, una señal de reloj de código OP Clkop, una señal de reloj de dirección Clkad y una señal de reloj de datos Clkda. La señal de reloj de identidad Clkid, la señal de reloj de código OP Clkop, la señal de reloj de dirección Clkad y la señal de reloj de datos Clkda alimentan a un registro ID 265, un registro de código OP 266, un registro de direcciones 268 y un registro de datos 269. Los campos apropiados del comando de la señal de entrada de comando SCi se introducen en el registro ID 265, el registro de código OP 266, el registro de direcciones 268 y el registro de datos 269 en respuesta a sus respectivas señales de reloj. El código OP guardado en el registro de código OP 266 alimenta al decodificador de códigos OP 267 para ser descodificado. El decodificador de códigos OP 267 emite una señal mono-bit SIGB a un registro mono-bit 276 y una señal multi-bit (m-bits: por ejemplo, triple-bit) de código OP descodificada SDOP a la lógica principal y la circuitería de memoria 285. La lógica principal y la circuitería de memoria 285 también reciben la señal estroboscópica de datos almacenada temporalmente en el búfer.
[0063] La señal de entrada de comando SCi es enganchada por un D-FF 251, cuya salida se almacena temporalmente de nuevo para producir que la señal de entrada de comando SC(i+1) sea reenviada al dispositivo de memoria siguiente 154-(i+1).
[0064] El dispositivo de memoria 154-i incluye circuitería lógica exclusiva NOR (XNOR) 272 que recibe como entrada la salida n-bit del registro ID 265 y los contenidos n-bit del registro ID de dispositivo 273 para guardar un valor de la dirección de dispositivo (DA). La circuitería lógica XNOR 272 tiene n puertas XNOR que ejecutan una operación XNOR de anchura de bit entre la salida n-bit del registro ID 265 y el contenido de n-bit del registro ID del dispositivo 273 y producen una salida de n-bit. El LSB de la salida de n-bit de la circuitería lógica XNOR 272 es la entrada de una puerta OR 274 y los bits restantes de la salida de n-bit de la circuitería lógica XNOR 272 son entrada para una circuitería lógica AND 275. El registro mono-bit 276 está preparado para registrar el "bit para habilitar ignorar LSB" (en la señal SIGB) del decodificador de código OP 267. La salida del registro mono-bit 276 es una segunda entrada a la puerta OR 274 y la salida de la puerta OR 274 es alimentada como otra entrada a la circuitería lógica AND 275. La operación de estos componentes se describe más adelante.
[0065] En operación, el dispositivo de memoria 154-i recibe un comando en la señal de entrada de comando SCi. Basándose en la coordinación temporal de la señal estroboscópica de comando SCSi con la señal de reloj CK, el generador de reloj 264 genera señales internas de reloj para enganchar apropiadamente el contenido del comando a los registros apropiados. Más específicamente, el registro ID 265 registra la ID del comando. El registro de códigos OP 266 registra el código OP. El registro de direcciones 268 registra las direcciones de columna/fila. El registro de datos 269 registra cualquier dato incluido en el comando. Además, el decodificador de códigos OP 267 recibe el comando registrado en el registro de códigos OP 266 y lo descodifica. La señal de reloj almacenada temporalmente en el búfer se suministra a los D-FFs en la circuitería (las rutas de señal de reloj no se muestran).
[0066] En el caso de que el comando sea tanto un comando con una difusión DA como un comando direccionado al dispositivo específico, el código OP es descodificado y procesado por el dispositivo. Con la difusión DA, todos los dispositivos se deben afirmar y estar listos para recibir un comando. Tras la recepción de un comando para introducir el modo ignorar LSB tal y como está determinado por el decodificador de códigos OP 266, el registro mono-bit 276 se establece y así, el "bit habilitar ignorar LSB" está preparado para habilitar el modo ignorar LSB.
[0067] El registro ID 265 emite en paralelo la DA registrada, que es la DA destino, como datos de n-bit. La circuitería lógica XNOR 272 compara bit a bit la DA destino (que se representa por el número ID contenido en el comando) con la ID del dispositivo contenida en el registro ID del dispositivo 273. Si la DA destino y la ID del dispositivo son idénticas, entonces la salida de la circuitería lógica XNOR 272 será toda '1'. El LSB de la comparación alimenta la puerta OR 274, mientras que los otros bits alimentan la circuitería lógica AND 275. Es suficiente que el LSB de la comparación sea "alto" para que la puerta OR 274 tenga una salida "alta". La puerta OR 274 es también alimentada con el "bit habilitar ignorar LSB" del registro mono-bit 276. Es suficiente también que el "bit habilitar ignorar LSB" del registro mono-bit 276 sea "alto" para que la puerta OR 274 tenga una salida "alta". Por lo tanto, si el "bit habilitar ignorar LSB" del registro mono-bit 276 es alto, entonces no importa si el LSB de la DA destino se corresponde con el LSB de la ID del dispositivo. Más bien, son los bits no LSB los que importan. La circuitería lógica AND 275 emite una señal de correspondencia de ID 277 que indica si hay una correspondencia entre la DA destino y la ID del dispositivo. Esto será cierto si las n entradas a la lógica AND son altas. Durante el modo ignorar LSB, esto será cierto si los otros (n-1) bits excepto el LSB se corresponden. Fuera del modo ignorar LSB, esto será cierto si todos los n bits se corresponden. La señal de correspondencia de ID 277 de la circuitería lógica AND 275 determina si el dispositivo de memoria 154-i ejecuta el comando. Tras recibir un comando para salir del modo ignorar LSB, el registro mono-bit 276 se vacía. La señal de correspondencia de ID 277 es suministrada a la lógica principal y la circuitería de memoria 285 y a una puerta AND 278. La salida del registro mono-bit 276 es la entrada para un inversor 279, cuya señal de salida invertida se suministra a la puerta AND 278, cuya señal de salida lógica AND alimenta a los multiplexores 254 y 256.
[0068] Cuando no hay correspondencia entre la DA destino y la ID del dispositivo, la señal de correspondencia de ID 277 es "baja" y se selecciona la entrada "0" en el multiplexor 254. Por lo tanto, la señal de entrada de comando enganchada se suministra como la señal de entrada de comando SC(i+1) al dispositivo siguiente 154-(i+1). También, la señal estroboscópica de comando enganchada se suministra a través del multiplexor 256 como la señal estroboscópica de comando SCS(i+1) al dispositivo siguiente 154-(i+1). Así, no hay correspondencia de ID, el dispositivo 154-1 no es el
dispositivo destino y la señal de entrada de comando SCi y la señal estroboscópica de comando SCSi se reenvían al dispositivo siguiente 154-(i+1). Si la señal estroboscópica de datos es entrada (p. ej., en la operación de modo de lectura de datos), la señal estroboscópica de datos enganchada se suministra a través del multiplexor 255 como la señal estroboscópica de datos SDS(i+1) al dispositivo siguiente 154-(i+1), independientemente del estado de la señal de correspondencia de ID 277. Sin correspondencia de ID, la lógica principal y la circuitería de memoria 285 no se activan.
[0069] Cuando hay una correspondencia entre la DA destino y la ID del dispositivo durante el modo ignorar LSB (es decir, la salida del registro mono-bit 276 es "alta"), la señal de correspondencia de ID 277 es "alta", la lógica principal y la circuitería de memoria 285 se activan. No obstante, la señal de salida del inversor 279 es "baja" y se seleccionan las entradas "0" de los multiplexores 254 y 256. La señal de entrada es suministrada al dispositivo siguiente 154-(i+1) como la señal de entrada de comando SC(i+1). También, la señal estroboscópica de comando es suministrada al dispositivo siguiente 154-(i+1) como la señal estroboscópica de comando SCS(i+1).
[0070] Cuando hay una correspondencia entre la DA destino y la ID del dispositivo durante el modo no ignorar LSB (es decir, la salida del registro mono-bit 276 es "baja"), la señal de correspondencia de ID 277 es "alta", la lógica principal y la circuitería de memoria 285 se activan y el código OP descodificado de la señal SDOP descodificada del decodificador de códigos OP 267 se ejecuta para operar conforme a la instrucción de comando. La señal de salida del inversor 279 es "alta" y la señal de salida lógica AND de la puerta AND 278 es "alta". Se seleccionan las entradas "1" de los multiplexores 254 y 256. Si la instrucción es una lectura de datos, la lógica principal y la circuitería de memoria 285 ejecutan el comando de lectura y conforme a las direcciones de fila y/o columna, los datos se leen de la memoria misma (no mostrado). Los datos de salida DATAout de la lógica principal y la circuitería de memoria 285 se suministran como señal de entrada de comando SC(i+1) al dispositivo siguiente 154-(i+1).
[0071] Los ejemplos presentados más arriba muestran como dos dispositivos de memoria pueden procesar un único comando cuando tienen direcciones de dispositivo idénticas con la excepción del bit menos significativo. Esto se consigue mientras los dispositivos de memoria están en un modo ignorar LSB. En términos más generales, realizaciones de la invención permiten a dos o más dispositivos de memoria procesar un único comando basándose en la dirección destino de dicho comando. Por ejemplo, en otra realización, los dispositivos de memoria introducen un modo de detección multi-dirección. Esto puede ocurrir, por ejemplo, si el controlador de memoria difunde un primer mensaje instruyendo a cada dispositivo de memoria para introducir el modo de detección multi-dirección. Mientras está en el modo de detección multi-dirección, tras recibir un comando con una dirección destino que difiere de la dirección de dispositivo, el dispositivo de memoria procesa condicionalmente el comando basándose en la dirección destino. Transcurrido un tiempo, los dispositivos de memoria salen el modo de detección multi-dirección. Este puede ocurrir por ejemplo si el controlador de memoria difunde un segundo mensaje instruyendo a cada dispositivo de memoria para salir del modo de detección multi-dirección. Los mensajes difundidos para entrar y salir del modo de detección multi-dirección son, por ejemplo, un comando de registro de configuración de enlace de lectura que incluye un código OP de FFh.
[0072] Hay muchas maneras para un dispositivo de memoria de procesar condicionalmente el comando basándose en la dirección destino. En algunas implementaciones, el dispositivo de memoria mantiene una identificación de una dirección de dispositivo alternativa. Si la dirección de dispositivo destino del comando recibido se corresponde con la dirección de dispositivo alternativa, entonces el dispositivo de memoria procesa el comando. En otras implementaciones, el dispositivo de memoria procesa condicionalmente el comando si la dirección destino difiere de la dirección de dispositivo de una manera predefinida. Por ejemplo, el dispositivo de memoria procesa el comando si la dirección destino difiere de la dirección de dispositivo sólo por un único bit predefinido. El único bit predefinido puede ser el bit menos significativo, cuyos ejemplos se han mostrado anteriormente. Alternativamente, el único bit predefinido es algún otro bit.
[0073] La Figura 11 muestra un método de operación de programa con una copia de seguridad espejo. Este método se puede implementar mediante un controlador de memoria, por ejemplo por el controlador de memoria 211 mostrado en la Figura 6.
[0074] En referencia a las figuras 6 y 11, en el paso 311 el controlador de memoria 211 manda un comando "ignorar LSB" a todos los dispositivos de memoria 213-1, 213-2, 213-3, ..., y 213-15 conectados en serie para informarles de que ignoren que el LSB de la dirección de dispositivo destino se ha recibido. En el paso 312, el controlador de memoria 211 manda una dirección destino de dispositivo como parte de un comando para escribir en el búfer de página. En un ejemplo particular, se asume que la dirección de dispositivo de destino es ' 0000', a saber, la dirección de dispositivo del dispositivo 213-1 de la Figura 6. Con esa dirección, ambos dispositivos 213-1 y 213-2 procesarán el comando durante el modo ignorar LSB. En términos más generales, para una dirección destino de dispositivo dada, dos de los dispositivos procesarán el comando. El comando para escribir en el búfer de página incluye datos a escribir. Habiendo correspondencia en la dirección de dispositivo, los datos son enganchados tanto por el dispositivo de memoria 213-1 como por el dispositivo de memoria 213-2. Así, los datos transmitidos se cargan solamente en los búferes de página de ambos dispositivos (paso 312). Esto es llevado a cabo usando un único comando.
[0075] A continuación, el controlador de memoria 211 envía un comando "conjunto DA normal" para todos los dispositivos de memoria 213-1, 213-2, 213-3, ..., y 213-15 para informarles de que dejen de ignorar el LSB de la dirección de dispositivo destino que se encuentra en los comandos recibidos (paso 313). Luego, el controlador de
memoria 211 comienza la programación de página del dispositivo designado mediante el envío de un programa de página direccionado a ese dispositivo (paso 314). Si el controlador de memoria 211 determina que la programación de página es satisfactoria (YES en el paso 315), entonces el procesamiento termina. La determinación de la programación de página se ejecuta mediante la lectura del estado del programa desde el búfer de página. Si el controlador de memoria 211 determina que hay un fallo de programa (NO en el paso 315), entonces el controlador de memoria 211 recarga los datos del programa desde el búfer de página del dispositivo de memoria espejo 213-2 (paso 316). Los datos del programa se almacenan localmente dentro de los elementos de almacenamiento de datos del controlador de memoria.
[0076] A continuación, el controlador de memoria 211 carga de nuevo los datos del programa en el búfer de página del dispositivo de memoria designado en el paso 317. El procesamiento continúa en el paso 314 reintentando programar los datos en las celdas de memoria del dispositivo de memoria designado, cuyos detalles también han sido mostrados anteriormente. En este ejemplo, se asume que se realiza otro intento de programar los datos en el mismo dispositivo de memoria. Alternativamente, los datos se pueden programar en las celdas de memoria de otro dispositivo de memoria. También, en este ejemplo, se asume que la copia de seguridad espejo se mantiene en el mismo lugar (dispositivo 213-2 para este ejemplo) hasta que una operación de programa de página satisfactoria se completa. Alternativamente, se puede hacer una copia de seguridad espejo en una ubicación diferente.
[0077] En algunos ejemplos, los sistemas descritos aquí son implementados usando una estructura de comando modular flexible, de la cual ya se han proporcionado detalles de ejemplo. Además, detalles de ejemplo se proporcionan en esta sección en referencia a las figuras 12 a 20. Debe entenderse que los detalles proporcionados en esta sección son muy específicos para usarse de ejemplo solamente.
[0078] La Figura 12 es una tabla de un ejemplo de conjunto de comandos para memoria flash con comando modular en modo byte. La tabla incluye 15 operaciones: lectura de página, lectura de página para copia, lectura de datos en ráfagas, inicio de carga de datos en ráfagas, carga de datos en ráfagas, programa de página, entrada de dirección de borrado en bloque, entrada de dirección de borrado de pares de páginas, borrar, abortar operación, estado del dispositivo de lectura, registro de información del dispositivo de lectura, registro de configuración de enlace de lectura, registro de configuración de enlace de escritura (específico del dispositivo) y configuración de enlace de escritura (difusión). Cada operación tiene un comando que incluye una dirección de dispositivo (DA) (1 byte) y un código (1 byte) de operación (OP). Algunos comandos incluyen una dirección de fila (3 Bytes), una dirección de columna (2 Bytes) y algunos comandos incluyen datos de entrada (de 1 a 2112 Bytes). 'X' es '0h' para "Banco 0". 'X' es ' 1h' para "Banco 1" dónde se asume para este ejemplo específico que cada dispositivo tiene dos bancos de memoria. En términos más generales cada dispositivo tiene al menos un banco de memoria. Para el último comando en la tabla, a saber, configuración de enlace de escritura (difusión), la dirección de dispositivo se establece en "FFh" para indicar un comando de "difusión".
[0079] La Figura 13 es un ejemplo de tabla de operación. La tabla incluye modos para cada una de las múltiples combinaciones de /RST (complemento de una señal de reinicio), /CE (complemento de una señal de habilitar chip), CSI (entrada estroboscópica de comando) y DSI (entrada estroboscópica de datos). Los modos incluyen paquete de datos de comando, paquete de datos de lectura, NOP (operación NO), espera y reinicio.
[0080] Todos los comandos, direcciones y datos son desplazados hacia dentro y hacia fuera del dispositivo de memoria, empezando por el bit más significativo (MSB). La señal de Entrada de Comando (CI) se muestrea en el flanco positivo o negativo de reloj (es decir, en el punto de cruce de relojes -CK y /CK) mientras la señal estroboscópica de entrada de comando (CSI) es "alta". Cada comando incluye una dirección de dispositivo (DA) de 1 byte y un código OP de 1 byte y/o bytes de dirección de columna/dirección de fila/entrada de datos si es necesario. Una vez que la CSI pasa por la lógica "alta", la DA (dirección de dispositivo) de 1 byte se desplaza a un registro DA y luego el código OP de 1 byte se desplaza a un registro de código OP. Haciéndolo así, el bit más significativo (MSB) comienza primero por la señal CI y cada bit se engancha en el cruce de relojes CK y /CK mientras la CSI esté en el estado de lógica alta. No obstante, cada secuencia de entrada en modo byte comienza en un flanco ascendente de reloj CK (=flanco descendente de /CK). Dependiendo del comando, el código OP es seguido de bytes de dirección, bytes de datos, ambos o ninguno como se muestra en la Figura 12. Para este ejemplo, el ciclo de dirección tiene una dirección de columna de 2 bytes y una dirección de fila de 3 bytes. La Figura 14 muestra una definición de un ejemplo de formato de comando y dirección incluyendo la posición de cada bit.
[0081] Para los dispositivos de memoria conectados en serie, se asigna una dirección especial de dispositivo (=FFh) para la operación "difusión". En términos más generales, la dirección que se define para operación del modo difusión se puede definir específicamente para cada implementación. Esta "Dirección de Dispositivo de Difusión" se puede utilizar con cualquier comando. No obstante, no se recomienda usar la dirección de dispositivo de difusión (FFh) junto con el comando "tipo lectura" porque los datos de lectura del último dispositivo son los únicos datos de salida válidos.
[0082] En algunas implementaciones, el bus de señal en un dispositivo Flash de comando modular está completamente multiplexado ya que comando, dirección y datos comparten todos la(s) misma(s) clavija(s). El estado de lógica alta de la señal CSI valida la señal de entrada de comando (CI) que puede ser una señal ancha de n bits conteniendo información multiplexada de comando/dirección/datos para el dispositivo de memoria. Si la señal CSI permanece en el estado de
lógica baja, el dispositivo ignora las entradas de señal de las clavijas CI. La secuencia de entrada de comando normalmente se compone de ciclos de latch de DA (dirección de dispositivo) de 1 byte, ciclos de latch de comando de un byte, ciclos de latch de dirección (= 3 bytes para dirección de fila o 2 bytes para dirección de columna) y/o ciclos de latch de entrada de datos hasta 2112 bytes. En el modo de enlace de 1 bit, cuatro ciclos de reloj a DDR (doble tasa de datos) hacen un byte de un paquete en serie. En el modo de enlace de 2 bits, dos ciclos de reloj a DDR (doble tasa de datos) hacen un byte de un paquete en serie. En el modo de enlace de 4 bits, un ciclo de reloj a DDR (doble tasa de datos) hace un byte de un paquete en serie. Cualquier conjunto de instrucciones de comando puede ser seguido por dos transiciones CK y /CK adicionales después de que la CSI haga una transición de ALTA a BAJA. En algunas realizaciones, se usa un número adicional de transiciones CK y /CK después de transiciones de la CSI a BAJA que son iguales en número a 2 + # de dispositivos en la arquitectura con dispositivos conectados juntos en serie. Cada secuencia de entrada definida en la Figura 12 está "basada en bytes", que significa que la CSI y la CI deberían ser válidas para la unidad de ciclos de 8 latch (= 4 ciclos de reloj a doble tasa de datos). Si la CSI hace una transición de ALTA a BAJA antes de completar el byte, las secuencias de comando y/o dirección correspondientes serán ignoradas por el dispositivo. Para el caso de secuencia de entrada de datos, el último byte incompleto de entrada de datos será ignorado, pero el/los byte(s) completo(s) anterior(es) de datos de entrada será(n) válido(s).
[0083] La Figura 15 es un ejemplo de diagrama de tiempos que muestra la coordinación temporal básica de entrada. Todas las entradas de DA/Comando/Dirección/Datos se afirman continuamente a través del/los puerto(s) CI y se capturan en el cruce de relojes CK y /CK cuando /CE es "bajo" y la señal CSI es "alta". Los datos de entrada son desplazados al dispositivo de memoria, el bit más significativo (MSB) primero en CI, cada bit siendo enganchado en el cruce de relojes CK y /CK. Una secuencia de entrada de flujo de bits se muestra en la Figura 16. Cada secuencia de entrada en modo byte comienza en el flanco ascendente de reloj CK como se muestra. Cualquier entrada con byte incompleto será ignorada.
[0084] La Figura 17 es un ejemplo de diagrama de tiempos que muestra la coordinación temporal básica de salida. La salida en el comando salida (CO) se desplaza sincrónicamente fuera del cruce de relojes CK y /CK cuando /CE es "bajo" y la señal DSI es "alta". La Figura 18 muestra un ejemplo de secuencia de salida en modo byte. La salida de datos se desplazada del dispositivo de memoria, el bit más significativo (MSB) primero en la señal CO, cada bit siendo sincronizado en el cruce de relojes CK y /CK. La señal DSI se activa referenciada al flanco ascendente de CK de modo que cada secuencia de salida en modo byte comience en el flanco ascendente de CK con una latencia de lectura de 1 reloj (= tOL) como se muestra en la Figura 17.
[0085] Dos comandos representativos para mostrar la característica de comandos modulares se describen más abajo, a saber, un comando (DA & 0Xh) de lectura de página y un comando (DA & 2Xh) de lectura de datos en ráfagas. La Figura 19 muestra un diagrama de flujo que implica el uso de estos comandos y la Figura 20 muestra un ejemplo de secuencia de comando.
[0086] Con referencia a Figura 19, para introducir el modo de lectura de página, en el paso 411 el controlador de memoria emite el comando (DA & 0Xh) de lectura de página al registro de comando a través de la CI junto con 3 bytes de dirección de fila. Emitir el DA & 0Xh al registro de comando inicia los ciclos de latch de dirección en el paso 412. Los tres bytes de dirección se introducen a continuación. La operación interna de lectura de página comienza una vez que los ciclos de latch de dirección han finalizado. Los 2112 bytes de datos en la página seleccionada son detectados y transferidos a los búferes de página en menos de tR (tiempo de transferencia del conjunto de celdas a los búferes de página). El registro de estados se puede revisar en el paso 413. Después de tR, un comando (DA & 2Xh) de lectura de datos en ráfagas (descrito en más detalle a continuación) junto con dos bytes de dirección de columna se pueden emitir en el paso 414 y luego la señal DSI se puede habilitar para leer datos de los búferes de página, empezando con la dirección de columna dada, a través de la CO hasta que la señal DSI pase a estado bajo. Si un usuario quiere monitorizar el estado interno de lectura de página para determinar si la transferencia desde el conjunto de celdas a los búferes de página está completa o no, el comando (DA & D0h) del estado de dispositivo de lectura puede emitirse. El Flash de comando modular tiene un registro de estado de 8 bits que el software puede leer durante la operación de dispositivo.
[0087] Las operaciones fundamentales de acceso tales como lectura de página, programa de página y borrado en bloque tardan un tiempo largo y sus tiempos de procesamiento varían de acuerdo con el cambio de PVT (Proceso/Voltaje/Temperatura). Así, siempre que emita comandos principales de acceso, un usuario puede monitorizar el estado de cada operación después del comando de aserción sin operaciones internas que interrumpan. El otro propósito del registro de estado es el de comprobar si el programa de página y el borrado en bloque son ejecutados sin fallo o no. En caso de fallo, una nueva posición de fila es determinada por el controlador de memoria y emite un nuevo comando que contiene la nueva dirección de fila para escribir los mismos datos que se escribieron en la vieja ubicación de fila en la que falló la escritura. Sin monitorizar el registro de estado, el controlador de memoria no sabe que las operaciones de programa y borrado se han hecho sin fallo.
[0088] Después del comando (DA & D0h) de estado del dispositivo de lectura, usando la DSI, todos los estados de 8 bits se leen del registro de estados hasta que la DSI pase a estado bajo. Después de que el comando (DA & 2Xh) de lectura de datos en ráfaga se emita y luego la DSI pase a estado alto, la temporalización de salida en serie tal como se muestra en la Figura 20 resultará en la salida de datos en el paso 415, empezando con la dirección de columna inicial.
La dirección de columna se incrementará automáticamente durante la salida de datos. En el paso 416, hay generación de ECC. Si el ECC se verifica en el paso 417, después la lectura de página se completa. En caso contrario, hay un error en el paso 418.
5 [0089] El comando (DA & 2Xh) de lectura de datos en ráfaga mencionado anteriormente habilita al usuario para especificar una dirección de columna para que los datos en los búferes de página puedan ser leídos empezando por la dirección de columna dada dentro del tamaño de página seleccionado mientras la DSI sea alta. El modo de lectura de datos en ráfagas es habilitado después de un comando (DA & 0Xh) normal de lectura de página y un tiempo de carga de página (=tR). El comando (DA & 2Xh) de lectura de datos en ráfaga se puede emitir sin límite dentro de la página.
10 Cada comando de lectura de datos en ráfagas puede tener la misma o diferente dirección de columna que el comando de lectura de datos en ráfagas precedente. Sólo los datos en los búferes de página actuales pueden ser leídos. Si una página diferente tiene que ser leída, un nuevo comando (DA & 0Xh) de lectura de página debería ser emitido. Y después de tR, un nuevo comando (DA & 2Xh) de lectura de datos en ráfaga se puede emitir para acceder a nuevos datos de página.
15 [0090] En las realizaciones descritas anteriormente, los elementos y circuitos de dispositivo se conectan entre sí como se muestra en las figuras, para favorecer la simplicidad. En las aplicaciones prácticas de la presente invención, elementos, circuitos, etc. pueden ser conectados directamente entre sí. De igual manera, elementos, circuitos, etc. se pueden conectar indirectamente entre sí a través de otros elementos, circuitos, etc., necesarios para operación de los
20 dispositivos o aparatos de memoria. De este modo, en la configuración real de dispositivos y aparatos, los elementos y circuitos se acoplan o conectan directa o indirectamente entre sí.
[0091] Se pretende que las realizaciones de la presente invención descritas anteriormente sean sólo ejemplos. Alteraciones, modificaciones y variaciones pueden ser efectuadas a las realizaciones particulares por aquellos
25 cualificados en la técnica sin salirse del ámbito de la invención, que se define solamente por las reivindicaciones anexas aquí presentes.

Claims (13)

  1. REIVINDICACIONES
    1. Aparato (151, 191, 211) para controlar múltiples dispositivos de memoria (120, 127, 154, 193, 213) interconectados en serie, cada uno de los dispositivos de memoria con un búfer de página (122, 129, 158, 194, 214) y celdas de memoria (121, 128, 159), donde el aparato consta de:
    un procesador de datos (153, 203) configurado para ejecutar una operación de programa de página con una copia de seguridad espejo de datos:
    mediante la escritura de datos en el búfer de página de un dispositivo de memoria seleccionado de los múltiples dispositivos de memoria y en el búfer de página de otro dispositivo de memoria de los múltiples dispositivos de memoria; instruyendo al dispositivo de memoria seleccionado para programar en sus celdas de memoria los datos cargados en su búfer de página; y si los datos no se programan satisfactoriamente en las celdas de memoria del dispositivo de memoria seleccionado, recuperar los datos del búfer de página del otro dispositivo de memoria mediante la relectura de los datos del búfer de página del otro dispositivo de memoria, sin programar los datos en las celdas de memoria del otro dispositivo de memoria.
  2. 2.
    Aparato según la reivindicación 1, que consta además de:
    un almacenamiento de datos (152) para el almacenamiento de los datos antes de la escritura de los datos en el búfer de página del dispositivo de memoria seleccionado y en el búfer de página del otro dispositivo de memoria; el aparato configurado adicionalmente para liberar espacio en el almacenamiento de datos donde los datos se almacenan antes de determinar si los datos se han programado satisfactoriamente en las celdas de memoria del dispositivo de memoria seleccionado.
  3. 3.
    Aparato según la reivindicación 2, en el cual la unidad de procesamiento de datos se configura para ejecutar otra operación antes de determinar si los datos se ha programado satisfactoriamente en las celdas de memoria del dispositivo de memoria seleccionado.
  4. 4.
    Aparato según la reivindicación 1, que consta además de:
    una conexión de salida para conectar con un primer dispositivo de memoria de los múltiples dispositivos de memoria; y una conexión de entrada para conectar con un último dispositivo de memoria de los múltiples dispositivos de memoria.
  5. 5.
    Aparato según la reivindicación 4, en el cual el procesador de datos se configura para escribir los datos en el búfer de página del dispositivo de memoria seleccionado y en el búfer de página del otro dispositivo de memoria mediante la transmisión de datos a través de la conexión de salida; y el procesador de datos se configura para recuperar los datos del búfer de página del otro dispositivo de memoria mediante la transmisión de un comando de lectura a través de la conexión de salida y la recepción de los datos a través de la conexión de entrada en respuesta al comando de lectura.
  6. 6.
    Aparato según la reivindicación 4, en el cual el procesador de datos se configura para determinar si los datos se han programado satisfactoriamente en las celdas de memoria del dispositivo de memoria seleccionado:
    transmitiendo un comando de estado de lectura a través de la conexión de salida y recibiendo un estado de programa desde búfer de página del dispositivo de memoria seleccionado a través de la conexión de entrada en respuesta al comando de estado de lectura; y determinando, basándose en el estado del programa, si los datos se han programado satisfactoriamente en las celdas de memoria del dispositivo de memoria seleccionado.
  7. 7.
    Aparato según la reivindicación 1, en el cual el procesador de datos se configura para ejecutar al menos una de las siguientes acciones:
    tras la recuperación de los datos, reintento de programar los datos en las celdas de memoria del dispositivo de memoria seleccionado pero en una dirección diferente; tras la recuperación de los datos, intento de programar los datos en las celdas de memoria de otro dispositivo de memoria seleccionado; y tras la recuperación de los datos, almacenar de nuevo los datos en el almacenamiento de datos; o
    el procesador de datos se configura para transmitir un primer comando direccionado al dispositivo de memoria seleccionado, con el objetivo de escribir los datos en el búfer de página del dispositivo de memoria seleccionado y para transmitir un segundo comando direccionado al otro dispositivo de memoria, con el objetivo de escribir los datos en el búfer de página del otro dispositivo de memoria.
  8. 8. Aparato según la reivindicación 1, en el cual el procesador de datos se configura para transmitir un único comando para la escritura de los datos tanto en el búfer de página del dispositivo de memoria seleccionado como en el búfer de página del otro dispositivo de memoria.
  9. 9. Aparato según la reivindicación 8, en el cual el procesador de datos se configura para escribir los datos tanto en el búfer de página del dispositivo de memoria seleccionado como en el búfer de página del otro dispositivo de memoria:
    difundiendo un primer mensaje para informar a todos los dispositivos de memoria de que entren en un modo de
    10 detección multi-dirección en el que el otro dispositivo de memoria procesará comandos direccionados al dispositivo de memoria seleccionado; enviando el único comando de escritura de los datos tanto al búfer de página del dispositivo de memoria seleccionado como al búfer de página del otro dispositivo de memoria; y difundiendo un segundo mensaje para informar a todos los dispositivos de memoria de que salgan del modo de
    15 detección multi-dirección, en el cual:
    el primer mensaje es un comando de registro de configuración de enlace de escritura; y el segundo mensaje es un comando de registro de configuración de enlace de escritura.
    20 10. Sistema que consta de:
    un aparato para el control de los múltiples dispositivos de memoria según la reivindicación 1, y los múltiples dispositivos de memoria (120, 127, 154, 193,213) que se interconectan en serie, cada dispositivo de memoria teniendo el búfer de página (122, 129, 158, 194,214) y las celdas de memoria (121, 128,159).
  10. 11. Sistema según la reivindicación 10, en el cual el aparato consta además de:
    una conexión de salida conectada a un primer dispositivo de memoria de los múltiples dispositivos de memoria; y una conexión de entrada conectada a un último dispositivo de memoria de los múltiples dispositivos de memoria. 30
  11. 12. Sistema según la reivindicación 10, en el cual el aparato consta además de:
    almacenamiento de datos para almacenar los datos antes de la escritura de los datos en el búfer de página del dispositivo de memoria seleccionado y en el búfer de página del otro dispositivo de memoria. 35
  12. 13. Sistema según la reivindicación 12, en el cual el aparato se configura adicionalmente para liberar espacio en el almacenamiento de datos que está ocupado por los datos antes de determinar si los datos se han programado satisfactoriamente en las celdas de memoria del dispositivo de memoria seleccionado.
    40 14. Método para controlar múltiples dispositivos de memoria (120, 127, 154, 193, 213) que están interconectados en serie, teniendo cada dispositivo de memoria un búfer de página (122, 129, 158, 194, 214) y celdas de memoria (121, 128, 159), consistiendo el método en:
    transmitir datos al búfer de página de un dispositivo de memoria seleccionado de los múltiples dispositivos de
    45 memoria y al búfer de página de otro dispositivo de memoria de los múltiples dispositivos de memoria; instruir al dispositivo de memoria seleccionado para programar los datos cargados en su búfer de página en sus celdas de memoria; y si los datos no se programan satisfactoriamente en las celdas de memoria del dispositivo de memoria seleccionado, recuperar los datos del búfer de página del otro dispositivo de memoria mediante la relectura de los datos del búfer
    50 de página del otro dispositivo de memoria, sin programar los datos en las celdas de memoria del otro dispositivo de memoria.
  13. 15. Método según la reivindicación 14, en el cual el método consiste además en:
    55 almacenar los datos antes de la escritura de los datos en el búfer de página del dispositivo de memoria seleccionado y en el búfer de página del otro dispositivo de memoria; liberar el espacio ocupado por los datos antes de determinar si los datos han sido satisfactoriamente programados en las celdas de memoria del dispositivo de memoria seleccionado.
ES08714596.7T 2007-02-22 2008-02-13 Aparato y método de operación de programa de página para dispositivos de memoria con copia de seguridad espejo de datos Active ES2437999T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US89111507P 2007-02-22 2007-02-22
US891115P 2007-02-22
PCT/CA2008/000273 WO2008101317A1 (en) 2007-02-22 2008-02-13 Apparatus and method of page program operation for memory devices with mirror back-up of data

Publications (1)

Publication Number Publication Date
ES2437999T3 true ES2437999T3 (es) 2014-01-15

Family

ID=39709576

Family Applications (1)

Application Number Title Priority Date Filing Date
ES08714596.7T Active ES2437999T3 (es) 2007-02-22 2008-02-13 Aparato y método de operación de programa de página para dispositivos de memoria con copia de seguridad espejo de datos

Country Status (8)

Country Link
US (6) US8046527B2 (es)
EP (2) EP2118901B1 (es)
JP (2) JP5646178B2 (es)
KR (1) KR101486093B1 (es)
CN (1) CN101632128B (es)
ES (1) ES2437999T3 (es)
TW (3) TWI417726B (es)
WO (2) WO2008101316A1 (es)

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8041879B2 (en) * 2005-02-18 2011-10-18 Sandisk Il Ltd Flash memory backup system and method
US7652922B2 (en) * 2005-09-30 2010-01-26 Mosaid Technologies Incorporated Multiple independent serial link memory
WO2008101316A1 (en) 2007-02-22 2008-08-28 Mosaid Technologies Incorporated Apparatus and method for using a page buffer of a memory device as a temporary cache
US8086785B2 (en) * 2007-02-22 2011-12-27 Mosaid Technologies Incorporated System and method of page buffer operation for memory devices
KR100823175B1 (ko) * 2007-02-27 2008-04-18 삼성전자주식회사 프로그램 성능을 향상시킬 수 있는 플래시 메모리 장치 및그것을 포함한 메모리 시스템
US7894294B2 (en) * 2008-01-23 2011-02-22 Mosaid Technologies Incorporated Operational mode control in serial-connected memory based on identifier
KR100953044B1 (ko) * 2008-05-26 2010-04-14 주식회사 하이닉스반도체 불휘발성 메모리 장치의 프로그램 방법
US8037235B2 (en) * 2008-12-18 2011-10-11 Mosaid Technologies Incorporated Device and method for transferring data to a non-volatile memory device
US8194481B2 (en) 2008-12-18 2012-06-05 Mosaid Technologies Incorporated Semiconductor device with main memory unit and auxiliary memory unit requiring preset operation
US20100211546A1 (en) * 2009-02-13 2010-08-19 Lennox Manufacturing Inc. System and method to backup data about devices in a network
TWI420528B (zh) * 2009-03-11 2013-12-21 Silicon Motion Inc 用來增進一快閃記憶體的效能之方法以及相關之可攜式記憶裝置及其控制器
CN102754089B (zh) * 2010-02-09 2016-01-20 三菱电机株式会社 传送控制装置、存储器控制装置、以及具有上述传送控制装置的plc
US8463959B2 (en) * 2010-05-31 2013-06-11 Mosaid Technologies Incorporated High-speed interface for daisy-chained devices
US10108684B2 (en) * 2010-11-02 2018-10-23 Micron Technology, Inc. Data signal mirroring
WO2012129729A1 (en) * 2011-03-31 2012-10-04 Intel Corporation Memory mirroring and redundancy generation for high availability
US9390049B2 (en) * 2011-06-03 2016-07-12 Micron Technology, Inc. Logical unit address assignment
TWI476589B (zh) * 2011-08-25 2015-03-11 Macronix Int Co Ltd 記憶體編程方法及應用其之快閃記憶體裝置
KR101847976B1 (ko) * 2011-11-03 2018-04-12 에스케이하이닉스 주식회사 반도체 시스템
TWI454922B (zh) * 2011-12-19 2014-10-01 Phison Electronics Corp 記憶體儲存裝置及其記憶體控制器與資料寫入方法
US8797799B2 (en) * 2012-01-05 2014-08-05 Conversant Intellectual Property Management Inc. Device selection schemes in multi chip package NAND flash memory system
US9471484B2 (en) 2012-09-19 2016-10-18 Novachips Canada Inc. Flash memory controller having dual mode pin-out
CN104969202B (zh) * 2012-11-30 2018-04-03 学校法人中央大学 半导体存储装置及其控制方法
KR102002826B1 (ko) 2012-12-04 2019-07-23 삼성전자 주식회사 저장 장치, 플래시 메모리 및 저장 장치의 동작 방법
KR102106959B1 (ko) * 2013-02-21 2020-05-07 에프아이오 세미컨덕터 테크놀로지스, 엘엘씨 멀티 레벨 셀 비휘발성 메모리 시스템
KR102310580B1 (ko) * 2014-10-24 2021-10-13 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
KR102292217B1 (ko) * 2015-02-06 2021-08-24 삼성전자주식회사 내부적으로 데이터 읽기 검증을 수행할 수 있는 메모리 장치, 이의 작동 방법, 및 이를 포함하는 메모리 시스템
JP5920509B2 (ja) * 2015-03-19 2016-05-18 富士通株式会社 コントローラの制御プログラム、およびコントローラの制御方法
KR102319402B1 (ko) * 2015-06-30 2021-11-01 에스케이하이닉스 주식회사 복수의 채널들을 통해 반도체 메모리 장치들을 제어하는 메모리 시스템
KR20170030215A (ko) * 2015-09-09 2017-03-17 에스케이하이닉스 주식회사 메모리 장치
KR102417976B1 (ko) * 2015-10-21 2022-07-07 에스케이하이닉스 주식회사 메모리 시스템 및 이의 동작 방법
KR20170075855A (ko) * 2015-12-23 2017-07-04 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
US10152276B2 (en) 2016-07-18 2018-12-11 Winbond Electronics Corporation Memory device including data processor and program method of same
US10057209B2 (en) * 2016-07-28 2018-08-21 Qualcomm Incorporated Time-sequenced multi-device address assignment
CN107783727B (zh) * 2016-08-31 2022-01-14 华为技术有限公司 一种内存设备的访问方法、装置和系统
KR20180038109A (ko) * 2016-10-05 2018-04-16 삼성전자주식회사 모니터링 회로를 포함하는 전자 장치 및 그것에 포함되는 스토리지 장치
US10552045B2 (en) 2016-11-16 2020-02-04 Sandisk Technologies Llc Storage operation queue
US10528256B2 (en) 2017-05-24 2020-01-07 International Business Machines Corporation Processing a space release command to free release space in a consistency group
US10489087B2 (en) 2017-05-24 2019-11-26 International Business Machines Corporation Using a space release data structure to indicate tracks to release for a space release command to release space of tracks in a consistency group being formed
KR102398186B1 (ko) 2017-07-03 2022-05-17 삼성전자주식회사 메모리 컨트롤러의 동작 방법 및 사용자 장치의 동작 방법
KR20190006314A (ko) 2017-07-10 2019-01-18 에스케이하이닉스 주식회사 메모리 시스템 및 이의 동작 방법
KR102496272B1 (ko) * 2017-09-27 2023-02-03 삼성전자주식회사 비휘발성 메모리 장치, 및 이의 동작 방법
KR20190052441A (ko) * 2017-11-08 2019-05-16 에스케이하이닉스 주식회사 메모리 컨트롤러 및 그 동작 방법
CN109815157B (zh) * 2017-11-22 2022-06-17 北京忆芯科技有限公司 编程命令处理方法与装置
KR20190140788A (ko) 2018-06-12 2019-12-20 에스케이하이닉스 주식회사 메모리 컨트롤러 및 이를 포함하는 메모리 시스템
CN110647426B (zh) * 2018-06-27 2023-04-11 龙芯中科技术股份有限公司 双机热备份方法、装置、系统与计算机存储介质
KR20200010933A (ko) * 2018-07-23 2020-01-31 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작방법
US10931283B2 (en) * 2019-03-12 2021-02-23 Intel Corporation Integrated circuits having memory with flexible input-output circuits
KR20210017908A (ko) 2019-08-09 2021-02-17 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법
JP2022141178A (ja) * 2021-03-15 2022-09-29 キオクシア株式会社 メモリシステム
US20230244624A1 (en) * 2022-01-28 2023-08-03 Texas Instruments Incorporated Methods and apparatus to preform inter-integrated circuit address modification
EP4220423A1 (en) * 2022-02-01 2023-08-02 Vito NV A daisy chain connected master-slave communication system and a method of operating thereof

Family Cites Families (160)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4014A (en) * 1845-04-26 Improvement in machines for skimming liquids
US2264395A (en) 1940-10-22 1941-12-02 Bell Telephone Labor Inc Power line carrier frequency telephone system
US4174536A (en) 1977-01-21 1979-11-13 Massachusetts Institute Of Technology Digital communications controller with firmware control
US4617566A (en) 1983-12-15 1986-10-14 Teleplex Corporation Addressable-port, daisy chain telemetry system with self-test capability
DE3586523T2 (de) 1984-10-17 1993-01-07 Fujitsu Ltd Halbleiterspeicheranordnung mit einer seriellen dateneingangs- und ausgangsschaltung.
US4683555A (en) 1985-01-22 1987-07-28 Texas Instruments Incorporated Serial accessed semiconductor memory with reconfigureable shift registers
JPS62152050A (ja) 1985-12-26 1987-07-07 Nec Corp 半導体メモリ
JPS63113624A (ja) 1986-10-30 1988-05-18 Tokyo Electric Co Ltd 電子秤のプリンタインタ−フエ−ス
JPH0714392B2 (ja) 1987-02-26 1995-02-22 株式会社東芝 超音波プロ−ブ
GB2217056A (en) * 1988-03-23 1989-10-18 Benchmark Technologies Double buffering in multi-processor
WO1990010903A1 (en) 1989-03-15 1990-09-20 Oki Electric Industry Co., Ltd. Serial data receiving circuit
US7190617B1 (en) 1989-04-13 2007-03-13 Sandisk Corporation Flash EEprom system
US5226168A (en) 1989-04-25 1993-07-06 Seiko Epson Corporation Semiconductor memory configured to emulate floppy and hard disk magnetic storage based upon a determined storage capacity of the semiconductor memory
US5126808A (en) 1989-10-23 1992-06-30 Advanced Micro Devices, Inc. Flash EEPROM array with paged erase architecture
US5175819A (en) 1990-03-28 1992-12-29 Integrated Device Technology, Inc. Cascadable parallel to serial converter using tap shift registers and data shift registers while receiving input data from FIFO buffer
US5243703A (en) 1990-04-18 1993-09-07 Rambus, Inc. Apparatus for synchronously generating clock signals in a data processing system
US5204669A (en) 1990-08-30 1993-04-20 Datacard Corporation Automatic station identification where function modules automatically initialize
JPH04167039A (ja) * 1990-10-31 1992-06-15 Toshiba Corp データ書き込み方式
US5319598A (en) 1990-12-10 1994-06-07 Hughes Aircraft Company Nonvolatile serially programmable devices
US5132635A (en) 1991-03-05 1992-07-21 Ast Research, Inc. Serial testing of removable circuit boards on a backplane bus
US5249270A (en) 1991-03-29 1993-09-28 Echelon Corporation Development system protocol
US5430859A (en) 1991-07-26 1995-07-04 Sundisk Corporation Solid state memory system including plural memory chips and a serialized bus
US6230233B1 (en) 1991-09-13 2001-05-08 Sandisk Corporation Wear leveling techniques for flash EEPROM systems
US6347051B2 (en) 1991-11-26 2002-02-12 Hitachi, Ltd. Storage device employing a flash memory
KR950000761B1 (ko) 1992-01-15 1995-01-28 삼성전자 주식회사 직렬 입력신호의 동기회로
US5398330A (en) 1992-03-05 1995-03-14 Seiko Epson Corporation Register file backup queue
JP3088180B2 (ja) 1992-03-26 2000-09-18 日本電気アイシーマイコンシステム株式会社 シリアル入力インタフェース回路
KR960000616B1 (ko) 1993-01-13 1996-01-10 삼성전자주식회사 불휘발성 반도체 메모리 장치
US5519843A (en) 1993-03-15 1996-05-21 M-Systems Flash memory system providing both BIOS and user storage capability
JPH06275069A (ja) 1993-03-20 1994-09-30 Hitachi Ltd シリアルメモリ
JPH0714392A (ja) * 1993-06-14 1995-01-17 Toshiba Corp 不揮発性半導体メモリおよびそれを使用した半導体ディスク装置
US5365484A (en) 1993-08-23 1994-11-15 Advanced Micro Devices, Inc. Independent array grounds for flash EEPROM array with paged erase architechture
JPH0793219A (ja) 1993-09-20 1995-04-07 Olympus Optical Co 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
US5452259A (en) 1993-11-15 1995-09-19 Micron Technology Inc. Multiport memory with pipelined serial input
US5404460A (en) 1994-01-28 1995-04-04 Vlsi Technology, Inc. Method for configuring multiple identical serial I/O devices to unique addresses through a serial bus
US5596724A (en) 1994-02-04 1997-01-21 Advanced Micro Devices Input/output data port with a parallel and serial interface
US5696917A (en) 1994-06-03 1997-12-09 Intel Corporation Method and apparatus for performing burst read operations in an asynchronous nonvolatile memory
US5655113A (en) * 1994-07-05 1997-08-05 Monolithic System Technology, Inc. Resynchronization circuit for a memory system and method of operating same
DE4429433C1 (de) 1994-08-19 1995-10-26 Siemens Ag Adreßzuordnungsverfahren
US5473566A (en) 1994-09-12 1995-12-05 Cirrus Logic, Inc. Memory architecture and devices, systems and methods utilizing the same
KR0142367B1 (ko) 1995-02-04 1998-07-15 김광호 열 리던던씨를 가지는 불휘발성 반도체 메모리의 소거 검증회로
US5636342A (en) 1995-02-17 1997-06-03 Dell Usa, L.P. Systems and method for assigning unique addresses to agents on a system management bus
US5729683A (en) 1995-05-18 1998-03-17 Compaq Computer Corporation Programming memory devices through the parallel port of a computer system
US6728851B1 (en) 1995-07-31 2004-04-27 Lexar Media, Inc. Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices
US5835935A (en) 1995-09-13 1998-11-10 Lexar Media, Inc. Method of and architecture for controlling system data with automatic wear leveling in a semiconductor non-volatile mass storage memory
JPH0991197A (ja) 1995-09-22 1997-04-04 Sharp Corp データ転送制御装置
JP3693721B2 (ja) 1995-11-10 2005-09-07 Necエレクトロニクス株式会社 フラッシュメモリ内蔵マイクロコンピュータ及びそのテスト方法
TW307869B (en) 1995-12-20 1997-06-11 Toshiba Co Ltd Semiconductor memory
KR100211760B1 (ko) 1995-12-28 1999-08-02 윤종용 멀티뱅크 구조를 갖는 반도체 메모리 장치의 데이타 입출력 경로 제어회로
KR0170723B1 (ko) 1995-12-29 1999-03-30 김광호 단일 ras 신호에 의해 동시 동작이 가능한 이중 뱅크를 갖는 반도체 메모리 장치
US5828899A (en) 1996-01-04 1998-10-27 Compaq Computer Corporation System for peripheral devices recursively generating unique addresses based on the number of devices connected dependent upon the relative position to the port
JPH09231740A (ja) 1996-02-21 1997-09-05 Nec Corp 半導体記憶装置
US5860080A (en) 1996-03-19 1999-01-12 Apple Computer, Inc. Multicasting system for selecting a group of memory devices for operation
US5941974A (en) 1996-11-29 1999-08-24 Motorola, Inc. Serial interface with register selection which uses clock counting, chip select pulsing, and no address bits
JP3706703B2 (ja) 1996-12-27 2005-10-19 ローム株式会社 Icカード
KR100243335B1 (ko) 1996-12-31 2000-02-01 김영환 독립적인 리프레쉬 수단을 가지는 데이지 체인 구조의 반도체 장치
KR100272037B1 (ko) 1997-02-27 2000-12-01 니시무로 타이죠 불휘발성 반도체 기억 장치
US6442644B1 (en) * 1997-08-11 2002-08-27 Advanced Memory International, Inc. Memory system having synchronous-link DRAM (SLDRAM) devices and controller
GB2329792A (en) 1997-08-20 1999-03-31 Nokia Telecommunications Oy Identification signals enable a transceiver module to correctly configure itself to an attached functional module
JPH1166841A (ja) 1997-08-22 1999-03-09 Mitsubishi Electric Corp 半導体記憶装置
KR100240873B1 (ko) 1997-08-26 2000-01-15 윤종용 송수신 겸용의 레지스터를 갖는 직렬인터페이스장치
JP4039532B2 (ja) 1997-10-02 2008-01-30 株式会社ルネサステクノロジ 半導体集積回路装置
AU9604698A (en) 1997-10-10 1999-05-03 Rambus Incorporated Method and apparatus for two step memory write operations
US5937425A (en) 1997-10-16 1999-08-10 M-Systems Flash Disk Pioneers Ltd. Flash file system optimized for page-mode flash technologies
US6148364A (en) 1997-12-30 2000-11-14 Netlogic Microsystems, Inc. Method and apparatus for cascading content addressable memory devices
US6002638A (en) 1998-01-20 1999-12-14 Microchip Technology Incorporated Memory device having a switchable clock output and method therefor
US6453365B1 (en) 1998-02-11 2002-09-17 Globespanvirata, Inc. Direct memory access controller having decode circuit for compact instruction format
DE19980546B4 (de) 1998-03-02 2011-01-27 Lexar Media, Inc., Fremont Flash-Speicherkarte mit erweiterter Betriebsmodus-Erkennung und benutzerfreundlichem Schnittstellensystem
US6085290A (en) 1998-03-10 2000-07-04 Nexabit Networks, Llc Method of and apparatus for validating data read out of a multi port internally cached dynamic random access memory (AMPIC DRAM)
US6144576A (en) 1998-08-19 2000-11-07 Intel Corporation Method and apparatus for implementing a serial memory architecture
US6295618B1 (en) 1998-08-25 2001-09-25 Micron Technology, Inc. Method and apparatus for data compression in memory devices
US5995417A (en) 1998-10-20 1999-11-30 Advanced Micro Devices, Inc. Scheme for page erase and erase verify in a non-volatile memory array
JP4601737B2 (ja) 1998-10-28 2010-12-22 株式会社東芝 メモリ混載ロジックlsi
JP2000149564A (ja) 1998-10-30 2000-05-30 Mitsubishi Electric Corp 半導体記憶装置
US6304921B1 (en) 1998-12-07 2001-10-16 Motorola Inc. System for serial peripheral interface with embedded addressing circuit for providing portion of an address for peripheral devices
KR100284742B1 (ko) 1998-12-28 2001-04-02 윤종용 입출력 센스앰프의 개수가 최소화된 메모리장치
JP3853537B2 (ja) * 1999-04-30 2006-12-06 株式会社日立製作所 半導体メモリファイルシステム
US7130958B2 (en) * 2003-12-02 2006-10-31 Super Talent Electronics, Inc. Serial interface to flash-memory chip using PCI-express-like packets and packed data for partial-page writes
US6460120B1 (en) * 1999-08-27 2002-10-01 International Business Machines Corporation Network processor, memory organization and methods
US6111787A (en) 1999-10-19 2000-08-29 Advanced Micro Devices, Inc. Address transistion detect timing architecture for a simultaneous operation flash memory device
US6680904B1 (en) 1999-12-27 2004-01-20 Orckit Communications Ltd. Bi-directional chaining of network access ports
US7356639B2 (en) 2000-01-05 2008-04-08 Rambus Inc. Configurable width buffered module having a bypass circuit
US20050160218A1 (en) 2004-01-20 2005-07-21 Sun-Teck See Highly integrated mass storage device with an intelligent flash controller
US6442098B1 (en) 2000-02-08 2002-08-27 Alliance Semiconductor High performance multi-bank compact synchronous DRAM architecture
AU2001243463A1 (en) 2000-03-10 2001-09-24 Arc International Plc Memory interface and method of interfacing between functional entities
JP2001265708A (ja) 2000-03-16 2001-09-28 Toshiba Corp 電子機器及び電子機器の基板
US6816933B1 (en) 2000-05-17 2004-11-09 Silicon Laboratories, Inc. Serial device daisy chaining method and apparatus
US6643728B1 (en) 2000-05-30 2003-11-04 Lexmark International, Inc. Method and apparatus for converting IEEE 1284 signals to or from IEEE 1394 signals
US6535948B1 (en) 2000-05-31 2003-03-18 Agere Systems Inc. Serial interface unit
US6317350B1 (en) 2000-06-16 2001-11-13 Netlogic Microsystems, Inc. Hierarchical depth cascading of content addressable memory devices
US6728798B1 (en) 2000-07-28 2004-04-27 Micron Technology, Inc. Synchronous flash memory with status burst output
US6754807B1 (en) 2000-08-31 2004-06-22 Stmicroelectronics, Inc. System and method for managing vertical dependencies in a digital signal processor
US6317352B1 (en) 2000-09-18 2001-11-13 Intel Corporation Apparatus for implementing a buffered daisy chain connection between a memory controller and memory modules
US6853557B1 (en) 2000-09-20 2005-02-08 Rambus, Inc. Multi-channel memory architecture
US6658509B1 (en) 2000-10-03 2003-12-02 Intel Corporation Multi-tier point-to-point ring memory interface
FR2816751A1 (fr) 2000-11-15 2002-05-17 St Microelectronics Sa Memoire flash effacable par page
US6691205B2 (en) * 2001-03-05 2004-02-10 M-Systems Flash Disk Pioneers Ltd. Method for using RAM buffers with simultaneous accesses in flash based storage systems
JP4115676B2 (ja) 2001-03-16 2008-07-09 株式会社東芝 半導体記憶装置
US20020161941A1 (en) 2001-04-30 2002-10-31 Sony Corporation And Electronics, Inc System and method for efficiently performing a data transfer operation
US6732221B2 (en) 2001-06-01 2004-05-04 M-Systems Flash Disk Pioneers Ltd Wear leveling of static areas in flash memory
US6996644B2 (en) 2001-06-06 2006-02-07 Conexant Systems, Inc. Apparatus and methods for initializing integrated circuit addresses
KR100413762B1 (ko) 2001-07-02 2003-12-31 삼성전자주식회사 뱅크 수를 가변할 수 있는 반도체 장치 및 그 방법
US6769050B1 (en) 2001-09-10 2004-07-27 Rambus Inc. Techniques for increasing bandwidth in port-per-module memory systems having mismatched memory modules
US6717847B2 (en) 2001-09-17 2004-04-06 Sandisk Corporation Selective operation of a multi-state non-volatile memory system in a binary mode
US6456528B1 (en) 2001-09-17 2002-09-24 Sandisk Corporation Selective operation of a multi-state non-volatile memory system in a binary mode
US6928501B2 (en) 2001-10-15 2005-08-09 Silicon Laboratories, Inc. Serial device daisy chaining method and apparatus
US6807106B2 (en) 2001-12-14 2004-10-19 Sandisk Corporation Hybrid density memory card
US6763426B1 (en) 2001-12-27 2004-07-13 Cypress Semiconductor Corporation Cascadable content addressable memory (CAM) device and architecture
US6799235B2 (en) 2002-01-02 2004-09-28 Intel Corporation Daisy chain latency reduction
JP4082913B2 (ja) 2002-02-07 2008-04-30 株式会社ルネサステクノロジ メモリシステム
US6798711B2 (en) 2002-03-19 2004-09-28 Micron Technology, Inc. Memory with address management
US7073022B2 (en) 2002-05-23 2006-07-04 International Business Machines Corporation Serial interface for a data storage array
US7062601B2 (en) 2002-06-28 2006-06-13 Mosaid Technologies Incorporated Method and apparatus for interconnecting content addressable memory devices
KR100499686B1 (ko) 2002-07-23 2005-07-07 주식회사 디지털웨이 메모리 확장 가능한 휴대용 플래쉬 메모리 장치
CA2396632A1 (en) 2002-07-31 2004-01-31 Mosaid Technologies Incorporated Cam diamond cascade architecture
KR100487539B1 (ko) 2002-09-02 2005-05-03 삼성전자주식회사 직렬 에이티에이 케이블과 연결되는 불휘발성 반도체메모리 장치
US7032039B2 (en) 2002-10-30 2006-04-18 Atmel Corporation Method for identification of SPI compatible serial memory devices
DE60229649D1 (de) 2002-11-28 2008-12-11 St Microelectronics Srl Nichtflüchtige Speicheranordnungsarchitektur, zum Beispiel vom Flash-Typ mit einer seriellen Übertragungsschnittstelle
KR100493884B1 (ko) 2003-01-09 2005-06-10 삼성전자주식회사 시리얼 플래시 메모리에서의 현지 실행을 위한 제어 장치및 그 방법, 이를 이용한 플래시 메모리 칩
US7308524B2 (en) * 2003-01-13 2007-12-11 Silicon Pipe, Inc Memory chain
US20040199721A1 (en) 2003-03-12 2004-10-07 Power Data Communication Co., Ltd. Multi-transmission interface memory card
US7016213B2 (en) 2003-05-13 2006-03-21 Advanced Micro Devices, Inc. Method for initializing a system including a host and plurality of memory modules connected via a serial memory interconnect
US7165153B2 (en) 2003-06-04 2007-01-16 Intel Corporation Memory channel with unidirectional links
JP4156986B2 (ja) 2003-06-30 2008-09-24 株式会社東芝 不揮発性半導体記憶装置
US7065697B2 (en) 2003-07-29 2006-06-20 Hewlett-Packard Development Company, L.P. Systems and methods of partitioning data to facilitate error correction
US7073010B2 (en) 2003-12-02 2006-07-04 Super Talent Electronics, Inc. USB smart switch with packet re-ordering for interleaving among multiple flash-memory endpoints aggregated as a single virtual USB endpoint
US7031221B2 (en) 2003-12-30 2006-04-18 Intel Corporation Fixed phase clock and strobe signals in daisy chained chips
BRPI0418431A (pt) 2004-01-20 2007-05-22 Trek 2000 Int Ltd dispositivo de armazenamento de dados portátil utilizando dispositivos de múltiplas memórias
US7475174B2 (en) 2004-03-17 2009-01-06 Super Talent Electronics, Inc. Flash / phase-change memory in multi-ring topology using serial-link packet interface
DE102004013493B4 (de) 2004-03-18 2009-11-05 Infineon Technologies Ag Zugriffs-Verfahren für einen NAND-Flash-Speicherbaustein und ein entsprechender NAND-Flash-Speicherbaustein
WO2005121960A1 (en) 2004-06-07 2005-12-22 Nokia Corporation Operating a storage component
US8375146B2 (en) 2004-08-09 2013-02-12 SanDisk Technologies, Inc. Ring bus structure and its use in flash memory systems
KR100705221B1 (ko) 2004-09-03 2007-04-06 에스티마이크로일렉트로닉스 엔.브이. 플래쉬 메모리 소자 및 이를 이용한 플래쉬 메모리 셀의소거 방법
US6950325B1 (en) 2004-10-07 2005-09-27 Winbond Electronics Corporation Cascade-connected ROM
US7822715B2 (en) 2004-11-16 2010-10-26 Petruzzo Stephen E Data mirroring method
US7877539B2 (en) * 2005-02-16 2011-01-25 Sandisk Corporation Direct data file storage in flash memories
US8041879B2 (en) * 2005-02-18 2011-10-18 Sandisk Il Ltd Flash memory backup system and method
KR100626391B1 (ko) 2005-04-01 2006-09-20 삼성전자주식회사 원낸드 플래시 메모리 및 그것을 포함한 데이터 처리시스템
US7391654B2 (en) * 2005-05-11 2008-06-24 Micron Technology, Inc. Memory block erasing in a flash memory device
US7853749B2 (en) 2005-09-01 2010-12-14 Cypress Semiconductor Corporation Flash drive fast wear leveling
EP1932158A4 (en) 2005-09-30 2008-10-15 Mosaid Technologies Inc MEMORY WITH OUTPUT CONTROL
US20070076502A1 (en) 2005-09-30 2007-04-05 Pyeon Hong B Daisy chain cascading devices
US7652922B2 (en) 2005-09-30 2010-01-26 Mosaid Technologies Incorporated Multiple independent serial link memory
US7496777B2 (en) 2005-10-12 2009-02-24 Sun Microsystems, Inc. Power throttling in a memory system
US7631162B2 (en) 2005-10-27 2009-12-08 Sandisck Corporation Non-volatile memory with adaptive handling of data writes
CN1314625C (zh) 2005-12-27 2007-05-09 武汉理工大学 一种多元无机复合陶瓷均匀粉体合成方法
US7086785B1 (en) 2006-01-26 2006-08-08 Itt Manufacturing Enterprises, Inc. Optical fiber cartridge with easily installed body
US8364861B2 (en) 2006-03-28 2013-01-29 Mosaid Technologies Incorporated Asynchronous ID generation
US8335868B2 (en) 2006-03-28 2012-12-18 Mosaid Technologies Incorporated Apparatus and method for establishing device identifiers for serially interconnected devices
US8069328B2 (en) 2006-03-28 2011-11-29 Mosaid Technologies Incorporated Daisy chain cascade configuration recognition technique
US7506098B2 (en) 2006-06-08 2009-03-17 Bitmicro Networks, Inc. Optimized placement policy for solid state storage devices
US7545664B2 (en) * 2006-07-26 2009-06-09 International Business Machines Corporation Memory system having self timed daisy chained memory chips
US7904639B2 (en) 2006-08-22 2011-03-08 Mosaid Technologies Incorporated Modular command structure for memory and memory system
US8407395B2 (en) 2006-08-22 2013-03-26 Mosaid Technologies Incorporated Scalable memory system
US8433874B2 (en) 2006-12-06 2013-04-30 Mosaid Technologies Incorporated Address assignment and type recognition of serially interconnected memory devices of mixed type
US7650459B2 (en) * 2006-12-21 2010-01-19 Intel Corporation High speed interface for non-volatile memory
WO2008098342A1 (en) 2007-02-16 2008-08-21 Mosaid Technologies Incorporated Semiconductor device and method for reducing power consumption in a system having interconnected devices
US8086785B2 (en) 2007-02-22 2011-12-27 Mosaid Technologies Incorporated System and method of page buffer operation for memory devices
WO2008101316A1 (en) 2007-02-22 2008-08-28 Mosaid Technologies Incorporated Apparatus and method for using a page buffer of a memory device as a temporary cache

Also Published As

Publication number Publication date
US20110314206A1 (en) 2011-12-22
US20110131445A1 (en) 2011-06-02
JP5651215B2 (ja) 2015-01-07
TW201419306A (zh) 2014-05-16
US8046527B2 (en) 2011-10-25
CN101632128B (zh) 2014-07-30
US7774537B2 (en) 2010-08-10
KR20090120479A (ko) 2009-11-24
JP2013218737A (ja) 2013-10-24
TW200847182A (en) 2008-12-01
WO2008101317A1 (en) 2008-08-28
EP2662860A1 (en) 2013-11-13
EP2118901A4 (en) 2012-06-27
TW200849009A (en) 2008-12-16
CN101632128A (zh) 2010-01-20
KR101486093B1 (ko) 2015-01-28
EP2118901B1 (en) 2013-09-18
US20100275056A1 (en) 2010-10-28
WO2008101316A1 (en) 2008-08-28
TWI417726B (zh) 2013-12-01
TWI479312B (zh) 2015-04-01
US8060691B2 (en) 2011-11-15
JP5646178B2 (ja) 2014-12-24
JP2010519641A (ja) 2010-06-03
US20080205168A1 (en) 2008-08-28
US8880780B2 (en) 2014-11-04
US20080209110A1 (en) 2008-08-28
US20120023286A1 (en) 2012-01-26
EP2118901A1 (en) 2009-11-18
US7908429B2 (en) 2011-03-15
US8886871B2 (en) 2014-11-11

Similar Documents

Publication Publication Date Title
ES2437999T3 (es) Aparato y método de operación de programa de página para dispositivos de memoria con copia de seguridad espejo de datos
KR101507628B1 (ko) 동기 직렬 인터페이스 nand의 데이터 판독을 위한 시스템 및 방법
US5381538A (en) DMA controller including a FIFO register and a residual register for data buffering and having different operating modes
US11048649B2 (en) Non-sequential page continuous read
US10977121B2 (en) Fast page continuous read
KR20070024624A (ko) 플래시 메모리 장치에서 내부 프로그래밍 동안 동시적으로외부 판독 동작을 수행하기 위한 방법 및 시스템
JP5753988B2 (ja) エラー検出方法および1つまたは複数のメモリデバイスを含むシステム
US8145858B2 (en) Interleave control device, interleave control method, and memory system
US5551009A (en) Expandable high performance FIFO design which includes memory cells having respective cell multiplexors
JP2020077451A (ja) 非順次的ページ連続リード