ES2718463T3 - Dispositivo de memoria híbrida con una única interfaz - Google Patents
Dispositivo de memoria híbrida con una única interfaz Download PDFInfo
- Publication number
- ES2718463T3 ES2718463T3 ES07795704T ES07795704T ES2718463T3 ES 2718463 T3 ES2718463 T3 ES 2718463T3 ES 07795704 T ES07795704 T ES 07795704T ES 07795704 T ES07795704 T ES 07795704T ES 2718463 T3 ES2718463 T3 ES 2718463T3
- Authority
- ES
- Spain
- Prior art keywords
- memory
- type
- controller
- data
- addresses
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0638—Combination of memories, e.g. ROM and RAM such as to permit replacement or supplementing of words in one module by words in another module
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/12—Group selection circuits, e.g. for memory block selection, chip selection, array selection
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/20—Employing a main memory using a specific memory technology
- G06F2212/202—Non-volatile memory
- G06F2212/2022—Flash memory
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/20—Employing a main memory using a specific memory technology
- G06F2212/205—Hybrid memory, e.g. using both volatile and non-volatile memory
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/005—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor comprising combined but independently operative RAM-ROM, RAM-PROM, RAM-EPROM cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2207/00—Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
- G11C2207/10—Aspects relating to interfaces of memory device to external buses
- G11C2207/104—Embedded memory devices, e.g. memories with a processing device on the same die or ASIC memory designs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Memory System (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
- Dram (AREA)
Description
DESCRIPCIÓN
Dispositivo de memoria híbrida con una única interfaz
Antecedentes
Diversos dispositivos informáticos existentes y nuevos hacen uso de memoria volátil de alta velocidad (por ejemplo, memoria de acceso aleatorio dinámico, o DRAM) para contener instrucciones y datos operativos. Tales dispositivos incluyen teléfonos móviles, decodificadores de televisión, memoria informática personal, etcétera. Cada vez más los dispositivos informáticos también incluyen grandes cantidades de memoria flash NAND no volátil relativamente económica para almacenar aplicaciones y datos.
Sin embargo, muchos dispositivos existentes a base de DRAM están diseñados sin las interfaces apropiadas de bus para soportar la memoria flash NAND; soportar memoria flash NAND requiere volver a diseñar de manera costosa y extensa del conjunto de chips del dispositivo. De manera similar, la mayoría de dispositivos a base de flash NAND no pueden simplemente añadir DRAM. Se requieren cambios significativos a la arquitectura física de un dispositivo para incorporar memoria flash en un modelo actualizado de lo que era un dispositivo a base de DRAM, por ejemplo, o viceversa.
Aunque una combinación de memoria volátil y no volátil proporciona beneficios en muchas situaciones, a menudo el coste de volver a diseñar un conjunto de chips de un dispositivo es demasiado costoso/arriesgado para un fabricante, por lo cual el fabricante renuncia a nuevas características y modelos de negocio que serían habilitadas que, si no, serían viables contando con memoria volátil y no volátil en un dispositivo. Además, no hay ninguna manera directa para usar modelos arquitectónicos existentes y, por ejemplo, actualizar un dispositivo existente a base de DRAM con memoria flash NAND; por ejemplo, sería necesario volver a diseñar y sustituir toda una placa de circuitos, en vez de simplemente añadir memoria a un dispositivo existente o cambiar la memoria en el mismo (y actualizar el soporte lógico según sea apropiado). Además, hay una gran diferencia en velocidades de bus entre la memoria no volátil y la basada en DRAM.
El documento US 6.418.506 B1 divulga un dispositivo de memoria de circuitos integrado comprendiendo conjuntos de memoria tanto volátil como no volátil que están acoplados por una interfaz. La interfaz está configurada para escribir datos en el conjunto de memoria volátil, y para subsiguientemente escribir los datos del conjunto de memoria volátil en el conjunto de memoria no volátil.
El documento US2003/0206478 A1 divulga una memoria que tiene una gran capacidad de almacenaje y una corriente reducida de retención de datos, una memoria no volátil, una SRAM, una DRAM, y un circuito de control que están modularizados en un paquete.
Sumario
Se expone la invención en las reivindicaciones adjuntas independientes. Se definen realizaciones ventajosas por las reivindicaciones adjuntas dependientes.
Brevemente, diversos aspectos de la materia objeto descritos en la presente memoria están dirigidos hacia un dispositivo de memoria híbrida que incluye un primer tipo de memoria (por ejemplo, memoria volátil de tipo DRAM) y una interfaz correspondiente al primer tipo de memoria, y un segundo tipo de memoria (por ejemplo, memoria no volátil de tipo flash). El dispositivo de memoria incluye un controlador que está acoplado con la interfaz, con el primer tipo de memoria y con el segundo tipo de memoria. En función de la información, tal como órdenes y/o direcciones de memoria recibidas en la interfaz, el controlador determina si una orden tal como una solicitud de I/O (por ejemplo, de lectura o de escritura) está dirigida al primer tipo de memoria o al segundo tipo de memoria.
Así, al recibir órdenes, direcciones y datos en un controlador del dispositivo de memoria híbrida, se puede acceder a diferentes tipos de memoria mediante un soporte lógico (por ejemplo, soporte lógico inalterable de un dispositivo o un programa) mediante una única interfaz definida para un tipo de memoria. El controlador incluye lógica que determina si una orden/dirección recibida en la interfaz de un primer tipo de memoria está dirigida a un segundo tipo de memoria asociada con el dispositivo de memoria, y si es así, emite señales al segundo tipo de memoria para comunicar al menos una orden al segundo tipo de memoria y/o para llevar a cabo al menos una operación de entrada/salida (I/O) de datos en el segundo tipo de memoria.
Otras ventajas pueden hacerse evidentes a partir de la siguiente descripción detallada cuando sea tomada junto con los dibujos.
Breve descripción de los dibujos
La presente invención se ilustrad a título de ejemplo y no está limitada en las figuras adjuntas en las que los números similares de referencia indican elementos similares y en las que:
La FIGURA 1 muestra un ejemplo ilustrativo de un dispositivo informático en el que se pueden incorporar diversos aspectos de la presente invención.
La FIG. 2 es una representación de un ejemplo de dispositivo de memoria híbrida que incluye un controlador y dos tipos de memoria que son accesibles por una única interfaz definida por uno de los tipos de memoria.
La FIG. 3A es una representación de un ejemplo de dispositivo de memoria híbrida con una interfaz de SDRAM con memoria SDRAM y flash que es objeto de acceso mediante un bloque designado de memoria en el espacio referenciable de SDRAM.
La FIG. 3B es una representación de un ejemplo de dispositivo de memoria híbrida con una interfaz de SDRAM con memoria SDRAM y flash que es accedida mediante una pluralidad de bloques designados de memoria en el espacio referenciable de SDRAM.
La FIG. 4 es una representación del espacio de memoria referenciable correspondiente a un primer tipo de memoria con secciones usadas para comunicar datos y órdenes con un segundo tipo de memoria.
La FIG. 5 es una representación ejemplar de un tipo adecuado de dispositivo de SDRAM que puede ser incorporado en un dispositivo de memoria híbrida.
La FIG. 6 es una representación ejemplar de un dispositivo de memoria híbrida con una interfaz de SDRAM que contiene un dispositivo de SDRAM tal como el dispositivo de la FIG. 5 y un dispositivo flash.
La FIG. 7 es una representación ejemplar de un cronograma para controlar un dispositivo de SDRAM y un dispositivo flash.
La FIG. 8 es una representación de etapas ejemplares correspondientes a cómo el controlador puede emitir datos flash a un dispositivo de SDRAM configurado para emitir datos en ráfagas.
La FIG. 9 es una representación de cómo se puede añadir flash a un módulo dual de memoria en línea (DIMMM) para añadir flash a memoria informática personal basada de DRAM (incluyendo SDRAM).
Descripción detallada
Entorno operativo ejemplar
La FIGURA 1 ilustra un ejemplo de algunos componentes funcionales adecuados de un dispositivo informático 188, tal como se puede encontrar en una agenda electrónica portátil/de bolsillo/de tipo tableta, aparato, teléfono móvil, etcétera, que incluye un procesador 189, una memoria 190, un medio 192 de visualización, y un teclado 193 (que puede ser un teclado físico o virtual). En general, la memoria 190 incluye tanto memoria volátil (por ejemplo, RAM) como memoria no volátil (por ejemplo, ROM, tarjetas PCMCIA, etcétera). Además, según se describe a continuación, la memoria ejemplar 190 incluye un dispositivo de memoria híbrida (correspondiente a uno o más chips) que contiene más de un tipo de memoria, tales como flash y DRAM o flash y SDRAM (DRAM síncrona), en la que uno de los tipos comparte la interfaz del otro. Un sistema 193 puede residir en la memoria 190 y ejecutarse en el procesador 189, tal como un sistema operativo basado en Microsoft® Windows®, u otro sistema operativo.
Uno o más programas 194 de aplicaciones y datos 195 pueden encontrarse en la memoria 190, por ejemplo, con los programas 194 que se ejecutan en el sistema operativo 193. Ejemplos de aplicaciones incluyen programas de correo electrónico, programas de planificación, programas PIM (gestión de información personal), programas de procesamiento de texto, programas de hojas de cálculo, programas de navegación de Internet, etcétera. El dispositivo informático 188 también puede incluir otros componentes 196 tales como un gestor de notificaciones cargado en la memoria 190, que se ejecuta en el procesador 189. El gestor de notificaciones, por ejemplo, puede gestionar solicitudes de notificaciones, por ejemplo, de los programas 195 de aplicaciones.
El dispositivo informático 188 tiene un suministro 197 de energía, por ejemplo, implementado como una o más baterías o un sistema accionado por luz. El suministro 197 de energía puede incluir, además, una fuente externa de energía que anula o recarga las baterías integradas, tales como un adaptador de CA o una base alimentada de acoplamiento.
El dispositivo informático ejemplar 188 representado en la FIG. 1 es mostrado con tres tipos ejemplares de dispositivos externos de salida, incluyendo un medio 192 de visualización, otros mecanismos 198 de salida (por ejemplo, uno o más diodos que emiten luz, o LED) y un generador 199 de audio, por ejemplo, acoplado con altavoces incorporados y/o a un conector de audio. Uno o más de estos dispositivos de salida pueden estar acoplados directamente con el suministro 197 de energía para que cuando se active, permanezcan encendidos una duración dictada por un mecanismo de notificación, aunque el procesador 189 y los otros componentes pudieran apagarse para conservar energía de la batería. Por ejemplo, un LED puede permanecer encendido (siempre y cuando haya energía disponible) hasta que el usuario actúe. Otros pueden ser configurados para apagarse cuando lo haga el resto del sistema o en alguna duración finita tras la activación.
Dispositivo de memoria híbrida con una única interfaz
Diversos aspectos de la tecnología descrita en la presente memoria están dirigidos, en general, a expandir una memoria de un dispositivo informático (tal como el dispositivo 188) con respecto a tener cantidades relativamente grandes de memoria volátil y no volátil en el dispositivo informático, sin requerir cambios a una arquitectura física existente de ese dispositivo informático. En general, la descripción en la presente memoria proporciona ejemplos de la incorporación de memoria flash NAND en un dispositivo a base de SDRAM añadiendo o sustituyendo un
dispositivo de memoria híbrida (que comprende, por ejemplo, uno o más chips) que contiene SDRAM y la flash NAND, en el que el dispositivo de memoria híbrida tiene la misma interfaz (incluyendo identificación de conexiones, protocolo de tensión, y protocolo de acceso) que un componente convencional de SDRAM. Sin embargo, según se entenderá, se aplican estos aspectos y conceptos a cualquier tipo o tipos de memoria volátil y/o no volátil, por ejemplo, pueden usarse diversos tipos de DRAM (por ejemplo, EDO) en vez de SDRAM; al contrario, puede incorporarse DRAM o SDRAM en un dispositivo de tipo flash; puede mezclarse memoria flash a base de NOR con SDRAM y/o con flash de tipo NAND; uno de los tipos de memoria puede ser RAM estática (SRAM) u otros tipos de RAM; puede añadirse memoria más volátil en lugar de un dispositivo existente de memoria volátil; puede añadirse más memoria no volátil en lugar de un dispositivo existente de memoria no volátil, etcétera. Se debe hacer notar que la incorporación de diferentes tipos de memoria en un dispositivo de memoria híbrida (con una interfaz que normalmente se corresponde con un tipo original de memoria para un diseño dado) normalmente añade memoria total a un dispositivo, pero no es preciso necesariamente que aumente (y si lo desea el diseñador puede disminuir) la cantidad del tipo original de memoria y/o la cantidad total de memoria.
Además, según se entenderá, los conceptos descritos en la presente memoria no están limitados a lo que se consideran dispositivos informáticos convencionales (por ejemplo, sistemas informáticos de sobremesa, portátil, portátil pequeño o de tipo tableta, agendas electrónicas, ordenadores personales de bolsillo, o similares), pero en vez de ello, puede usarse en cualquier dispositivo que tenga la necesidad de almacenar datos en memoria volátil o no volátil, incluyendo teléfonos móviles, decodificadores, discos duros híbridos, televisores, mandos a distancia, dispositivos audio visuales, aparatos eléctricos, aparatos domésticos, etcétera. Cada uno de estos dispositivos puede añadir memoria no volátil a un diseño de memoria volátil, o viceversa, o aumentar memoria, sin tener que volver a diseñar el soporte físico de manera costosa y arriesgada. De esta manera, por ejemplo, un dispositivo con memoria volátil tal como un teléfono móvil puede tener, ahora, grandes cantidades de almacenaje no volátil incluido en el mismo para almacenar programas, música, imágenes, etcétera, simplemente sustituyendo un chip de memoria (o múltiples chips de memoria), y actualizando algún soporte lógico inalterable para trabajar con el almacenaje no volátil, según se describe a continuación.
Como tal, la presente invención no está limitada a los ejemplos, estructuras o funcionalidad descrita en la presente memoria. En vez de ello, cualesquiera de los ejemplos, estructuras o funcionalidades descritos en la presente memoria no son limitantes, y la presente invención puede ser usada de diversas maneras para proporcionar beneficios y ventajas en el almacenaje informático y de datos, en general.
Pasando a la FIG. 2 de los dibujos, se muestra un concepto ejemplar general de un dispositivo 202 de memoria híbrida, incluyendo el dispositivo memoria volátil 204 (por ejemplo, SDRAM) y memoria no volátil 206 (por ejemplo, flash NAND). Un controlador 208 contiene lógica que determina a cuál de las memorias 204 o 206 se accede, en función de direcciones y órdenes, por ejemplo, originadas en el soporte lógico inalterable/soporte lógico y referenciadas a través de una CPU.
Según se representa en la FIG. 2, el controlador 208 puede incluir o estar asociado de otro modo con un conjunto 210 de memoria intermedia, que comprende una o más memorias intermedias, que en una implementación es usado con fines de equiparación de la velocidad. Por ejemplo, en la actualidad, la SDRAM es significativamente más rápida que la flash y, por lo tanto, un chip de memoria híbrida que tiene una interfaz que para componentes externos parece un dispositivo de SDRAM necesita acumular datos en el conjunto 210 de memoria intermedia (por ejemplo, SDRAM, DRAM o SRAM) para cumplir con el protocolo de SDRAM con respecto a los requisitos de la velocidad y salida, incluyendo requisitos en modo de ráfaga. Por lo tanto, el conjunto 210 de memoria intermedia normalmente comprende memoria tal como SDRAM o RAM estática (SRAM) que es al menos igual de rápida que un chip dado de SDRAM y sus requisitos de protocolo; si no el dispositivo híbrido parecería en ocasiones a los componentes externos que es memoria defectuosa. Se debe hacer notar que un dispositivo de memoria híbrida que añadiera memoria rápida (por ejemplo, SDRAM) a una interfaz más lenta (por ejemplo, flash) no necesitaría necesariamente tal memoria intermedia.
La FIG. 3A muestra un concepto ejemplar de cómo opera, en general, un dispositivo 302A de memoria híbrida, en el que se dispone memoria flash 306 como cierto número de bloques (por ejemplo, bloques F-1 hasta F-n) y es objeto de acceso a través de una interfaz de SDRAM. El dispositivo 302A de memoria híbrida también incluye un dispositivo 304 de SDRAM. Según se describe a continuación, un controlador 308A incorporado en el chip (por ejemplo, correspondiente al controlador 208 de la FIG. 2) determina a que sección de SDRAM 304 o flash se accede con respecto a una dirección actual originada en la CPU 389. En general, el controlador 308A recibe órdenes, datos y direcciones de la CPU 389 que son generadas según el protocolo convencional de SDRAM. Se debe hacer notar que no se requiere que la CPU conozca nada de los diferentes tipos de memoria en el chip híbrido, y opera de forma normal en su bus existente de tipo SDRAM.
En la FIG. 3A, el controlador 308 incluye lógica que puede detectar direcciones enviadas a las líneas de dirección del dispositivo híbrido de SDRAM que forman parte de su interfaz. Algunas de las direcciones en el intervalo referenciable de direcciones corresponden a SDRAM, y para esas direcciones, el controlador 308A permite que el dispositivo 304 de SDRAM gestione las direcciones, órdenes y datos (por ejemplo, remite los unos y los ceros
equivalentes o no impide que el dispositivo vea los unos y los ceros). En consecuencia, para esas direcciones el dispositivo híbrido actúa como un dispositivo convencional de SDRAM.
Sin embargo, ciertas direcciones en el intervalo referenciable (que normalmente comprende un intervalo contiguo denominado bloque designado 320) son conocidas por el controlador 308 para ser asociadas con la flash, y esencialmente actúa como una ventana en la memoria flash 306. Por ejemplo, el bloque designado puede corresponderse con el tamaño del bloque de la flash, por ejemplo, 128 KB en un tipo de dispositivo flash. Cuando se transfieren direcciones en el bloque designado 320, el dispositivo 304 de SDRAM está inhabilitado (realmente o de manera efectiva) por el controlador 308. El controlador 308 envía, en vez de ello, órdenes al dispositivo 306 de memoria flash, o controla el flujo de datos de lectura y escritura en el dispositivo 306 de memoria flash. Dependiendo del diseño, el controlador 308 puede inhabilitar el componente 304 de SDRAM cambiando una línea apropiada de entrada del dispositivo (por ejemplo, habilitar el chip) del dispositivo 304 para inhabilitarlo, no remitiendo las direcciones recibidas al dispositivo 304, y/o remitiendo las direcciones (por ejemplo, si se necesita para refrescar) pero no permitiendo la escritura de datos o no devolviendo ningún dato para la lectura.
Se debe hacer notar que la cantidad de flash 306 no está limitada al tamaño del bloque designado 320; en vez de ello, puede haber múltiples bloques flash (u otras disposiciones de memoria flash), accediendo con el controlador 308 a cada bloque o similar según información de correlación adicional que identifica qué parte (por ejemplo, bloque) de la flash total 306 ha de ser objeto de acceso. Esta información adicional de correlación puede ser escrita en otras ubicaciones de memoria conocidas por el controlador 308, por ejemplo, en el extremo alto de memoria referenciable, (o posiblemente como un suplemento al bloque designado). El soporte lógico inalterable 330, ya presente en esencialmente todos los dispositivos informáticos, puede ser actualizado para leer y escribir esta información según un protocolo adecuado mediante la CPU 389, (según se representa en la FIG. 3A por las líneas discontinuas desde el soporte lógico inalterable 330 mediante la CPU 389 hasta el controlador 308A; de esta manera, órdenes, datos e información 332 de estado pueden ser comunicados entre el soporte lógico inalterable 330 del dispositivo (y/u otro código solicitante, denominado en lo que sigue soporte lógico inalterable 330 en aras de la simplicidad) y el dispositivo 302A de memoria híbrida.
La FIG. 3B es una representación de un concepto similar al de la FIG. 3A, salvo que en la FIG. 3B el controlador alternativo 308B puede tener múltiples memorias intermedias 310-1 y 310-2 correspondientes a múltiples ventanas 320A y 320B, correlacionadas por separado con múltiples bloques flash (por ejemplo, actualmente bloque flash A1 y bloque flash B0 en la FIG. 3B). Según se puede apreciar fácilmente, aunque en la FIG. 3B solo se muestran dos accesos paralelos (y, así, normalmente más rápidos) a dispositivos de memoria flash, se puede usar cualquier número práctico.
A título de ejemplo de cómo el controlador correlaciona la ventana (FIG. 3A) o las ventanas (FIG. 3B) con la sección o las secciones correctas de flash, la FIG. 4 muestra un intervalo 440 de direcciones representado linealmente correspondiente al intervalo de un dispositivo convencional de SDRAM, que en este ejemplo es de palabras de 4M por 16 bits. En aras de la simplicidad, se describirá la correlación con respecto al único bloque designado 320 de la FIG. 3A; sin embargo, se puede entender fácilmente que se puede realizar una correlación separada esencialmente de la misma manera.
En el ejemplo de la FIG. 4, los últimos dos bloques correspondientes al espacio de direcciones de SDRAM son usados por el controlador 308 y el soporte lógico inalterable 330 como un canal 444 de órdenes y un canal 442 de datos al dispositivo 306 de memoria flash. La información 332 de correlación y otros (FIG. 3) en estos bloques 442 y 444 pueden ser leída y escrita por el controlador 308 mediante cualquier protocolo adecuado entendido por el controlador 308 y la fuente de esa información adicional (por ejemplo, código 330 de soporte lógico inalterable). Por lo tanto, accediendo a la información adicional 332 (o 333 en la FIG. 3B) en el controlador 308, por ejemplo, los últimos dos bloques de palabra de un kilobyte, se establecen vías de órdenes y datos para comunicarse con el dispositivo flash 306. Otra información también puede encontrarse en estos espacios. Por ejemplo, el soporte lógico inalterable 330 del dispositivo puede usar esta sección de memoria para emplear un protocolo de arranque por el que el soporte lógico inalterable 330 puede determinar si el dispositivo de memoria es realmente un dispositivo híbrido, dado que, en general, el dispositivo 302A de memoria híbrida de la FIG. 3, si no, sería indistinguible de un dispositivo convencional de SDRAM. Otros datos posibles comunicados por estos bloques pueden, por ejemplo, informar el controlador 308A donde está ubicado el bloque designado 320 (o bloques en la FIG. 3B) en la memoria referenciable; por ejemplo, de esta manera, los bloques designados pueden moverse, incluyendo de manera dinámica si se desea.
Pasando a una explicación de la operación de un dispositivo ejemplar de memoria híbrida, un protocolo adecuado de órdenes comprende un protocolo en serie usado para transferir información de bloques de direcciones y de órdenes (por ejemplo, 332 en la FIG. 3A) para el dispositivo flash. Se debe hacer notar que, dado que el controlador 308A es responsable de la traducción de la información de direcciones y de órdenes, el protocolo es configurable para acceder a diferentes tipos de dispositivos flash; por ejemplo, un tipo de dispositivo NAND usa una interfaz NOR SRAM, por la cual la lógica de control accede a bloques de datos, que son serializados a continuación, para adecuarse al protocolo de SDRAM de suministro de datos. Los datos de escritura en la flash 306 serían convertidos
igualmente por el controlador 308A según se requiere por el protocolo flash, por ejemplo, se escriben 2 KB en tal dispositivo flash en un momento dado.
Según se puede apreciar fácilmente, dado que la SDRAM es actualmente una o más órdenes de magnitud más rápida que la flash, el protocolo incluye un modo para el controlador 308A para indicar al soporte lógico inalterable 330 cuándo una solicitud de lectura o escritura flash está ocupada y cuándo una solicitud está lista. Se puede usar un registro de estado en la ubicación 332. Por ejemplo, el soporte lógico inalterable 330 envía una orden de lectura o escritura mediante el bloque 332 de órdenes; el estado, que puede ser un bit que es parte de la orden, es puesto a cero por el controlador tras recibir una solicitud flash para indicar que está ocupado. Se debe hacer notar que el no es preciso que el controlador 308A conmute el estado a ocupado si en una solicitud de lectura el controlador 308A sabe que el bloque designado ya contiene los datos correctos para la correlación actual.
En una situación típica, el controlador 308A establece el estado en ocupado y para una lectura, y empieza a llenar la memoria intermedia 310 con los datos solicitados. Cuando la memoria intermedia contiene los datos correctos, (que pueden ser más que los solicitados en previsión de una solicitud subsiguiente de lectura), el controlador 308A conmuta el estado a listo. El soporte lógico inalterable 330, que sondea el estado desde que envía la solicitud, sabe, entonces que los datos solicitados pueden ser leídos, que el controlador 308A emite, a continuación, desde la memoria intermedia 310. Por ejemplo, según el protocolo de SDRAM, el controlador emitirá un único conjunto de datos (por ejemplo, bytes) para la dirección solicitada si se solicita una única salida, o una salida sincronizada en ráfaga de múltiples conjuntos de datos comenzando con esa dirección, con el número de conjuntos producidos correspondiente al modo actual de ráfagas. Se debe hace notar que el modo actual de ráfagas puede ser establecido mediante una configuración cableada, incluyendo una configuración que indica que el modo de ráfaga es controlado por soporte lógico; en cualquier caso, el modo es conocido por el controlador 308A mediante las líneas de configuración equivalentes de SDRAm y/o una orden (para una ráfaga controlada por soporte lógico).
Las escrituras se gestionan de manera similar, con los datos en el bloque designado copiados por el controlador 308A en la memoria intermedia 310, mientras el controlador proporciona una señal de ocupado que es sondeada por el soporte lógico inalterable hasta que la solicitud de escritura sea realmente completada escribiendo en la flash más lenta. Como con una solicitud de lectura, para una solicitud de escritura, el dispositivo 302A de memoria híbrida le parece a la CPU 389 que opera a las velocidades correctas de SDRAM, y la CPU no es consciente de que se esté produciendo ningún sondeo de estado entre el soporte lógico inalterable 330 y el controlador 308A. Mediante el protocolo, la memoria síncrona es operada, por lo tanto, de forma adecuada desde la perspectiva de la CPU, pero realmente es operada de manera asíncrona desde la perspectiva de la entidad solicitante.
Por lo tanto, al añadir un controlador de memoria a un dispositivo de memoria híbrida que comprende SDRAM y flash con una interfaz estándar de SDRAM, la memoria flash es superpuesta en el espacio de direcciones de SDRAM. Un protocolo de órdenes (por ejemplo, en serie) es usado para gestionar la correlación de los bloques /páginas flash en el espacio de direcciones de SDRAM. Esto permite que un solo paquete de múltiples chips compatible en conectores sustituya un dispositivo existente de SDRAM en cualquier dispositivo informático que quiere proporcionar almacenaje flash, haciéndolo, no obstante, únicamente con cambios de soporte lógico inalterable al dispositivo. Por ejemplo, la memoria intermedia de una unidad de disco convencional puede ser sustituida con una mejora de un único chip que proporciona almacenaje flash, por lo que el almacenaje flash puede usarse con soporte lógico inalterable nuevo para ascender las unidades existentes a unidades híbridas. Ejemplos adicionales incluyen añadir almacenaje no volátil a un diseño de decodificador, o un diseño de teléfono móvil que fue diseñado sin almacenaje incorporado en masa en su momento, pero que ahora es deseable, por ejemplo, debido a algún nuevo modelo de aplicación o de negocio.
A modo de ejemplo de una arquitectura específica, las FIGURAS 5 y 6 demuestran el uso de dispositivos flash reales de SDRAM y de NAND, con la interfaz y componentes internos configurados para un protocolo de tensión de SDRAM y un protocolo de acceso de SDRAM ejemplares, por lo que solamente se necesitan realizar cambios en el soporte lógico (por ejemplo, en el soporte lógico inalterable del dispositivo) para hacer uso ahora de la memoria no volátil en el paquete. Sin embargo, se entenderá que esencialmente se puede usar cualquier dispositivo con características definidas de direccionamiento. Se debe hace notar que la arquitectura en las FIGURAS 5 y 6 muestra el uso de vías de datos de 16 bits, que es una aplicación común, aunque como se puede apreciar fácilmente, otras anchuras de vía de datos funcionan de la misma manera. En este ejemplo, se describe un paquete con múltiples chips que puede sustituir físicamente el chip de SDRAM en un dispositivo informático que, no obstante, incorpora tanto la memoria volátil de SDRAM como la memoria no volátil flash NAND.
El dispositivo 504 de SDRAM representado en la FIG. 5 comprende un dispositivo en modo ráfaga (por ejemplo, un dispositivo Micron® MT48LC4M16A2) que soporta transferencias de 1 byte, 2 byte, 8 byte, o de página y, por ejemplo, puede usarse en un dispositivo 602 de memoria híbrida (FIG. 6) que incluye dos gigabits de flash NAND 606. Según se representa en la arquitectura ejemplar para el dispositivo de SDRAm de la FIG. 5, como con un dispositivo convencional de SDRAM, el dispositivo de memoria híbrida acepta señales de RAS/CAS (la señal estroboscópica de acceso de fila y la señal estroboscópica de acceso de columna, muy conocidas) en las líneas de dirección (por ejemplo, A0-A11, BA0-BA1), y para lecturas o escrituras de más de un único byte, lee o escribe datos secuencialmente desde la dirección de inicio del RAS/CAS. Se debe hace notar que el dispositivo informático que
usa este tipo de memoria intermedia acumula los datos a los que se accede en serie, lo que normalmente se lleva a cabo por la antememoria integrada en muchos dispositivos informáticos.
Dado que los datos son proporcionados en serie en función de una dirección de inicio, el controlador 308 de memoria (de latencia relativamente baja) entre el anfitrión (por ejemplo, la CPU) y la SDRAM 504 es capaz de detectar las direcciones que son enviadas al chip. Detectando intervalos particulares de direcciones, la CE# (habilitar) para la interfaz de SDRAM puede ser usada para poner el dispositivo 504 en un ciclo de refresco, con datos proporcionados por otra fuente.
En la FIG. 5, la lógica de control del controlador 308 detecta direcciones enviadas a la SDRAM. Según se ha descrito anteriormente, cuando se transfieren las direcciones en el bloque designado, el controlador sabe que la solicitud es para la flash; se debe hace notar que, en esta arquitectura ejemplar, el dispositivo de SDRAM está inhabilitado al evitar que la CE# pase al dispositivo. La lógica de control del controlador puede, a continuación, bien enviar órdenes al dispositivo flash 606 o bien mediante lógica de transferencia de datos controlar el flujo de datos de lectura y escritura al dispositivo flash. Se debe hace notar que la corriente de órdenes al dispositivo de SDRAM no es interrumpida, y la inicialización del dispositivo de paquete de múltiples chips solamente requiere que la lógica de control detecte el modo operativo de ráfaga para que la SDRAM entienda las ráfagas de datos que han de usarse cuando se transfieren datos flash al bus de datos de la memoria.
Por lo tanto, en esta arquitectura en la que se envían direcciones a la SDRAM mediante transferencias RAS/CAS en un bus separado de direcciones, detectando ciclos RAS/CAS en la lógica de control, las órdenes y los datos son capaces de ser transferidos hasta la flash 606 y desde la misma, según sea apropiado. Un protocolo en serie de escrituras al bloque de órdenes para la flash 606 permite que el protocolo para el dispositivo flash sea soportado. El dispositivo flash representado en la FIG. 6 (por ejemplo, un dispositivo Micron® MT29F2G16AABWP) tiene un bus multiplexado por el que una I/O de datos, direcciones y órdenes comparten los mismos conectores. Se debe hace notar que se usan los conectores de I/O [15:8] únicamente para datos en la configuración x16, con direcciones y órdenes suministradas en I/O [7:0]. Normalmente, la secuencia de órdenes incluye un ciclo de retención de órdenes, un ciclo de retención de direcciones, y un ciclo de datos, ya sea de lectura o de escritura. Las señales de control CE#, WE#, RE#, CLE, ALE y WP# controlan las operaciones de lectura y escritura del dispositivo flash. Se debe hace notar que, en una flash diferente, por ejemplo, un dispositivo Micron® Gb MT29F8G08FAB, la CE# y la CE2# controlan cada una conjuntos independientes de 4 Gb. La CE2# funciona igual que la CE# para su propio conjunto, y las operaciones descritas para la Ce# también se aplican a la CE2#.
La CE# es usada para habilitar el dispositivo. Cuando la CE# está baja y el dispositivo no se encuentra en el estado ocupado, la memoria flash aceptará información de órdenes, datos y direcciones. Cuando el dispositivo no se encuentre realizando una operación, el conector de la CE# recibe normalmente una excitación elevada y el dispositivo entra en el modo de reposo. La memoria entrará en el modo de reposo si la CE# se eleva mientras que se estén transfiriendo datos y el dispositivo no esté ocupado. Esto contribuye a reducir el consumo energético. La operación de CE# “Indistinto” permite que la flash NAND resida en el mismo bus de memoria asíncrona que otros dispositivos flash o de SRAM. Otros dispositivos en el bus de memoria pueden ser, entonces, objeto de acceso mientras la flash NAND está ocupada con operaciones internas. Esta prestación es para diseños que requieran múltiples dispositivos NAND en el mismo bus; por ejemplo, un dispositivo puede ser programado mientras otro está siendo leído. Una señal de CLE ELEVADA indica que está teniendo lugar un ciclo de órdenes. Una señal ALE ELEVADA significa que se está produciendo un ciclo de entrada de direcciones. Las órdenes son escritas en el registro de órdenes en el flanco ascendente de WE# cuando CE# y ALE están BAJAS, y CLE está elevada y el dispositivo no esté ocupado. Excepciones a esto son el estado de lectura y las órdenes de reinicio.
Con este componente particular, las órdenes son transferidas al registro de órdenes en el flanco ascendente de WE#; las órdenes son introducidas solamente en líneas de I/O [7:0]. Para dispositivos con una interfaz x16, es preciso que las líneas de I/O [15:8] sean escritas con ceros cuando se emita una orden. Las direcciones están escritas en el registro de direcciones en el flanco ascendente de WE# cuando CE# y CLE están bajas, y ALE está elevada y el dispositivo no esté ocupado. Las direcciones son introducidas solamente en I/O [7:0]; para dispositivos con una interfaz x16, es preciso que I/O [15:8] sea escrita con ceros cuando se emita una dirección. En general, los cinco ciclos de direcciones son escritos en el dispositivo. Una excepción a esto es la orden de borrar el bloque, que requiere solamente tres ciclos de direcciones.
El dispositivo flash ejemplificado en la presente memoria es un dispositivo multiplexado, por el cual la dirección, las órdenes y los datos fluyen en serie por una interfaz sencilla de 16-bits. La FIG. 7 ejemplifica la naturaleza en serie de la sincronización del protocolo de transferencia de órdenes de direcciones y de datos con el dispositivo flash ejemplificado. Se debe hace notar que las direcciones, órdenes y datos son enviados desde la interfaz de SDRAM (que no está multiplexada) escribiendo secuencialmente en los bloques de órdenes y de datos.
Según se ha descrito anteriormente, detectando escrituras en el bloque de órdenes en el espacio de direcciones de la SDRAM, los datos solicitados pueden ser transferidos al dispositivo flash por el controlador 508. La transferencia de direcciones mostrada anteriormente puede expandirse para mostrar la transferencia de información de
direcciones al dispositivo flash. Según se ha descrito anteriormente, la información de direcciones para la memoria flash es transferida realizando múltiples escrituras en la dirección del bloque de órdenes en la SDRAM. Los datos de SDRAM en esta área no están disponibles, dado que el dispositivo sería deseleccionado para estas escrituras. De esta manera en serie, los datos de dirección e información de órdenes pueden escribirse y leerse desde el dispositivo flash. La lógica de control implementa protocolos adicionales de órdenes, según se ha descrito anteriormente, por ejemplo, para permitir que el dispositivo flash sea aislado de las consideraciones de velocidad del dispositivo de SdrAm . Por ejemplo, acumulando el estado del dispositivo flash en la lógica de control, se pueden añadir al protocolo en serie respuestas adicionales de órdenes que indiquen el estado de ocupación y de ejecución. Los datos y el estado devueltos desde el dispositivo flash son acumulados en un pequeño bloque de SRAM en la lógica de transferencia de datos, de forma que las velocidades de lectura y escritura a la flash sean equivalentes a las de la SDRAM.
En la FIG. 8 se representa un ejemplo típico de transferencia en serie al dispositivo flash, que representa lecturas y escrituras ejemplares por parte del soporte lógico inalterable 330 en el espacio 332 de direcciones de SDRAM (FIG.
3) que está reservado para controlar la flash 306. En general, el soporte lógico inalterable envía una orden flash en la etapa 802 al escribir una orden de INACTIVIDAD al espacio 332 de direcciones que detecta el controlador.
En la etapa 804, el soporte lógico inalterable envía una solicitud de dirección al bloque flash, que comprende cinco escrituras de direcciones que indican que bloque y que direcciones usar, junto con una orden de escritura en el espacio de direcciones de órdenes. Entonces, el controlador tiene la información que necesita para realizar la escritura.
En cada una de las etapas 806 y 808, el soporte lógico inalterable 330 sondea el estado emitiendo una orden de escritura y una lectura en ráfaga, haciendo bucle mediante la etapa 810 hasta que se detecte el estado de disponibilidad, y se envíe la ráfaga de lectura flash (etapa 812).
En una implementación alternativa, un protocolo basado en el registro proporciona acceso a la flash cargando una serie de registros, incluyendo la escritura de un registro con una palabra de ocupado establecida para iniciar la ejecución de la orden. Esto permite que la escritura de una sola página inicie la escritura o la búsqueda del bloque o de los bloques flash. En esta alternativa, la palabra ocupado es conmutada por el controlador cuando la orden ha sido completada. Las órdenes soportadas incluyen buscar dirección/bloque (o buscar intervalo de direcciones), escribir dirección/bloque (o escribir intervalo de direcciones), y eliminar dirección/bloque (o eliminar intervalo de direcciones).
Además, dado que el controlador incluye lógica, el controlador puede realizar la gestión de la flash. Por ejemplo, la flash se desgasta tras un cierto número de lecturas y escrituras y, por lo tanto, el controlador puede volver a correlacionar el acceso para equilibrar el uso de los diversos bloques disponibles de flash, denominado desgaste, nivelación. La lógica del controlador también puede realizar la detección y corrección de errores, y realizar la gestión de bloques defectuosos impidiendo que estén disponibles los bloques defectuosos conocidos, eliminándolos de manera lógica.
La FIG. 9 es una representación ejemplar de un módulo dual de memoria en línea (DIMM) 902, ejemplificando cómo se puede añadir flash a la memoria convencional de un sistema informático personal. Los chips flash físicos pueden encontrarse en el mismo lado que los circuitos integrados de SDRAM, en el lado opuesto, o en ambos. El controlador puede encontrarse en el propio DIMM, o alternativamente puede encontrarse externo al mismo, con la capacidad de inhabilitar la SDRAM y sustituir datos flash según se desee.
Cuando se encienda el ordenador personal, la BIOS (soporte lógico inalterable) comprueba la presencia de la memoria híbrida DIMM, y si está presente, carga al menos algo de la memoria de SDRAM (su código) de la flash. La presencia de la memoria flash no volátil permite arrancar o reanudar operaciones de los datos almacenados en la flash. Por ejemplo, los datos son objeto de acceso de la antememoria de la CPU que es correlacionada con bloques de memoria y resuelta ya sea desde la SDRAM o de la flash. Si hay suficiente flash presente, se puede preservar toda la SDRAM con fines de hibernación, o cargar todo el sistema operativo, sin necesidad de acceder a dispositivos periféricos, tales como una unidad de disco duro.
Aunque la invención es susceptible de diversas modificaciones y construcciones alternativas, se muestran ciertas realizaciones ilustradas de la misma en los dibujos y se han descrito anteriormente en detalle. Se debería entender, sin embargo, que no existe la intención de limitar la invención a las formas específicas divulgadas.
Claims (14)
1. Un procedimiento que comprende:
recibir, en un controlador (208), órdenes, direcciones y datos en un dispositivo (202) de memoria mediante una interfaz definida asociada con el dispositivo (202) de memoria, comprendiendo el dispositivo de memoria un primer tipo de memoria y un segundo tipo de memoria, correspondiéndose la interfaz definida con el primer tipo de memoria (204), de forma que el dispositivo (202) de memoria opere con el protocolo de acceso del primer tipo de memoria (204) tanto para el primer tipo de memoria (204) como para el segundo tipo de memoria (206); y
determinar en el controlador (208) si la información recibida en el dispositivo (202) de memoria se corresponde con el segundo tipo de memoria (206) asociado con el dispositivo (202) de memoria, y si es así, producir señales al segundo tipo de memoria (206) para comunicar al menos una orden al segundo tipo de memoria (206) y/o para realizar al menos una operación de entrada/salida (I/O) de datos en el segundo tipo de memoria (206), en el que el primer tipo de memoria comprende una memoria volátil (204), y el segundo tipo de memoria comprende una memoria no volátil (206),
caracterizado porque algunas de las direcciones del dispositivo (202) de memoria en un intervalo referenciable de direcciones se corresponden con el primer tipo de memoria (204), y ciertas direcciones del dispositivo (202) de memoria en el intervalo referenciable de direcciones están asociadas con el segundo tipo de memoria (206), en el que la determinación en el controlador (208) de si la información de órdenes y direcciones recibidas en el dispositivo (202) de memoria se corresponde con el segundo tipo de memoria (206) está basada en si las direcciones recibidas están asociadas con el segundo tipo de memoria (206).
2. El procedimiento de la reivindicación 1, que comprende, además, cuando la información recibida se corresponde con el segundo tipo de memoria (206), inhabilitar el primer tipo de memoria (204).
3. El procedimiento de la reivindicación 1, que comprende, además, cuando la información recibida se corresponde con el segundo tipo de memoria (206), generar una indicación de ocupado, realizar una operación de I/O de datos en el segundo tipo de memoria (206), y generar una indicación de disponibilidad cuando se complete la operación de I/O de datos.
4. El procedimiento de la reivindicación 1, que comprende, además, cuando la información recibida se corresponde con el segundo tipo de memoria (206), acceder a la información de la orden y/o la información de direccionamiento de datos en otro conjunto de una o más ubicaciones del dispositivo (202) de memoria, en el que la información recibida se corresponde con la información de direccionamiento de datos; y
leer la información de direccionamiento de datos para correlacionar una dirección recibida con una sección entre una pluralidad de posibles secciones del segundo tipo de memoria (206).
5. Un dispositivo (202) de memoria que comprende:
un primer tipo de memoria que comprende una memoria volátil (204);
un segundo tipo de memoria que comprende una memoria no volátil (206);
una interfaz correspondiente al primer tipo de memoria (204), de modo que el dispositivo (202) de memoria opere con el protocolo de acceso del primer tipo de memoria (204) tanto para el primer tipo de memoria (204) como para el segundo tipo de memoria (206); y
un controlador (208) que está acoplado con la interfaz, con el primer tipo de memoria (204) y con el segundo tipo de memoria (206),
caracterizado porque algunas de las direcciones del dispositivo (202) de memoria en un intervalo referenciable de direcciones se corresponden con el primer tipo de memoria (204), y ciertas direcciones del dispositivo (202) de memoria en el intervalo referenciable de direcciones están asociadas con el segundo tipo de memoria,
en el que el controlador (208) está configurado para determinar si la información de órdenes y direcciones recibida mediante la interfaz se aplica al primer tipo de memoria (204) o al segundo tipo de memoria (206) en función de si las direcciones recibidas se corresponden con el primer tipo de memoria (204) o están asociadas con el segundo tipo de memoria (206).
6. El dispositivo de memoria de la reivindicación 5, en el que al menos parte de la información recibida en la interfaz por la que el controlador (208) determina si la información relacionada recibida mediante la interfaz se aplica al primer tipo de memoria (204) o al segundo tipo de memoria (206) es recibida en una dirección de memoria correspondiente al primer tipo de memoria (204).
7. El dispositivo de memoria de la reivindicación 6, en el que la memoria volátil comprende memoria de tipo SDRAM o de tipo DRAM, y en el que la dirección de memoria y la información relacionada recibida mediante la interfaz comprenden información estroboscópica de acceso de fila, información estroboscópica de acceso de columna e información de control.
8. El dispositivo de memoria de la reivindicación 6, en el que la memoria no volátil comprende memoria flash, y que comprende, además, una memoria intermedia asociada con el controlador (208) para el almacenamiento temporal de las operaciones de I/O de datos realizadas con la memoria flash, y
un indicador de estado, en el que el controlador (208) indica mediante el indicador de estado si una operación de I/O de datos está ocupada o completada.
9. El dispositivo de memoria de la reivindicación 5, en el que el dispositivo (202) de memoria está incorporado en un módulo dual de memoria en línea.
10. El dispositivo de memoria de la reivindicación 5, en el que el controlador (208) incluye, además, medios para la gestión de la memoria, y
en el que el controlador (208) accede a información de órdenes y/o información de direccionamiento de datos en un conjunto de una o más ubicaciones correspondientes al primer tipo de memoria (204).
11. Un dispositivo informático (188) que comprende:
un dispositivo (202) de memoria de la reivindicación 5; y
un componente (389) que inicia órdenes al controlador (308) mediante la interfaz, incluyendo la escritura de datos relacionados con las órdenes en una o más direcciones del primer tipo de memoria (304), incluyendo al menos una orden dirigida hacia una operación de entrada/salida de datos en el segundo tipo de memoria (306).
12. El dispositivo informático de la reivindicación 11, en el que el controlador (308) envía una señal al componente (389) con información de estado de una operación de entrada/salida de datos del segundo tipo de memoria (306) mediante la escritura de datos relacionados con el estado en una o más direcciones del primer tipo de memoria (304).
13. El dispositivo informático de la reivindicación 11, en el que el componente (389) comprende código que se ejecuta en el soporte lógico inalterable (330) del dispositivo informático (188).
14. El dispositivo informático de la reivindicación 11, que comprende, además, una memoria intermedia (310) asociada con el controlador (308) para el almacenamiento temporal de operaciones de I/O de datos realizadas con el segundo tipo de memoria (306).
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US11/449,435 US7716411B2 (en) | 2006-06-07 | 2006-06-07 | Hybrid memory device with single interface |
| PCT/US2007/013127 WO2007145883A1 (en) | 2006-06-07 | 2007-06-01 | Hybrid memory device with single interface |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES2718463T3 true ES2718463T3 (es) | 2019-07-02 |
Family
ID=38823267
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES07795704T Active ES2718463T3 (es) | 2006-06-07 | 2007-06-01 | Dispositivo de memoria híbrida con una única interfaz |
Country Status (11)
| Country | Link |
|---|---|
| US (2) | US7716411B2 (es) |
| EP (1) | EP2025001B1 (es) |
| JP (2) | JP2009540431A (es) |
| KR (1) | KR101159400B1 (es) |
| CN (1) | CN101473438B (es) |
| BR (1) | BRPI0711731A2 (es) |
| ES (1) | ES2718463T3 (es) |
| MX (1) | MX2008014859A (es) |
| RU (1) | RU2442211C2 (es) |
| TW (1) | TWI420302B (es) |
| WO (1) | WO2007145883A1 (es) |
Families Citing this family (202)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8250295B2 (en) | 2004-01-05 | 2012-08-21 | Smart Modular Technologies, Inc. | Multi-rank memory module that emulates a memory module having a different number of ranks |
| US8055833B2 (en) | 2006-10-05 | 2011-11-08 | Google Inc. | System and method for increasing capacity, performance, and flexibility of flash storage |
| US10013371B2 (en) | 2005-06-24 | 2018-07-03 | Google Llc | Configurable memory circuit system and method |
| US20080082763A1 (en) | 2006-10-02 | 2008-04-03 | Metaram, Inc. | Apparatus and method for power management of memory circuits by a system or component thereof |
| US8335894B1 (en) | 2008-07-25 | 2012-12-18 | Google Inc. | Configurable memory system with interface circuit |
| US8130560B1 (en) | 2006-11-13 | 2012-03-06 | Google Inc. | Multi-rank partial width memory modules |
| US7386656B2 (en) | 2006-07-31 | 2008-06-10 | Metaram, Inc. | Interface circuit system and method for performing power management operations in conjunction with only a portion of a memory circuit |
| US8386722B1 (en) | 2008-06-23 | 2013-02-26 | Google Inc. | Stacked DIMM memory interface |
| US8081474B1 (en) | 2007-12-18 | 2011-12-20 | Google Inc. | Embossed heat spreader |
| US7580312B2 (en) | 2006-07-31 | 2009-08-25 | Metaram, Inc. | Power saving system and method for use with a plurality of memory circuits |
| US8060774B2 (en) | 2005-06-24 | 2011-11-15 | Google Inc. | Memory systems and memory modules |
| US8359187B2 (en) | 2005-06-24 | 2013-01-22 | Google Inc. | Simulating a different number of memory circuit devices |
| US8111566B1 (en) | 2007-11-16 | 2012-02-07 | Google, Inc. | Optimal channel design for memory devices for providing a high-speed memory interface |
| US8438328B2 (en) | 2008-02-21 | 2013-05-07 | Google Inc. | Emulation of abstracted DIMMs using abstracted DRAMs |
| US7609567B2 (en) | 2005-06-24 | 2009-10-27 | Metaram, Inc. | System and method for simulating an aspect of a memory circuit |
| US8089795B2 (en) | 2006-02-09 | 2012-01-03 | Google Inc. | Memory module with memory stack and interface with enhanced capabilities |
| US8796830B1 (en) | 2006-09-01 | 2014-08-05 | Google Inc. | Stackable low-profile lead frame package |
| US8244971B2 (en) | 2006-07-31 | 2012-08-14 | Google Inc. | Memory circuit system and method |
| US8041881B2 (en) | 2006-07-31 | 2011-10-18 | Google Inc. | Memory device with emulated characteristics |
| US8397013B1 (en) | 2006-10-05 | 2013-03-12 | Google Inc. | Hybrid memory module |
| US9542352B2 (en) | 2006-02-09 | 2017-01-10 | Google Inc. | System and method for reducing command scheduling constraints of memory circuits |
| US20080028136A1 (en) | 2006-07-31 | 2008-01-31 | Schakel Keith R | Method and apparatus for refresh management of memory modules |
| US8090897B2 (en) | 2006-07-31 | 2012-01-03 | Google Inc. | System and method for simulating an aspect of a memory circuit |
| US8077535B2 (en) | 2006-07-31 | 2011-12-13 | Google Inc. | Memory refresh apparatus and method |
| US8327104B2 (en) | 2006-07-31 | 2012-12-04 | Google Inc. | Adjusting the timing of signals associated with a memory system |
| US7392338B2 (en) | 2006-07-31 | 2008-06-24 | Metaram, Inc. | Interface circuit system and method for autonomously performing power management operations in conjunction with a plurality of memory circuits |
| US9507739B2 (en) | 2005-06-24 | 2016-11-29 | Google Inc. | Configurable memory circuit system and method |
| US9171585B2 (en) | 2005-06-24 | 2015-10-27 | Google Inc. | Configurable memory circuit system and method |
| US7590796B2 (en) | 2006-07-31 | 2009-09-15 | Metaram, Inc. | System and method for power management in memory systems |
| US7379316B2 (en) | 2005-09-02 | 2008-05-27 | Metaram, Inc. | Methods and apparatus of stacking DRAMs |
| US9632929B2 (en) | 2006-02-09 | 2017-04-25 | Google Inc. | Translating an address associated with a command communicated between a system and memory circuits |
| US7724589B2 (en) | 2006-07-31 | 2010-05-25 | Google Inc. | System and method for delaying a signal communicated from a system to at least one of a plurality of memory circuits |
| US7516293B2 (en) * | 2006-09-08 | 2009-04-07 | International Business Machines Corporation | Increased performance using mixed memory types |
| WO2008057557A2 (en) * | 2006-11-06 | 2008-05-15 | Rambus Inc. | Memory system supporting nonvolatile physical memory |
| JP5032172B2 (ja) * | 2007-03-28 | 2012-09-26 | 株式会社東芝 | 統合メモリ管理装置及び方法並びにデータ処理システム |
| US8135900B2 (en) | 2007-03-28 | 2012-03-13 | Kabushiki Kaisha Toshiba | Integrated memory management and memory management method |
| US8427891B2 (en) | 2007-04-17 | 2013-04-23 | Rambus Inc. | Hybrid volatile and non-volatile memory device with a shared interface circuit |
| US8301833B1 (en) | 2007-06-01 | 2012-10-30 | Netlist, Inc. | Non-volatile memory module |
| US8874831B2 (en) | 2007-06-01 | 2014-10-28 | Netlist, Inc. | Flash-DRAM hybrid memory module |
| US8904098B2 (en) | 2007-06-01 | 2014-12-02 | Netlist, Inc. | Redundant backup using non-volatile memory |
| US8209479B2 (en) | 2007-07-18 | 2012-06-26 | Google Inc. | Memory circuit system and method |
| DE102007038543C5 (de) * | 2007-08-16 | 2025-04-24 | Robert Bosch Gmbh | Begleit-Chip zur Anwendung in einer Motorsteuerung |
| US8080874B1 (en) | 2007-09-14 | 2011-12-20 | Google Inc. | Providing additional space between an integrated circuit and a circuit board for positioning a component therebetween |
| US9201790B2 (en) * | 2007-10-09 | 2015-12-01 | Seagate Technology Llc | System and method of matching data rates |
| US8209463B2 (en) * | 2008-02-05 | 2012-06-26 | Spansion Llc | Expansion slots for flash memory based random access memory subsystem |
| US8332572B2 (en) * | 2008-02-05 | 2012-12-11 | Spansion Llc | Wear leveling mechanism using a DRAM buffer |
| US8275945B2 (en) | 2008-02-05 | 2012-09-25 | Spansion Llc | Mitigation of flash memory latency and bandwidth limitations via a write activity log and buffer |
| US8352671B2 (en) * | 2008-02-05 | 2013-01-08 | Spansion Llc | Partial allocate paging mechanism using a controller and a buffer |
| JP2009211192A (ja) * | 2008-02-29 | 2009-09-17 | Toshiba Corp | メモリシステム |
| US8082384B2 (en) * | 2008-03-26 | 2011-12-20 | Microsoft Corporation | Booting an electronic device using flash memory and a limited function memory controller |
| US20090313416A1 (en) * | 2008-06-16 | 2009-12-17 | George Wayne Nation | Computer main memory incorporating volatile and non-volatile memory |
| US10236032B2 (en) * | 2008-09-18 | 2019-03-19 | Novachips Canada Inc. | Mass data storage system with non-volatile memory modules |
| US8599625B2 (en) * | 2008-10-23 | 2013-12-03 | Marvell World Trade Ltd. | Switch pin multiplexing |
| CN101510174B (zh) * | 2008-11-07 | 2012-05-02 | 慧帝科技(深圳)有限公司 | 一种快闪记忆体更新资料的管理方法及相关的记忆卡 |
| KR100987332B1 (ko) | 2008-11-07 | 2010-10-18 | 서울대학교산학협력단 | 메모리 구조에 따른 메모리 관리 장치 |
| US8370603B2 (en) | 2008-12-23 | 2013-02-05 | Apple Inc. | Architecture for address mapping of managed non-volatile memory |
| US20140325129A1 (en) * | 2008-12-31 | 2014-10-30 | Micron Technology, Inc. | Method and apparatus for active range mapping for a nonvolatile memory device |
| US8327087B1 (en) * | 2008-12-31 | 2012-12-04 | Micron Technology, Inc. | Method and apparatus for an always open write-only register based memory mapped overlay interface for a nonvolatile memory |
| KR101583002B1 (ko) * | 2009-02-23 | 2016-01-21 | 삼성전자주식회사 | 컴퓨팅 시스템, 그것의 부팅 방법, 및 코드 데이터 피닝 방법 |
| DE202010017690U1 (de) | 2009-06-09 | 2012-05-29 | Google, Inc. | Programmierung von Dimm-Abschlusswiderstandswerten |
| CN102063939B (zh) * | 2009-11-18 | 2015-01-28 | 中兴通讯股份有限公司 | 一种电可擦除可编程只读存储器的实现方法和装置 |
| CN102110057B (zh) * | 2009-12-25 | 2013-05-08 | 澜起科技(上海)有限公司 | 存储器模组及存储器模组内的数据交换方法 |
| US8612809B2 (en) * | 2009-12-31 | 2013-12-17 | Intel Corporation | Systems, methods, and apparatuses for stacked memory |
| US9176908B2 (en) | 2010-02-23 | 2015-11-03 | Rambus Inc. | Time multiplexing at different rates to access different memory types |
| WO2011112523A2 (en) * | 2010-03-08 | 2011-09-15 | Hewlett-Packard Development Company, L.P. | Data storage apparatus and methods |
| US20110255335A1 (en) * | 2010-04-20 | 2011-10-20 | Alessandro Grossi | Charge trap memory having limited charge diffusion |
| US20120026802A1 (en) * | 2010-07-30 | 2012-02-02 | Emanuele Confalonieri | Managed hybrid memory with adaptive power supply |
| KR101670055B1 (ko) * | 2010-08-30 | 2016-11-09 | 삼성전자 주식회사 | 디지털 영상 처리 장치의 제어 방법, 상기 방법을 적용한 디지털 영상 처리 장치, 상기 디지털 영상 처리 장치를 포함하는 통신 시스템 |
| JP2012063874A (ja) * | 2010-09-14 | 2012-03-29 | Toshiba Corp | チップセレクト信号を切り替えるセレクタ、ストレージ装置、及び電子機器 |
| KR20120028484A (ko) | 2010-09-15 | 2012-03-23 | 삼성전자주식회사 | 모바일 기기에 채용하기 적합한 복합형 반도체 장치 |
| EP2453377A1 (en) * | 2010-11-15 | 2012-05-16 | Gemalto SA | Method of loading data into a portable secure token |
| US10817502B2 (en) | 2010-12-13 | 2020-10-27 | Sandisk Technologies Llc | Persistent memory management |
| US9208071B2 (en) | 2010-12-13 | 2015-12-08 | SanDisk Technologies, Inc. | Apparatus, system, and method for accessing memory |
| US10817421B2 (en) | 2010-12-13 | 2020-10-27 | Sandisk Technologies Llc | Persistent data structures |
| US9141527B2 (en) * | 2011-02-25 | 2015-09-22 | Intelligent Intellectual Property Holdings 2 Llc | Managing cache pools |
| US9158546B1 (en) | 2011-04-06 | 2015-10-13 | P4tents1, LLC | Computer program product for fetching from a first physical memory between an execution of a plurality of threads associated with a second physical memory |
| US9170744B1 (en) | 2011-04-06 | 2015-10-27 | P4tents1, LLC | Computer program product for controlling a flash/DRAM/embedded DRAM-equipped system |
| US9164679B2 (en) | 2011-04-06 | 2015-10-20 | Patents1, Llc | System, method and computer program product for multi-thread operation involving first memory of a first memory class and second memory of a second memory class |
| US8930647B1 (en) | 2011-04-06 | 2015-01-06 | P4tents1, LLC | Multiple class memory systems |
| US9176671B1 (en) | 2011-04-06 | 2015-11-03 | P4tents1, LLC | Fetching data between thread execution in a flash/DRAM/embedded DRAM-equipped system |
| US10198350B2 (en) | 2011-07-28 | 2019-02-05 | Netlist, Inc. | Memory module having volatile and non-volatile memory subsystems and method of operation |
| US10380022B2 (en) | 2011-07-28 | 2019-08-13 | Netlist, Inc. | Hybrid memory module and system and method of operating the same |
| US10838646B2 (en) | 2011-07-28 | 2020-11-17 | Netlist, Inc. | Method and apparatus for presearching stored data |
| US9417754B2 (en) | 2011-08-05 | 2016-08-16 | P4tents1, LLC | User interface system, method, and computer program product |
| US11048410B2 (en) | 2011-08-24 | 2021-06-29 | Rambus Inc. | Distributed procedure execution and file systems on a memory interface |
| US9098209B2 (en) | 2011-08-24 | 2015-08-04 | Rambus Inc. | Communication via a memory interface |
| WO2013028854A1 (en) | 2011-08-24 | 2013-02-28 | Rambus Inc. | Methods and systems for mapping a peripheral function onto a legacy memory interface |
| US8707104B1 (en) | 2011-09-06 | 2014-04-22 | Western Digital Technologies, Inc. | Systems and methods for error injection in data storage systems |
| US8713357B1 (en) | 2011-09-06 | 2014-04-29 | Western Digital Technologies, Inc. | Systems and methods for detailed error reporting in data storage systems |
| US8700834B2 (en) | 2011-09-06 | 2014-04-15 | Western Digital Technologies, Inc. | Systems and methods for an enhanced controller architecture in data storage systems |
| US9195530B1 (en) | 2011-09-06 | 2015-11-24 | Western Digital Technologies, Inc. | Systems and methods for improved data management in data storage systems |
| WO2013043602A2 (en) | 2011-09-19 | 2013-03-28 | SanDisk Technologies, Inc. | High endurance non-volatile storage |
| KR20130032772A (ko) * | 2011-09-23 | 2013-04-02 | 삼성전자주식회사 | 하이브리드 메모리 장치, 이를 포함하는 컴퓨터 시스템, 및 하이브리드 메모리장치의 데이터 기입 및 독출 방법 |
| US9053008B1 (en) | 2012-03-26 | 2015-06-09 | Western Digital Technologies, Inc. | Systems and methods for providing inline parameter service in data storage devices |
| WO2013177313A2 (en) | 2012-05-22 | 2013-11-28 | Xockets IP, LLC | Processing structured and unstructured data using offload processors |
| US20130318269A1 (en) | 2012-05-22 | 2013-11-28 | Xockets IP, LLC | Processing structured and unstructured data using offload processors |
| CN103456356A (zh) | 2012-05-31 | 2013-12-18 | 三星电子株式会社 | 半导体存储器装置和相关的操作方法 |
| US9252996B2 (en) | 2012-06-21 | 2016-02-02 | Micron Technology, Inc. | Apparatuses and methods to change information values |
| KR20130143210A (ko) * | 2012-06-21 | 2013-12-31 | 삼성전자주식회사 | 메모리 확장 장치 |
| US20140101370A1 (en) * | 2012-10-08 | 2014-04-10 | HGST Netherlands B.V. | Apparatus and method for low power low latency high capacity storage class memory |
| US20140108705A1 (en) | 2012-10-12 | 2014-04-17 | Sandisk Technologies Inc. | Use of High Endurance Non-Volatile Memory for Read Acceleration |
| CN104508644B (zh) | 2012-10-30 | 2017-12-08 | 慧与发展有限责任合伙企业 | 智能存储器缓冲器 |
| CN105103234A (zh) * | 2012-11-20 | 2015-11-25 | 查尔斯·I·派德尔 | 固态驱动器体系结构 |
| US9064603B1 (en) | 2012-11-28 | 2015-06-23 | Samsung Electronics Co., Ltd. | Semiconductor memory device and memory system including the same |
| US9280497B2 (en) * | 2012-12-21 | 2016-03-08 | Dell Products Lp | Systems and methods for support of non-volatile memory on a DDR memory channel |
| US20140201416A1 (en) | 2013-01-17 | 2014-07-17 | Xockets IP, LLC | Offload processor modules for connection to system memory, and corresponding methods and systems |
| US9378161B1 (en) | 2013-01-17 | 2016-06-28 | Xockets, Inc. | Full bandwidth packet handling with server systems including offload processors |
| CN103970219B (zh) * | 2013-01-30 | 2018-03-20 | 鸿富锦精密电子(天津)有限公司 | 存储设备及支持所述存储设备的主板 |
| US8812744B1 (en) | 2013-03-14 | 2014-08-19 | Microsoft Corporation | Assigning priorities to data for hybrid drives |
| CN105122218B (zh) * | 2013-03-14 | 2019-01-18 | 美光科技公司 | 包含训练、数据组织及/或遮蔽的存储器系统及方法 |
| US10372551B2 (en) | 2013-03-15 | 2019-08-06 | Netlist, Inc. | Hybrid memory system with configurable error thresholds and failure analysis capability |
| US9658783B2 (en) | 2013-03-27 | 2017-05-23 | Hitachi, Ltd. | DRAM having SDRAM interface and flash memory consolidated memory module |
| US9569144B2 (en) | 2013-03-27 | 2017-02-14 | Hitachi, Ltd. | DRAM with SDRAM interface, and hybrid flash memory module |
| US9552176B2 (en) * | 2013-04-12 | 2017-01-24 | Microsoft Technology Licensing, Llc | Block storage using a hybrid memory device |
| US9626126B2 (en) | 2013-04-24 | 2017-04-18 | Microsoft Technology Licensing, Llc | Power saving mode hybrid drive access management |
| US9946495B2 (en) | 2013-04-25 | 2018-04-17 | Microsoft Technology Licensing, Llc | Dirty data management for hybrid drives |
| US9436600B2 (en) | 2013-06-11 | 2016-09-06 | Svic No. 28 New Technology Business Investment L.L.P. | Non-volatile memory storage for multi-channel memory system |
| WO2014203383A1 (ja) * | 2013-06-20 | 2014-12-24 | 株式会社日立製作所 | 異種メモリを混載したメモリモジュール、及びそれを搭載した情報処理装置 |
| US9129674B2 (en) * | 2013-06-27 | 2015-09-08 | Intel Corporation | Hybrid memory device |
| WO2015005903A1 (en) * | 2013-07-09 | 2015-01-15 | Hewlett-Packard Development Company, L.P. | Write flow control for memory modules that include or interface with non-compliant memory technologies |
| US9921980B2 (en) | 2013-08-12 | 2018-03-20 | Micron Technology, Inc. | Apparatuses and methods for configuring I/Os of memory for hybrid memory modules |
| JP6090057B2 (ja) * | 2013-08-15 | 2017-03-08 | 富士ゼロックス株式会社 | 状態情報記録装置及びプログラム |
| US10185515B2 (en) | 2013-09-03 | 2019-01-22 | Qualcomm Incorporated | Unified memory controller for heterogeneous memory on a multi-chip package |
| JP6072661B2 (ja) * | 2013-09-30 | 2017-02-01 | ルネサスエレクトロニクス株式会社 | データ処理装置、マイクロコントローラ、及び半導体装置 |
| US11182284B2 (en) | 2013-11-07 | 2021-11-23 | Netlist, Inc. | Memory module having volatile and non-volatile memory subsystems and method of operation |
| CN111309256B (zh) * | 2013-11-07 | 2024-04-30 | 奈特力斯股份有限公司 | 混合内存模块以及操作混合内存模块的系统和方法 |
| US10248328B2 (en) | 2013-11-07 | 2019-04-02 | Netlist, Inc. | Direct data move between DRAM and storage on a memory module |
| KR102195896B1 (ko) * | 2014-01-10 | 2020-12-28 | 삼성전자주식회사 | 디스크 캐시 제어 장치 및 방법 |
| US9342402B1 (en) | 2014-01-28 | 2016-05-17 | Altera Corporation | Memory interface with hybrid error detection circuitry for modular designs |
| US9237670B2 (en) | 2014-02-26 | 2016-01-12 | Samsung Electronics Co., Ltd. | Socket interposer and computer system using the socket |
| CN103942159A (zh) * | 2014-03-19 | 2014-07-23 | 华中科技大学 | 一种基于混合存储设备的数据读写方法与装置 |
| US9911477B1 (en) | 2014-04-18 | 2018-03-06 | Altera Corporation | Memory controller architecture with improved memory scheduling efficiency |
| US20150347151A1 (en) * | 2014-05-28 | 2015-12-03 | Diablo Technologies Inc. | System and method for booting from a non-volatile memory |
| US9811263B1 (en) | 2014-06-30 | 2017-11-07 | Altera Corporation | Memory controller architecture with improved memory scheduling efficiency |
| US10430092B1 (en) * | 2014-07-28 | 2019-10-01 | Rambus Inc. | Memory controller systems with nonvolatile memory for storing operating parameters |
| US9715453B2 (en) * | 2014-12-11 | 2017-07-25 | Intel Corporation | Computing method and apparatus with persistent memory |
| US10318340B2 (en) * | 2014-12-31 | 2019-06-11 | Ati Technologies Ulc | NVRAM-aware data processing system |
| KR102355436B1 (ko) * | 2015-01-09 | 2022-01-26 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 |
| KR102076196B1 (ko) * | 2015-04-14 | 2020-02-12 | 에스케이하이닉스 주식회사 | 메모리 시스템, 메모리 모듈 및 메모리 모듈의 동작 방법 |
| EP3286654B1 (en) * | 2015-04-20 | 2021-10-27 | Netlist, Inc. | Memory module and system and method of operation |
| WO2016182743A1 (en) | 2015-05-09 | 2016-11-17 | Medtronic, Inc. | Methods and devices that utilize hardware to move blocks of operating parameter data from memory to a register set |
| US10261697B2 (en) | 2015-06-08 | 2019-04-16 | Samsung Electronics Co., Ltd. | Storage device and operating method of storage device |
| US9904490B2 (en) * | 2015-06-26 | 2018-02-27 | Toshiba Memory Corporation | Solid-state mass storage device and method for persisting volatile data to non-volatile media |
| US10078448B2 (en) | 2015-07-08 | 2018-09-18 | Samsung Electronics Co., Ltd. | Electronic devices and memory management methods thereof |
| US20170060434A1 (en) * | 2015-08-27 | 2017-03-02 | Samsung Electronics Co., Ltd. | Transaction-based hybrid memory module |
| KR102367512B1 (ko) | 2015-09-08 | 2022-02-24 | 삼성전자주식회사 | 시스템 온 패키지 |
| US10031674B2 (en) * | 2015-10-07 | 2018-07-24 | Samsung Electronics Co., Ltd. | DIMM SSD addressing performance techniques |
| US10331586B2 (en) | 2015-10-30 | 2019-06-25 | Samsung Electronics Co., Ltd. | Nonvolatile memory device for providing fast booting and system including the same |
| WO2017078681A1 (en) * | 2015-11-03 | 2017-05-11 | Hewlett-Packard Development Company, L.P. | Operating mode memory migration |
| US9971511B2 (en) | 2016-01-06 | 2018-05-15 | Samsung Electronics Co., Ltd. | Hybrid memory module and transaction-based memory interface |
| US20170220252A1 (en) * | 2016-01-29 | 2017-08-03 | Faraday&Future Inc. | Flash emulated eeprom wrapper |
| US10146704B2 (en) * | 2016-02-16 | 2018-12-04 | Dell Products L.P. | Volatile/non-volatile memory device access provisioning system |
| US10163508B2 (en) * | 2016-02-26 | 2018-12-25 | Intel Corporation | Supporting multiple memory types in a memory slot |
| US10534619B2 (en) | 2016-02-26 | 2020-01-14 | Smart Modular Technologies, Inc. | Memory management system with multiple boot devices and method of operation thereof |
| US10592114B2 (en) | 2016-03-03 | 2020-03-17 | Samsung Electronics Co., Ltd. | Coordinated in-module RAS features for synchronous DDR compatible memory |
| US10621119B2 (en) | 2016-03-03 | 2020-04-14 | Samsung Electronics Co., Ltd. | Asynchronous communication protocol compatible with synchronous DDR protocol |
| US10310547B2 (en) * | 2016-03-05 | 2019-06-04 | Intel Corporation | Techniques to mirror a command/address or interpret command/address logic at a memory device |
| US10810144B2 (en) * | 2016-06-08 | 2020-10-20 | Samsung Electronics Co., Ltd. | System and method for operating a DRR-compatible asynchronous memory module |
| US10186309B2 (en) | 2016-06-29 | 2019-01-22 | Samsung Electronics Co., Ltd. | Methods of operating semiconductor memory devices and semiconductor memory devices |
| US10692555B2 (en) | 2016-06-29 | 2020-06-23 | Samsung Electronics Co., Ltd. | Semiconductor memory devices enabling read strobe mode and related methods of operating semiconductor memory devices |
| KR102554496B1 (ko) | 2016-07-14 | 2023-07-13 | 에스케이하이닉스 주식회사 | 복수개의 메모리 모듈을 포함하는 데이터 처리 시스템 |
| US10282108B2 (en) * | 2016-08-31 | 2019-05-07 | Micron Technology, Inc. | Hybrid memory device using different types of capacitors |
| US9916256B1 (en) | 2016-09-12 | 2018-03-13 | Toshiba Memory Corporation | DDR storage adapter |
| KR20180030329A (ko) * | 2016-09-13 | 2018-03-22 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
| US10552053B2 (en) | 2016-09-28 | 2020-02-04 | Seagate Technology Llc | Hybrid data storage device with performance mode data path |
| DE102017105155B4 (de) | 2016-11-11 | 2023-09-07 | Sandisk Technologies Llc | Schnittstelle für einen nichtflüchtigen speicher |
| CN108121664A (zh) * | 2016-11-28 | 2018-06-05 | 慧荣科技股份有限公司 | 数据储存装置以及其操作方法 |
| KR102832894B1 (ko) | 2016-12-30 | 2025-07-10 | 삼성전자주식회사 | 반도체 장치 |
| JP6391719B2 (ja) * | 2017-01-10 | 2018-09-19 | マイクロン テクノロジー, インク. | トレーニング、データ再構築および/またはシャドウィングを含むメモリシステムおよび方法 |
| US10977057B2 (en) | 2017-01-23 | 2021-04-13 | Via Labs, Inc. | Electronic apparatus capable of collectively managing different firmware codes and operation method thereof |
| US10459659B2 (en) * | 2017-03-31 | 2019-10-29 | Intel Corporation | Technologies for issuing commands on selected memory devices |
| US11175853B2 (en) * | 2017-05-09 | 2021-11-16 | Samsung Electronics Co., Ltd. | Systems and methods for write and flush support in hybrid memory |
| US10496584B2 (en) * | 2017-05-11 | 2019-12-03 | Samsung Electronics Co., Ltd. | Memory system for supporting internal DQ termination of data buffer |
| US10403342B2 (en) * | 2017-06-20 | 2019-09-03 | Aspiring Sky Co. Limited | Hybrid flash memory structure |
| US10845866B2 (en) * | 2017-06-22 | 2020-11-24 | Micron Technology, Inc. | Non-volatile memory system or sub-system |
| ES2827790T3 (es) * | 2017-08-21 | 2021-05-24 | Carrier Corp | Sistema antiincendios y de seguridad que incluye bucle accesible por dirección y mejora automática de firmware |
| KR102412609B1 (ko) | 2017-11-03 | 2022-06-23 | 삼성전자주식회사 | 내부 커맨드에 따른 어드레스에 대한 저장 및 출력 제어를 수행하는 메모리 장치 및 그 동작방법 |
| KR102101622B1 (ko) * | 2017-12-06 | 2020-04-17 | 주식회사 멤레이 | 메모리 제어 장치 및 이를 포함하는 컴퓨팅 디바이스 |
| US11422707B2 (en) * | 2017-12-21 | 2022-08-23 | Advanced Micro Devices, Inc. | Scheduling memory requests for a ganged memory device |
| US11216370B2 (en) * | 2018-02-20 | 2022-01-04 | Medtronic, Inc. | Methods and devices that utilize hardware to move blocks of operating parameter data from memory to a register set |
| KR20190105337A (ko) | 2018-03-05 | 2019-09-17 | 삼성전자주식회사 | 반도체 메모리 장치 |
| US10534731B2 (en) * | 2018-03-19 | 2020-01-14 | Micron Technology, Inc. | Interface for memory having a cache and multiple independent arrays |
| US10705963B2 (en) * | 2018-03-21 | 2020-07-07 | Micron Technology, Inc. | Latency-based storage in a hybrid memory system |
| TWI668575B (zh) * | 2018-07-26 | 2019-08-11 | 慧榮科技股份有限公司 | 資料儲存裝置以及非揮發式記憶體控制方法 |
| US10977198B2 (en) | 2018-09-12 | 2021-04-13 | Micron Technology, Inc. | Hybrid memory system interface |
| WO2020077518A1 (zh) * | 2018-10-16 | 2020-04-23 | 华为技术有限公司 | 一种混合存储设备及访问方法 |
| US11048654B2 (en) * | 2018-10-24 | 2021-06-29 | Innogrit Technologies Co., Ltd. | Systems and methods for providing multiple memory channels with one set of shared address pins on the physical interface |
| TWI739075B (zh) * | 2019-01-03 | 2021-09-11 | 慧榮科技股份有限公司 | 閃存的資料寫入方法及電腦程式產品 |
| US11199991B2 (en) | 2019-01-03 | 2021-12-14 | Silicon Motion, Inc. | Method and apparatus for controlling different types of storage units |
| KR102845639B1 (ko) | 2019-08-07 | 2025-08-12 | 삼성전자주식회사 | 스토리지 장치 |
| US11392526B2 (en) * | 2020-06-04 | 2022-07-19 | Micron Technology, Inc. | Memory system with selectively interfaceable memory subsystem |
| RU2757659C1 (ru) * | 2020-06-16 | 2021-10-19 | Александр Георгиевич Носков | Накопитель магнитный с разделёнными областями |
| KR20220029914A (ko) | 2020-09-02 | 2022-03-10 | 삼성전자주식회사 | 펄스 진폭 변조 기반 데이터 스트로브 신호를 생성하는 메모리 장치, 메모리 컨트롤러 및 이들을 포함하는 메모리 시스템 |
| US20220083252A1 (en) * | 2020-09-14 | 2022-03-17 | Micron Technology, Inc. | Indication-based avoidance of defective memory cells |
| CN112199045A (zh) * | 2020-10-12 | 2021-01-08 | 长江存储科技有限责任公司 | 存储装置以及数据操作方法 |
| KR102840912B1 (ko) | 2020-12-02 | 2025-07-30 | 삼성전자주식회사 | 메모리 장치, 메모리 시스템 및 이의 동작 방법 |
| US11803326B2 (en) * | 2021-04-23 | 2023-10-31 | Macronix International Co., Ltd. | Implementing a read setup burst command in 3D NAND flash memory to reduce voltage threshold deviation over time |
| KR102483906B1 (ko) * | 2021-07-14 | 2022-12-30 | 서울시립대학교 산학협력단 | Nand 플래시 메모리와 sram이 융합된 nas 메모리 셀 및 이를 이용한 nas 메모리 어레이 |
| US12315559B2 (en) | 2022-05-02 | 2025-05-27 | Samsung Electronics Co., Ltd. | Latch-based storage circuits having efficient integrated circuit layouts |
| KR20240119562A (ko) | 2023-01-30 | 2024-08-06 | 삼성전자주식회사 | 캐시 바이패싱 동작을 수행하는 메모리 시스템 및 그것의 캐시 관리 방법 |
| KR102848483B1 (ko) * | 2023-07-04 | 2025-08-21 | 한국전자통신연구원 | 비휘발성 메모리 제어 장치 및 방법 |
| CN116955241B (zh) * | 2023-09-21 | 2024-01-05 | 杭州智灵瞳人工智能有限公司 | 兼容多类型存储介质的存储芯片 |
Family Cites Families (37)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4995004A (en) | 1989-05-15 | 1991-02-19 | Dallas Semiconductor Corporation | RAM/ROM hybrid memory architecture |
| JPH05299616A (ja) * | 1992-04-16 | 1993-11-12 | Hitachi Ltd | 半導体記憶装置 |
| JPH06195258A (ja) * | 1992-07-08 | 1994-07-15 | Nec Corp | 半導体記憶装置 |
| CN1147866C (zh) * | 1994-06-02 | 2004-04-28 | 英特尔公司 | 含多级单元的快擦存储器的读出电路 |
| US5696917A (en) | 1994-06-03 | 1997-12-09 | Intel Corporation | Method and apparatus for performing burst read operations in an asynchronous nonvolatile memory |
| US5634112A (en) * | 1994-10-14 | 1997-05-27 | Compaq Computer Corporation | Memory controller having precharge prediction based on processor and PCI bus cycles |
| US5701433A (en) * | 1994-10-14 | 1997-12-23 | Compaq Computer Corporation | Computer system having a memory controller which performs readahead operations which can be aborted prior to completion |
| US6741494B2 (en) | 1995-04-21 | 2004-05-25 | Mark B. Johnson | Magnetoelectronic memory element with inductively coupled write wires |
| US5864671A (en) | 1996-07-01 | 1999-01-26 | Sun Microsystems, Inc. | Hybrid memory access protocol for servicing memory access request by ascertaining whether the memory block is currently cached in determining which protocols to be used |
| US6418506B1 (en) | 1996-12-31 | 2002-07-09 | Intel Corporation | Integrated circuit memory and method for transferring data using a volatile memory to buffer data for a nonvolatile memory array |
| US6850995B1 (en) * | 1999-01-25 | 2005-02-01 | Canon Kabushiki Kaisha | Control unit selectively connected with a first bus and a second bus for controlling a displaying process in parallel with a scanning process |
| US6380581B1 (en) | 1999-02-26 | 2002-04-30 | Micron Technology, Inc. | DRAM technology compatible non volatile memory cells with capacitors connected to the gates of the transistors |
| KR100313514B1 (ko) * | 1999-05-11 | 2001-11-17 | 김영환 | 하이브리드 메모리 장치 |
| KR100383774B1 (ko) | 2000-01-26 | 2003-05-12 | 삼성전자주식회사 | 공통 인터페이스 방식의 메모리 장치들을 구비한 시스템 |
| US7073014B1 (en) | 2000-07-28 | 2006-07-04 | Micron Technology, Inc. | Synchronous non-volatile memory system |
| JP3871853B2 (ja) * | 2000-05-26 | 2007-01-24 | 株式会社ルネサステクノロジ | 半導体装置及びその動作方法 |
| JP2002259443A (ja) * | 2001-02-28 | 2002-09-13 | Ricoh Co Ltd | 文書管理システム、文書検索方法および文書検索プログラム |
| US6327207B1 (en) * | 2001-04-09 | 2001-12-04 | Lsi Logic Corporation | Synchronizing data operations across a synchronization boundary between different clock domains using two-hot encoding |
| TWI240864B (en) * | 2001-06-13 | 2005-10-01 | Hitachi Ltd | Memory device |
| JP4059002B2 (ja) * | 2001-06-13 | 2008-03-12 | 株式会社日立製作所 | メモリ装置 |
| US20030090879A1 (en) * | 2001-06-14 | 2003-05-15 | Doblar Drew G. | Dual inline memory module |
| JP2003006041A (ja) | 2001-06-20 | 2003-01-10 | Hitachi Ltd | 半導体装置 |
| US6670234B2 (en) | 2001-06-22 | 2003-12-30 | International Business Machines Corporation | Method of integrating volatile and non-volatile memory cells on the same substrate and a semiconductor memory device thereof |
| US7533214B2 (en) * | 2002-02-27 | 2009-05-12 | Microsoft Corporation | Open architecture flash driver |
| US6799231B2 (en) * | 2002-10-22 | 2004-09-28 | Asix Electronics Corp. | Virtual I/O device coupled to memory controller |
| KR100786603B1 (ko) * | 2002-11-28 | 2007-12-21 | 가부시끼가이샤 르네사스 테크놀로지 | 메모리 모듈, 메모리시스템 및 정보기기 |
| US7752380B2 (en) | 2003-07-31 | 2010-07-06 | Sandisk Il Ltd | SDRAM memory device with an embedded NAND flash controller |
| US6859068B1 (en) * | 2003-08-08 | 2005-02-22 | Sun Microsystems, Inc. | Self-correcting I/O interface driver scheme for memory interface |
| US7171526B2 (en) | 2003-11-07 | 2007-01-30 | Freescale Semiconductor, Inc. | Memory controller useable in a data processing system |
| US6862206B1 (en) * | 2003-12-19 | 2005-03-01 | Hewlett-Packard Development Company, L.P. | Memory module hybridizing an atomic resolution storage (ARS) memory and a magnetic memory |
| KR101085406B1 (ko) | 2004-02-16 | 2011-11-21 | 삼성전자주식회사 | 불 휘발성 메모리를 제어하기 위한 컨트롤러 |
| US20050204091A1 (en) | 2004-03-11 | 2005-09-15 | Kilbuck Kevin M. | Non-volatile memory with synchronous DRAM interface |
| CA2682814C (en) * | 2004-07-12 | 2011-11-08 | Kabushiki Kaisha Toshiba | Storage device and host apparatus |
| US20060184710A1 (en) * | 2005-02-17 | 2006-08-17 | Nokia Inc. | Bridge between a single channel high speed bus and a multiple channel low speed bus |
| US20060294295A1 (en) * | 2005-06-24 | 2006-12-28 | Yukio Fukuzo | DRAM chip device well-communicated with flash memory chip and multi-chip package comprising such a device |
| US7360022B2 (en) * | 2005-12-29 | 2008-04-15 | Intel Corporation | Synchronizing an instruction cache and a data cache on demand |
| US8427891B2 (en) * | 2007-04-17 | 2013-04-23 | Rambus Inc. | Hybrid volatile and non-volatile memory device with a shared interface circuit |
-
2006
- 2006-06-07 US US11/449,435 patent/US7716411B2/en active Active
-
2007
- 2007-04-13 TW TW096113112A patent/TWI420302B/zh not_active IP Right Cessation
- 2007-06-01 BR BRPI0711731-0A patent/BRPI0711731A2/pt not_active Application Discontinuation
- 2007-06-01 WO PCT/US2007/013127 patent/WO2007145883A1/en not_active Ceased
- 2007-06-01 MX MX2008014859A patent/MX2008014859A/es active IP Right Grant
- 2007-06-01 JP JP2009514323A patent/JP2009540431A/ja active Pending
- 2007-06-01 ES ES07795704T patent/ES2718463T3/es active Active
- 2007-06-01 RU RU2008148129/08A patent/RU2442211C2/ru active
- 2007-06-01 CN CN2007800212183A patent/CN101473438B/zh active Active
- 2007-06-01 EP EP07795704.1A patent/EP2025001B1/en active Active
- 2007-06-01 KR KR1020087029847A patent/KR101159400B1/ko active Active
-
2010
- 2010-04-30 US US12/771,670 patent/US8423700B2/en active Active
-
2011
- 2011-05-18 JP JP2011111408A patent/JP5613103B2/ja active Active
Also Published As
| Publication number | Publication date |
|---|---|
| US7716411B2 (en) | 2010-05-11 |
| KR20090026276A (ko) | 2009-03-12 |
| CN101473438A (zh) | 2009-07-01 |
| JP2009540431A (ja) | 2009-11-19 |
| EP2025001A4 (en) | 2010-07-28 |
| US20070288683A1 (en) | 2007-12-13 |
| MX2008014859A (es) | 2008-12-01 |
| WO2007145883A1 (en) | 2007-12-21 |
| CN101473438B (zh) | 2012-06-13 |
| TWI420302B (zh) | 2013-12-21 |
| EP2025001A1 (en) | 2009-02-18 |
| JP2011181098A (ja) | 2011-09-15 |
| RU2008148129A (ru) | 2010-06-10 |
| JP5613103B2 (ja) | 2014-10-22 |
| EP2025001B1 (en) | 2019-01-23 |
| BRPI0711731A2 (pt) | 2011-11-29 |
| US20100217924A1 (en) | 2010-08-26 |
| KR101159400B1 (ko) | 2012-06-28 |
| US8423700B2 (en) | 2013-04-16 |
| TW200745848A (en) | 2007-12-16 |
| RU2442211C2 (ru) | 2012-02-10 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| ES2718463T3 (es) | Dispositivo de memoria híbrida con una única interfaz | |
| US8151036B2 (en) | Memory controller, memory system, and access control method of flash memory | |
| JP6986369B2 (ja) | メモリモジュール、これを含むシステム及びその動作方法 | |
| KR100281432B1 (ko) | 플래쉬 메모리에 기초한 주메모리 | |
| US7454639B2 (en) | Various apparatuses and methods for reduced power states in system memory | |
| US9645746B2 (en) | Systems and methods for support of non-volatile memory on a DDR memory channel | |
| CN100541410C (zh) | 磁盘驱动器系统 | |
| KR101498225B1 (ko) | 데이터 저장 장치 및 그것의 전원 관리 방법 | |
| TWI390520B (zh) | 包含快閃式介面的硬碟驅動器之可調整儲存系統 | |
| US7441070B2 (en) | Method for accessing a non-volatile memory via a volatile memory interface | |
| US20080082752A1 (en) | Method and apparatus for saving power for a computing system by providing instant-on resuming from a hibernation state | |
| US20110276746A1 (en) | Caching storage adapter architecture | |
| KR101925870B1 (ko) | Ssd 콘트롤러 및 그의 제어 방법 | |
| US20080010420A1 (en) | Method for Accessing Control Registers via a Memory Device | |
| KR20080084082A (ko) | 메모리 카드 및 그것을 포함하는 메모리 시스템 그리고그것의 동작 방법 | |
| KR20210118727A (ko) | 행 주소 지정 및 열 주소 지정이 가능한 메모리의 동적 데이터에 대한 에러 정정 | |
| CN111399752B (zh) | 不同类型存储单元的控制装置及方法 | |
| KR102856775B1 (ko) | 전자 장치, 호스트의 동작 방법, 메모리 모듈의 동작 방법, 및 메모리 장치의 동작 방법 | |
| CN115203080A (zh) | 避免在低功率下存取相干存储器设备时处理器停止 | |
| US20080010419A1 (en) | System and Method for Issuing Commands | |
| KR102848213B1 (ko) | 호스트 장치, 데이터 저장 장치, 데이터 처리 시스템 및 데이터 처리 방법 | |
| CN115543861A (zh) | 管理地址映射的方法和近存储器处理双列直插式存储器模块 | |
| US7805567B2 (en) | Chipset and northbridge with raid access | |
| JP2007041795A (ja) | コンピュータシステム |