MX2008014859A - Dispositivo de memoria hibrida con interfase individual. - Google Patents
Dispositivo de memoria hibrida con interfase individual.Info
- Publication number
- MX2008014859A MX2008014859A MX2008014859A MX2008014859A MX2008014859A MX 2008014859 A MX2008014859 A MX 2008014859A MX 2008014859 A MX2008014859 A MX 2008014859A MX 2008014859 A MX2008014859 A MX 2008014859A MX 2008014859 A MX2008014859 A MX 2008014859A
- Authority
- MX
- Mexico
- Prior art keywords
- memory
- type
- controller
- data
- flash
- Prior art date
Links
- 239000000872 buffer Substances 0.000 claims description 15
- 230000003139 buffering effect Effects 0.000 claims description 3
- 238000000034 method Methods 0.000 claims 5
- 238000013479 data entry Methods 0.000 claims 2
- 230000011664 signaling Effects 0.000 claims 1
- 238000005516 engineering process Methods 0.000 abstract description 2
- 238000012546 transfer Methods 0.000 description 10
- 238000004880 explosion Methods 0.000 description 7
- 238000013461 design Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 4
- 238000010276 construction Methods 0.000 description 4
- 238000013515 script Methods 0.000 description 4
- 239000004020 conductor Substances 0.000 description 3
- 238000009826 distribution Methods 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 230000006266 hibernation Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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; CALCULATING OR 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; CALCULATING OR 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; CALCULATING OR 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)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
- Read Only Memory (AREA)
- Dram (AREA)
Abstract
Se describe una tecnología por la cual un controlador de memoria es un componente un dispositivo de memoria híbrida que tiene diferentes tipos de memoria ahí (por ejemplo, SDRAM y memoria flash), en donde el controlador opera para que el dispositivo de memoria sólo tenga una interfase de memoria individual con respecto a voltaje y protocolos de acceso definidos para un tipo de memoria. Por ejemplo, el controlador permite a un dispositivo de memoria con una interfase SDRAM estándar proporcionar acceso tanto a SDRAM como memoria no volátil con la memoria no volátil revestida en uno o más bloques designados del espacio de dirección de memoria volátil (o viceversa). Un protocolo de comando delinea páginas de memoria al espacio de dirección de interfase de memoria volátil, por ejemplo, que permite a un paquete de chips múltiples compatibles con broche individual reemplazar un dispositivo de memoria volátil existente en cualquier dispositivo de cómputo que desea proporcionar almacenamiento no volátil, mientras sólo requiere cambios de software al dispositivo para acceder a flash.
Description
DISPOSITIVO DE MEMORIA HIBRIDA CON INTERFASE INDIVIDUAL
ANTECEDENTES
Varios dispositivos de cómputo existentes y nuevos hacen uso de memoria de alta velocidad, volátil (por ejemplo, memoria de acceso aleatorio dinámico, o DRAM) para soportar instrucciones operativas y datos. Tales dispositivos incluyen teléfonos móviles, aparatos de tv por cable, memoria de computadora personal, y así sucesivamente. Los dispositivos de cómputo crecientemente también incluyen grandes cantidades de memoria flash de NAND no volátil relativamente barata para almacenar aplicaciones y datos. Sin embargo, se diseñan muchos dispositivos de computadora a base de DRM existentes sin las interfases de conductor común apropiadas para soportar memoria flash NAND; para soportar memoria flash NAND se requiere un rediseño costoso y largo del conjunto de chips de dispositivo. Similarmente, la mayoría de los dispositivos a base de flash de NAND no pueden simplemente agregar DRAM. Cambios significativos a una arquitectura física de dispositivo se requieren para poner la memoria flash en un modelo actualizado de lo que era un dispositivo a base de DRAM, por ejemplo, o viceversa. Mientras una combinación de memoria volátil y no volátil proporciona beneficios en muchas situaciones, frecuentemente el costo de rediseñar un conjunto de chips de dispositivo es demasiado
costoso/riesgoso para un vendedor, con lo cual el vendedor renuncia a nuevas características y modelos de negocio que de otra forma pueden habilitarse al tener memoria volátil y no volátil en un dispositivo. Además, no hay una forma directa para utilizar modelos arquitectónicos existentes y, por ejemplo, actualizar un dispositivo a base de DRAM existente con memoria flash de NAND; por ejemplo, un tablero de circuito completo necesitará rediseñarse y reemplazarse, en lugar de simplemente agregar memoria o cambiar memoria en un dispositivo existente (y actualizar software como sea apropiado). Además, existe una gran diferencia en velocidades de conductor común entre memoria no volátil y a base de DRAM.
BREVE DESCRIPCION DE LA INVENCION
Esta breve descripción se proporciona para introducir una selección de conceptos representativos en una forma simplificada que además se describe posteriormente en la descripción detallada. Esta breve descripción no pretende identificar características clave o características esenciales del tema reclamado, ni pretende utilizarse como de ninguna forma para limitar el alcance del tema reclamado. Brevemente, los varios aspectos del tema aquí descritos se dirigen hacia un dispositivo de memoria híbrida que incluye un primer tipo de memoria (por ejemplo, memoria de tipo DRAM volátil) y una interfase que corresponde al primer tipo de memoria, y un segundo tipo de memoria (por ejemplo, memoria de tipo flash no volátil). El
dispositivo de memoria incluye un controlador que se acopla a la interfase, al primer tipo de memoria y al segundo tipo de memoria. Basándose en la información tal como comandos y/o direcciones de memoria recibidas en la interfase, el controlador determina si un comando tal como una solicitud de 1/0 (por ejemplo, una lectura o escritura) se dirige al primer tipo de memoria o el segundo tipo de memoria. De esa forma, al recibir comandos, direcciones y datos en un controlador del dispositivo de memoria híbrida, diferentes tipos de memoria pueden accederse por software (por ejemplo, firmware de dispositivo o un programa) a través de una interfase individual definida para un tipo de memoria. El controlador incluye lógica que determina si un comando/dirección recibida en la interfase de un primer tipo de memoria se dirige a un segundo tipo de memoria asociado con el dispositivo de memoria, y si es así, saca señales al segundo tipo de memoria para comunicar al menos un comando al segundo tipo de memoria y/o para realizar al menos una operación de entrada/salida (l/O) de datos en el segundo tipo de memoria. Otras ventajas pueden ser evidentes a partir de la siguiente descripción detallada cuando se toman en conjunto con los dibujos.
BREVE DESCRIPCIÓN DE LOS DIBUJOS
La presente invención se ilustra a manera de ejemplo y no se limitan las figuras anexas en donde números de referencia similares
indican elementos similares y en donde: la Figura 1 muestra un ejemplo ilustrativo de un dispositivo de cómputo en el cual pueden incorporarse varios aspectos de la presente invención. la Figura 2 es una representación de un dispositivo de memoria híbrida ilustrativo que incluye un controlador y dos tipos de memoria que cada uno es accesible por una interfase individual definida por uno de los tipos de memoria. La Figura 3A es una representación de un dispositivo de memoria híbrida ilustrativo con una interfase SDRAM con SDRAM y memoria flash que se accede a través de un bloque designado de memoria en espacio dirigible SDRAM. La Figura 3B es una representación de un dispositivo de memoria híbrida ilustrativo con una interfase SDRAM con SDRAM y memoria flash que se accede a través de una pluralidad de bloques designados de memoria en espacio dirigible de SDRAM. La Figura 4 es una representación de espacio de memoria dirigible que corresponde a un primer tipo de memoria con secciones utilizadas para comunicar datos y comandos con un segundo tipo de memoria. La Figura 5 es una representación ilustrativa de un tipo adecuado de dispositivo SDRAM que puede incorporarse en un dispositivo de memoria híbrida. La Figura 6 es una representación ilustrativa de un dispositivo de memoria híbrida con una interfase SDRAM que contiene un
dispositivo SDRAM tal como el dispositivo de la Figura 5 y un dispositivo flash. La Figura 7 es una representación ilustrativa de un diagrama de registro de tiempo para controlar un dispositivo SDRAM y un dispositivo flash. La Figura 8 es una representación de pasos ilustrativos que corresponden a cómo el controlador puede sacar datos flash a un dispositivo SDRAM configurado para explotar salida de datos. La Figura 9 es una representación de como el flash puede agregarse a un módulo de memoria en línea doble (DIMMM) para agregar flash a memoria de computadora personal a base de DRAM (que incluye SDRAM).
DESCRIPCION DETALLADA
AMBIENTE OPERATIVO ILUSTRATIVO La Figura 1 ilustra un ejemplo de algunos componentes funcionales adecuados de un dispositivo de cómputo 188, como puede encontrarse en un asistente digital personal, aparato, teléfono móvil y así sucesivamente portátil/de tamaño de bolsillo/tipo de tableta, que incluye un procesador 189, una memoria 190, una presentación 192, y un teclado 193 (que puede ser un teclado físico o virtual). La memoria 190 generalmente incluye tanto memoria volátil (por ejemplo, RAM) y memoria no volátil (por ejemplo, ROM, tarjetas PCMCIA, y así sucesivamente. Además, como se describe
más adelante, la memoria ilustrativa 190 incluye un dispositivo de memoria híbrida (que corresponde a uno o más chips) que contiene más de un tipo de memoria, tal como flash y DRAM o flash y SDRAM (DRAM sincrónica), en donde uno de los tipos comparte la interfase del otro. Un sistema operativo 193 puede estar residente en la memoria 190 y se ejecuta en el procesador 189, tal como un sistema operativo a base de Microsoft® Windows®, u otro sistema operativo.
Uno o más programas de aplicación 194 y datos 195 pueden estar en la memoria 190, por ejemplo, con los programa 194 que corren en el sistema operativo 193. Ejemplos de aplicaciones incluyen programas de correo electrónico, programas de programación, programas PIM (manejo de información personal), programas de procesamiento de palabra, programas de hoja de cálculo, programas de navegador de Internet, y así sucesivamente. El dispositivo de cómputo 188 también puede incluir otros componentes 196 tal como un administrador de notificación cargado en la memoria 190, que se ejecuta en el procesador 189. El administrador de notificación por ejemplo puede controlar solicitud de notificación, por ejemplo, desde los programas de aplicación 195. El dispositivo de cómputo 188 tiene un suministro de energía
197, por ejemplo implementado como una o más baterías o un sistema energizado por luz. El suministro de energía 197 además puede incluir una fuente de energía externa que domina o recarga la construcción en baterías, tal como un adaptador AC o una cuna de muelle con energía.
El dispositivo de cómputo ilustrativo 188 representado en la Figura 1 se muestra en tres tipos ilustrativos de dispositivos de salida externa, que incluye una presentación 192, otros mecanismos de salida 198 (por ejemplo, uno o más diodos de emisión de luz, o LEDs) y un generador de audio 199, por ejemplo, acoplado a bocinas integradas y/o a una cubierta de audio. Uno o más de estos dispositivos de salida pueden acoplarse directamente al suministro de energía 197 para que cuando se activan, permanezcan por una duración dictada por un mecanismo de notificación incluso aunque el procesador 189 y otros componentes pueden cerrarse para conservar energía. Por ejemplo, un LED puede permanecer (mientras está disponible alguna energía) hasta que el usuario toma acción. Otros pueden configurarse para apagar cuando el resto del sistema lo hace o en alguna duración finita después de activación.
DISPOSITIVO DE MEMORIA HÍBRIDA CON INTERFASE INDIVIDUAL Varios aspectos de la tecnología aquí descrita generalmente se dictan hacia expandir una memoria de un dispositivo de cómputo (tal como el dispositivo 188) con respecto a obtener cantidades relativamente grandes de memoria volátil y no volátil en el dispositivo de cómputo, sin requerir cambios a una arquitectura física existente de ese dispositivo de cómputo. En general, la descripción aquí proporciona ejemplos de incorporar memoria flash NAND en un dispositivo basado en SDRAM al agregar o sustituir un dispositivo de memoria híbrida (por ejemplo, que comprende uno o
más chips) que contiene SDRAM y la flash NAND, en donde el dispositivo de memoria híbrida tiene la misma interfase (que incluye pastillaje, protocolo de voltaje, y protocolos de acceso) como un componente SDRAM convencional. Sin embargo, como se entenderá, estos aspectos y conceptos aplican a cualquier tipo o tipos de memoria volátil y/o no volátil, por ejemplo, varios tipos de DRAM (por ejemplo, EDO) pueden utilizarse en lugar de SDRAM, DRAM o SDRAM pueden incorporarse inversamente en un dispositivo a base de flash, memoria flash basada en OR puede mezclarse con SDRAM y/o con flash a base de NAND, RAM estática (SDRAM) u otros tipos de RAM puede ser uno de dos tipos de memoria, memoria más volátil puede agregarse en lugar de un dispositivo de memoria volátil existente, más memoria volátil puede agregarse en lugar de un dispositivo de memoria no volátil existente, y así sucesivamente. Se debe notar que incorporar diferentes tipos de memoria en un dispositivo de memoria híbrida (con una interfase que ordinariamente corresponde a un tipo original de memoria para un diseño dado) típicamente agrega memoria total a un dispositivo, pero no necesariamente aumenta (y si se desea por el diseñador puede disminuir) la cantidad del tipo original de memoria y/o la cantidad total de memoria. Además, como se entenderá, los conceptos aquí descritos no se limitan a lo que se consideran dispositivos de cómputo convencionales (por ejemplo, escritorio, cuaderno, laptop, sistemas de computadora a base tableta, asistentes digitales personales,
computadoras personales con tamaño para bolsillo, o similares), pero en lugar esto pueden utilizarse en cualquier dispositivo que tiene una necesidad de almacenar datos en memoria volátil o no volátil, que incluye teléfonos móviles, cajas de tv por cable, discos duros híbridos, aparatos de televisión, controles remotos, dispositivos audiovisuales, aparatos eléctricos, aparatos domésticos y así sucesivamente. Cada uno de estos dispositivos puede agregar memoria no volátil a un diseño de memoria volátil, o viceversa, o aumentar memoria, sin rediseños de hardware costosos y riesgosos. De esa forma, por ejemplo, un dispositivo con memoria volátil tal como un teléfono móvil ahora puede tener grandes cantidades de almacenamiento no volátil incluidas en el tal como programas de almacenamiento, música, imágenes, y así sucesivamente, simplemente o reemplazar un chip de memoria (o múltiples chips de memoria), y actualizar algún firmware para trabajar con el almacenamiento no volátil, como se describió más adelante. Como tal, la presente invención no se limita a los ejemplos, estructuras o funcionalidad aquí descritas. En lugar de esto, cualquiera de los ejemplos, estructuras o funcionalidades aquí descritas son no limitantes, y la presente invención puede utilizar varias formas que proporcionan beneficios y ventajas en almacenamiento de cómputo y datos en general. Cambiando a la Figura 2 de los dibujos, se muestra un concepto de ejemplo general de un dispositivo de memoria híbrida 202 que incluye 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 cuál de las memoria 204 ó 206 accede, basándose en direcciones y comandos, por ejemplo, originados en firmware/software y dirigidos a través de una CPU. Como se representa en la Figura 2, el controlador 208 puede incluir o de otra forma asociarse con un grupo de memoria intermedia 210 que comprende una o más memorias intermedias, que en una implementación se utilizan para propósitos de coincidencia de velocidad. Por ejemplo, en la SDRAM presente que es significativamente más rápida que la flash, y de esa forma un chip de memoria híbrida que tiene una ¡nterfase que aparece para los componentes externos que es un dispositivo SDRAM necesita guardar en memoria intermedia datos en el grupo de memoria intermedia 210 (por ejemplo, SDRAM, DRAM o SDRAM) con el fin de cumplir con el protocolo de SDRAM con respecto a velocidad y requerimientos de salida, que incluyen requerimientos de modo de explosión. De esa forma, el grupo de memoria intermedia 210 típicamente comprende memoria tal como SDRAM o RAM estática (SDRAM) que es al menos tan rápida como un chip SDRAM dado y su protocolo requiere, de otra forma el dispositivo híbrido que hay momentos parece para los componentes externos ser memoria mala. Se debe notar que un dispositivo de memoria híbrida que agregó memoria rápida (por ejemplo, SDRAM) a una interfase más lenta (por ejemplo, flash) no necesariamente necesitará tal memoria intermedia.
La Figura 3A muestra un concepto ilustrativo de cómo un dispositivo de memoria híbrida 302A generalmente opera, en donde una memoria flash 306 se distribuye como algún número de bloques (por ejemplo, bloques F-1 a F-n) y se accede a través de una inferíase SDRAM. El dispositivo de memoria híbrida 302A también incluye un dispositivo SDRAM 304. Como se describe más adelante, un controlador en chip 308A (por ejemplo, que corresponde al controlador 208 de la Figura 2) determina que sección de SDRAM 304 o flash acceder con respecto a una dirección actual originada en la CPU 389. En general, el controlador 308A recibe comandos, datos y direcciones desde la CPU 389 que se ingresan de acuerdo con un protocolo SDRAM convencional. Se debe notar que la CPU no se requiere que conozca nada sobre los diferentes tipos de memoria en el chip híbrido, y opera como normal en su conductor común a base de SDRAM existente. En la Figura 3A, el controlador 308 incluye lógica que puede detectar direcciones enviadas a las líneas de dirección SDRAM de dispositivo híbrido que son parte de su interfase. Algunas de las direcciones en la escala de dirección dirigible corresponden a SDRAM, y para esas direcciones, el controlador 308A permite a las direcciones, comandos y datos controlarse por el dispositivo SDRAM 304 (por ejemplo, dirige los unos y ceros equivalentes o no deshabilita el dispositivo de ver los unos y ceros). Como un resultado para esas direcciones el dispositivo híbrido actúa como un dispositivo SDRAM convencional.
Ciertas direcciones en la escala dirigible, sin embargo, (típicamente que comprenden una escala contigua denominada como un bloque designado 320) se conocen para el controlador 308 para asociarse con la flash, y esencialmente actúan como una ventana en la memoria flash 306. Por ejemplo, el bloque designado puede corresponder al tamaño de bloque flash, por ejemplo, 128 KB en un tipo de dispositivo flash. Cuando las direcciones están dentro del bloque designado 320 se transfieren, el dispositivo SDRAM 304 se deshabilita (actúa real o efectivamente) por el controlador 308. El controlador 308 más bien envía comandos al dispositivo de memoria flash 306, o controla el flujo de datos de lectura y escritura al dispositivo de memoria flash 306. Dependiendo del diseño, el controlador 308 puede deshabilita de componente SDRAM 304 al cambiar una línea de entrada de dispositivo apropiada (por ejemplo, habilitar chip) del dispositivo 304 para deshabilitar, al no dirigir direcciones recibidas al dispositivo 304, y/o al dirigir las direcciones (por ejemplo, si se necesita renovar) pero no permitir escrituras de datos o regresar cualquiera de los datos para una lectura. Se debe notar que la cantidad de flash 306 no se limita al tamaño del bloque designado 320; en lugar de esto pueden haber múltiples bloques flash (u otras distribuciones de memoria flash), con el controlador 308 que accede a cada bloque o similares de acuerdo con una información de delineado adicional que identifica que parte (por ejemplo, bloque) de la flash total 306 se va a acceder. Esta información de delineado adicional puede escribirse a otras
ubicaciones de memoria conocidas para de controlador 308, por ejemplo, en el extremo alto de la memoria dirigible, (o posiblemente como un suplemento al bloque designado). El firmware 330, ya presente en esencialmente todos los dispositivos de cómputo, puede actualizarse para leer y escribir esta información de acuerdo con un protocolo adecuado a través de la CPU 389, (como se representa en la Figura 3A por las líneas punteadas del firmware 330 a través de la CPU 389 al controlador 308A; en esta forma, los comandos, datos e información de estado 332 puede comunicarse entre el firmware de dispositivo 330 (y/u otro código solicitante, denominado aquí como el firmware 330 para simplicidad) y el dispositivo de memoria híbrida 302A. La Figura 3B es una representación de un concepto similar al de la Figura 3A, excepto que en la Figura 3B el controlador alternativo 308B puede tener múltiples memorias intermedias 310-1 y 310-2 que corresponden a múltiples ventanas 320A y 320B, separadamente delineadas a múltiples bloques flash (por ejemplo, actualmente bloque flash A1 y bloque flash B0 en la Figura 3B). Como se puede apreciar, mientras sólo dos de tales accesos paralelos (y de esa forma más rápido) a los dispositivos de memoria flash se conocen en la Figura 3B, puede utilizarse cualquier número práctico. A manera de ejemplo de cómo el controlador delinea la ventana (Figura 3A) o ventanas (Figura 3B) a la sección correcta o secciones de flash, la Figura 4 muestra una escala de dirección linealmente
representada 440 que corresponde a la escala de un dispositivo SDRAM convencional, que en este ejemplo es 4 Mpalabras por 16 bits. Para propósitos de simplicidad, el delineado se describirá con respecto al bloque designado individual 320 de la Figura 3A, sin embargo puede entenderse fácilmente que el delineado separado puede realizarse esencialmente de la misma forma. En el ejemplo de la Figura 4, los últimos dos bloques que corresponden al espacio de dirección SDRAM se utilizan por el controlador 308 y firmware 330 como un canal de comando 444 y canal de datos 442 al dispositivo de memoria flash 306. El delineado y otra información 332 (Figura 3) en estos bloques 442 y 444 pueden leerse y escribirse por el controlador 308 a través de cualquier protocolo adecuado entendido por el controlador 308 y la fuente de de esa información adicional (por ejemplo, código de firmware 330). De esa forma, al acceder a la información adicional 332 (ó 333 en la Figura 3B) en el controlador 308, por ejemplo, al menos dos bloques de palabra de 1 kiloByte, comando y rutas de datos para comunicarse con el dispositivo flash 306 se establecen. Otra información también puede estar en estos espacios. Por ejemplo, el firmware de dispositivo 330 puede utilizar esta sección de memoria para emplear un protocolo de arranque por el cual el firmware 330 puede determinarse al dispositivo de memoria es verdaderamente un dispositivo híbrido, debido en general al dispositivo de memoria híbrida 302A de la Figura 3 de otra forma será indistinguible de un dispositivo SDRAM convencional. Otros datos posibles comunicados
a través de estos bloques, por ejemplo, pueden informar al controlador 308A en donde el bloque designado 320 (o bloques en la Figura 3B) se localiza dentro de la memoria dirigible; por ejemplo, de esta forma, los bloques designados pueden moverse, incluyendo dinámicamente si se desea. Cambiando a una explicación de la operación de un dispositivo de memoria híbrida ilustrativo, un protocolo de comando adecuado comprende un protocolo en serie utilizado para transferir bloque de dirección e información de comando (por ejemplo, 332 en la Figura 3A) para el dispositivo flash. Se debe notar que debido a que el controlador 308A es responsable de traducción del comando e información de dirección, el protocolo es configurable para acceder a diferentes tipos de' dispositivos flash; por ejemplo, un tipo de dispositivo NAND utiliza una interfase ÑOR SRAM, con lo cual la lógica de control accede a los bloques de datos, que entonces se ponen en serie para adecuarse al protocolo de entrega de datos SDRAM. Los datos de escritura para la memoria flash 306 de forma similar se convertirán por el controlador 308A como se requiera por el protocolo flash, por ejemplo, 2KB se escriben en un momento para uno de tal dispositivo flash. Como se apreciará fácilmente, debido a que SDRAM actualmente está en uno o más órdenes de magnitud más rápido que flash, el protocolo incluye una forma para el controlador 308A señala el firmware 330 cuando una solicitud de lectura o escritura flash está ocupada y cuando está lista la solicitud. Un registro de estado en la
ubicación 332 puede utilizarse. Por ejemplo, el firmware 330 envía un comando de lectura o escritura a través del bloque de comando 332; el estado, que puede ser un bit que es parte del comando, se establece por el controlador al recibir una solicitud flash a cero para indicar ocupado. Se debe notar que el controlador 308A no necesita cambiar el estado a ocupado si está en una solicitud de lectura el controlador 308A sabe que el bloque designado ya contiene los datos correctos para el delineado actual. En una situación típica, el controlador 308A establece el estado a ocupado y para una lectura, y comienza a llenar la memoria intermedia 310 con los datos solicitados. Cuando la memoria intermedia contiene los datos correctos, (que pueden ser más solicitados en anticipación de una solicitud de lectura subsecuente), el controlador 308A alterna el estado a listo. El firmware 330, que consulta el estado desde que envía la solicitud, entonces sabe que pueden utilizarse los datos solicitados, que el controlador 308A entonces saca de la memoria intermedia 310. Por ejemplo, de acuerdo con el protocolo SDRAM, el controlador sacará un grupo individual de datos (por ejemplo, byte) para la dirección solicitada si se solicita una salida individual, o una salida de explosión cronometrada de múltiples grupos de datos que inician con esa dirección, con el número de salida de grupos que corresponde al modo de explosión actual. Se debe notar que el modo de explosión actual puede establecerse a través de una configuración por cable, que incluye una configuración que indica que el modo de explosión
se controla suavemente; en cualquier caso el modo se conoce para el controlador 308A través de las líneas de configuración equivalentes a SDRAM y/o un comando (para explosión controlada suave). Las escrituras se controlan similarmente, con los datos en el bloque designado copiados por el controlador 308A en la memoria intermedia 310, mientras el controlador proporciona una señal ocupada que se consulta por el firmware hasta que la solicitud de escritura realmente se completa por escritura al flash más lento. Como con una solicitud de lectura, para una solicitud de escritura el dispositivo de memoria híbrida 302A parece para la CPU 389 que opera en las velocidades de SDRAM correctas, y la CPU está inconsciente de cualquier consulta de estado que va entre el firmware 330 y el controlador 308A a través del protocolo, la memoria sincrónica de esa forma opera apropiadamente desde la perspectiva de la CPU, pero realmente opera asincrónicamente desde la perspectiva de la entidad solicitante. De esa forma, al agregar un controlador de memoria a un dispositivo de memoria híbrida que comprende SDRAM y flash con una interfase SDRAM estándar, la memoria flash se reviste en el espacio de dirección SDRAM. Un protocolo de comando (por ejemplo, en serie) se utiliza para manejar el delineado de los bloques/páginas flash al espacio de dirección SDRAM. Esto permite que un paquete de chips múltiples compatible de un broche individual reemplace el dispositivo SDRAM existente en cualquier dispositivo de cómputo que desea proporcionar almacenamiento flash, incluso hacerlo sólo con
firmware cambia al dispositivo. Por ejemplo, la memoria intermedia de una unidad de disco convencional puede reemplazase con el almacenamiento flash que puede utilizarse con nuevo firmware para mejorar unidades existentes a unidades híbridas. Ejemplos adicionales incluyen agregar almacenamiento no volátil a un diseño de caja de tv por cable, o un diseño de teléfono móvil que se diseñó con almacenamiento masivo sin construcción al momento, pero ahora es deseable, por ejemplo, debido a alguna nueva aplicación o modelo de negocio. A manera de ejemplo de una arquitectura específica, las
Figuras 5 y 6 demuestran el uso de SDRAM real y dispositivos flash NAND, con la interfase y componentes internos configurados para un protocolo de voltaje SDRAM ilustrativo y protocolo de acceso SDRAM, con lo cual sólo son necesarios cambios de software (por ejemplo, en firmware de dispositivo) para ahora hacer uso de la memoria no volátil en el paquete. Sin embargo, se entiende que esencialmente cualquier dispositivo con características de dirección definidas pueden utilizarse. Se debe notar que la arquitectura en las Figuras 5 y 6 muestran el uso de rutas de datos de 16 bits, que es una aplicación común, aunque como puede apreciarse fácilmente, otros anchos de ruta de datos trabajan de la misma forma. En este ejemplo, se describe un paquete de chips múltiples que puede reemplazarse físicamente por el chip SDRAM en un dispositivo de cómputo, que incluso incorpora tanto memoria SDRAM volátil como memoria flash NAND no volátil.
El dispositivo SDRAM 504 representado en la Figura 5 comprende un dispositivo de modo de explosión (por ejemplo, un dispositivo MT48LC4M16A2 Micron®) que soporta un byte, dos bytes, ochos bytes, o transferencias de página, y por ejemplo, pueden utilizarse en el dispositivo de memoria híbrida 602 (Figura 6) que incluye dos Gigabytes de flash NAND 606. Como se representó en la arquitectura ilustrativa para el dispositivo SDRAM de la Figura 5, como con un dispositivo SDRAM convencional, el dispositivo de memoria híbrida acepta RAS/CAS (estroboscopio de acceso de fila bien conocido y estroboscopio de acceso de columna) señala las líneas de dirección (por ejemplo, A0-A11, BA0-BA1), y para otras lecturas o escrituras de byte individuales, escribe o lee datos secuencialmente desde direcciones de inicio RAS/CAS. Se debe notar que el dispositivo de cómputo que utiliza este tipo de memoria guarda en memoria intermedia datos accedidos en serie, que típicamente se hace por la memoria cache a bordo en muchos dispositivos de cómputo. Debido a que los datos se proporcionan en serie basándose en una dirección de inicio, el controlador de memoria (latencia relativamente baja) 308 entre el huésped (por ejemplo, CPU) y SDRAM 504 es capaz de detectar las direcciones que se envían al chip. Al detectar escalas de dirección particulares, el CE# (habilitado) para la interfase SDRAM puede utilizarse para colocar el dispositivo 504 en un ciclo de renovación, con datos proporcionados por otra fuente.
En la Figura 5, la lógica de control del controlador 308 detecta direcciones enviadas al SDRAM Como se describió anteriormente, cuando las direcciones dentro del bloque designado se transfieren, el controlador sabe que las solicitudes para la flash; se debe notar en esta arquitectura ilustrativa, que el dispositivo SDRAM se deshabilita al prevenir que CE# pase al dispositivo. La lógica de control del controlador entonces puede enviar comandos a dispositivo flash 606, o a través de control de lógica de transferencia de datos del flujo de datos de lectura y escritura al dispositivo flash. Se debe notar que la corriente de comando al dispositivo SDRAM no se interrumpe, y que el inicio del dispositivo de paquete de chips múltiples requiere solamente que la lógica de control detecte el modo de explosión operativo para SDRAM para entender las explosiones de datos para utilizarse cuando se transfieren datos de flash al conductor común de datos de memoria. De esa forma, en esta arquitectura en la cual las direcciones se envían a SDRAM a través de transferencias de RAS/CAS en un conductor común de dirección separado, al detectar ciclos de RAS/CAS en la lógica de control, los comandos y datos son capaces de transferirse hacia y desde flash 606 como se apropiado. Un protocolo en serie de escrituras al bloque de comando para la flash 606 permite el protocolo para que se pueda soportar el dispositivo flash. El dispositivo flash representado en la Figura 6 (por ejemplo, un dispositivo de Micron® MP29F2G16AABWP) tiene un conductor
común multiplexado, con lo cual y/o de datos, direcciones, y comandos comparten los mismos brotes. Se debe notar que broches y/o l/O [15:8] se utilizan sólo para datos en la configuración x16, con direcciones y comandos proporcionados en l/O [7:0]. La secuencia de comando normalmente incluye un ciclo de cerrojo de comando, un ciclo de cerrojo de dirección, y un ciclo de datos, ya sea lectura o escritura. Las señales de control CE#, WE#, RE#, CLE, ALE y dispositivo flash de control WP# leen y escriben operaciones. Se debe notar que en una flash es diferente, por ejemplo, un dispositivo de micrón® GbMT29F8G08FAB, CE# y CE2# cada uno controla distribuciones de 4 GB independientes. CE2# funciona igual que CE# para su propio orden, y operaciones descritas para CE# también aplican a CE2#. CE# se utiliza para habilitar el dispositivo. Cuando CE# es bajo y el dispositivo no está en el estado ocupado, la memoria flash aceptará comando, datos, e información de dirección. Cuando el dispositivo no realiza una operación, el broche CE# típicamente se conduce alto y el dispositivo ingresa al modo de pausa. La memoria ingresará al modo de pausa si CE# va alto mientras los datos se transfieren y el dispositivo no está ocupado. Esto ayuda a reducir el consumo de energía. La operación de CE# "no importa" permite a la flash NAND recibir en el mismo conductor común de memoria asincrónico que otra flash o dispositivos SDRAM. Otros dispositivos en el conductor común de memoria entonces pueden accederse mientras la flash
NAND está ocupada con operaciones internas. Esta capacidad es para diseños que requieren múltiples dispositivos NAND en el mismo conductor común, por ejemplo, un dispositivo puede programarse mientras otro se lee. Una señal ALTA CLE indica que un ciclo común toma lugar. Una señal ALTA ALE significa que un ciclo de entrada de dirección ocurre. Los comandos se escriben al registro de comando en el borde de elevación de WE# cuando CE# y ALE son BAJO, y CLE salto y el dispositivo no está ocupado. Las excepciones para esto son el estado de lectura y comandos de restablecimiento. Con este componente particular, los comandos se transfieren al registro de comando en el borde de elevación WE#; los comandos se ingresan en líneas y/o [7:0] solamente. Para dispositivos con una interfase x16, las líneas l/O [15:8] necesita describirse con ceros cuando admiten un comando. Las direcciones se escriben al registro de dirección en el borde de elevación de WE# cuando CE# y CLE son bajos, y ALE es alto y el dispositivo no está ocupado. Las direcciones se ingresan en l/O [7:0] solamente, para dispositivos con una interfase x16, l/O [15:8] necesita escribirse con ceros cuando admite una dirección. Generalmente todos los cinco ciclos de dirección se escriben al dispositivo. Una excepción a esto es el comando de borradura de bloque, que requiere solamente tres ciclos de dirección. El dispositivo flash aquí ejem lificado es un dispositivo multiplexado, con lo cual la dirección, comandos y datos fluyen a través de una interfase de 16 bits simples en una forma en serie. La
Figura 7 ejemplifica la naturaleza en serie del comando de dirección y protocolo de transferencia de datos que registran el tiempo al dispositivo flash ejemplificado. Se debe notar que la dirección, comandos y datos se envían desde la interfase SDRAM (que no se multiplexa) al escribir secuencialmente a los bloques de comando y datos. Como se describió anteriormente, al detectar escrituras al bloque de comando en el espacio de dirección de SDRAM, los datos requeridos pueden transfiriese al dispositivo flash por el controlador 508. La transferencia de dirección mostrada anteriormente puede expandirse para mostrar la transferencia de información de dirección al dispositivo flash. También descrita anteriormente, la información de dirección para la memoria flash se transfiere al realizar múltiples escrituras a la dirección de bloque de comando en SDRAM. Los datos SDRAM en esta área no están disponibles, ya que el dispositivo debe de seleccionarse para estas escrituras. En esta forma en serie los datos de dirección y la información de comando pueden escribirse y leerse desde el dispositivo flash. La lógica de control además ¡mplementa protocolos de control como se describió anteriormente, por ejemplo, para permitir que el dispositivo flash se aisle de las consideraciones de velocidad de dispositivo SDRAM. Por ejemplo, al guardar en memoria intermedia el estado del dispositivo flash en la lógica de control, respuestas de comando adicionales que indican estado ocupado y de ejecución pueden agregarse al protocolo en serie. Los datos y estados regresados para el dispositivo flash se
guardan en memoria intermedia en un bloque pequeño de SDRAM en la lógica de transferencia de datos, para que las velocidades de lectura y escritura para flash coincidan con SDRAM. Un ejemplo típico de transferencia en serie al dispositivo flash se representa en la Figura 8, lo que representa lecturas y escrituras ilustrativas por el firmware 330 al espacio de dirección SDRAM 332 (Figura 3) que se conserva para controlar el flash 306. En general, el firmware envía un comando de flash en el paso 802 al escribir un comando INACTIVO al espacio de dirección 332 que detecta el controlador. En el paso 804, el firmware envía a una solicitud de dirección de bloque de flash, que comprende cinco escrituras de dirección que indican que bloque utilizar y que dirección, junto con un comando de escritura al espacio de dirección de comando. El controlador entonces tiene la información que necesita realizar la escritura. En cada uno de los pasos 806 y 808, el firmware 330 consulta el estado al emitir un comando de escritura en una lectura de explosión, que gira a través del paso 810 hasta que se detecte el estado listo, y se envía la explosión de lectura flash (paso 812). En una implementación alternativa, un protocolo a base de registro proporciona acceso a flash al cargar una serie de registros, que incluyen escribir un registro con un grupo de palabra ocupada para iniciar la ejecución del comando. Esto permite una escritura de página individual iniciar la escritura o búsqueda de bloque o bloques de flash. En esta alternativa, la palabra ocupado se cambia por el
controlador cuando el comando se completa. Los comandos soportados incluyen dirección/bloque de búsqueda (o escala dirección de búsqueda), dirección/bloque de escritura (o escala de dirección de escritura), y eliminar dirección/bloque (o eliminar escala de dirección). Además, debido a que el controlador incluye lógica, el controlador puede realizar manejo flash. Por ejemplo, el flash se desgasta después de algún número de lecturas y escrituras, y de esa forma el controlador puede volver a delinear el acceso para balancear el uso de los varios bloques disponibles de flash, denominados como nivel de desgaste. La lógica de controlador también puede realizar detección y corrección de error, y realizar mal manejo de bloque al remover lógicamente bloques malos conocidos de ser disponibles. La Figura 9 es una representación ilustrativa de un módulo de memoria en línea doble (DIMM) 902, que ejemplifica cómo puede agregarse flash a memoria de sistema de computadora personal convencional. Los chips de flash físicos pueden estar en el mismo lado que los chips SDRAM, en el lado opuesto, o ambos. El controlador puede estar en el DIMM por sí mismo, o alternativamente puede ser externo este, con la capacidad de deshabilitar SDRAM y sustituir datos flash como se desee. Cuando la computadora personal de enciende, el BIOS (firmware) prueba la presencia de la memoria DIMM híbrida y si está presente, carga al menos alguna memoria SDRAM (su código) de
flash. La presencia de la memoria flash no volátil permite inicio u operaciones de resumen de los datos almacenados en flash. Por ejemplo, los datos se acceden desde la memoria cache de CPU que se delinea a bloques de memoria y resuelve desde cualquier SDRAM o flash su flash suficiente está presente, el SDRAM completo puede conservarse para propósitos de hibernación, o el sistema operativo completo cargarse, sin necesitar acceder a dispositivos periféricos tal como una unidad de disco duro. Mientras la invención es susceptible a varias modificaciones y construcciones alternativas, ciertas modalidades ilustradas de la misma se muestran en los dibujos y se describieron anteriormente en detalle. Se debe entender, sin embargo, que no hay intención de limitar la invención a las formas específicas descritas, si no por el contrario, la intención es cubrir todas tales modificaciones, construcciones alternativas, y equivalentes que caen dentro del espíritu y alcance de la invención.
Claims (1)
- REIVINDICACIONES 1. - En un dispositivo de memoria, un método que comprende: recibir, en un controlador, comandos, direcciones y datos en el dispositivo de memoria a través de una interfase definida para un primer tipo de memoria asociada con el dispositivo de memoria; determinar en el controlador si la información recibida en el dispositivo de memoria corresponde a un segundo tipo de memoria asociado con el dispositivo de memoria, y si es así, sacar señales al segundo tipo de memoria para comunicarse al menos con un comando al segundo tipo de memoria y/o realizar al menos una operación de entrada/salida (l/O) de datos en el segundo tipo de memoria. 2. - El método de acuerdo con la reivindicación 1, que además comprende, cuando la información recibida corresponde al segundo tipo de memoria, deshabilitar el primer tipo de memoria. 3. - El método de acuerdo con la reivindicación 1, que además comprende, cuando la información recibida corresponde al segundo tipo de memoria, sacar una indicación ocupada, realizando una operación de l/O de datos en el segundo tipo de memoria, y sacar una indicación lista cuando la operación l/O de datos está completa. 4. - El método de acuerdo con la reivindicación 1, que además comprende, cuando la información recibida corresponde al segundo tipo de memoria, acceder información de comando y/o datos que dirigen la información a otro grupo de una o más ubicaciones del dispositivo de memoria. 5. - El método de acuerdo con la reivindicación 4, en donde la información recibida corresponde a información de dirección de datos, y que además comprende leer información de dirección de datos para delinear una dirección recibida a una sección entre una pluralidad de secciones posibles del segundo tipo de memoria. 6. - En un dispositivo de memoria, un sistema que comprende: un primer tipo de memoria; una interfase que corresponde al primer tipo de memoria para que el dispositivo de memoria opere con el protocolo de acceso del primer tipo de memoria; un segundo tipo de memoria; y un controlador que se acopla a la interfase, al primer tipo de memoria y al segundo tipo de memoria, en el cual se basa en información recibida en la interfase, el controlador determina si otra información recibida a través de la interfase aplica al primer tipo de memoria o segundo tipo de memoria. 7. - El sistema de acuerdo con la reivindicación 6, en donde el primer tipo de memoria comprende memoria volátil, el segundo tipo de memoria comprende memoria no volátil, y en donde al menos parte de la información recibida en la interfase por la cual el controlador determina si la información relacionada recibida a través de la interfase aplica al primer tipo de memoria o al segundo tipo de memoria se recibe en una dirección de memoria que corresponde al primer tipo de memoria. 8. - El sistema de acuerdo con la reivindicación 7, en donde la memoria volátil comprende memoria de tipo SDRAM o tipo DRAM, y en donde la dirección de memoria y la información relacionada recibida a través de la interfase comprende estroboscopio de acceso de fila, estroboscopio de acceso de columna e información de control. 9. - El sistema de acuerdo con la reivindicación 7, en donde la memoria no volátil comprende memoria flash, y que además comprende una memoria intermedia asociada con el controlador para guardar en memoria intermedia operaciones de l/O de datos realizadas con la memoria flash. 10. - El sistema de acuerdo con la reivindicación 9, que además comprende un indicador de estado, en donde el controlador señala a través del indicador de estado si una operación de l/O de datos está ocupada o completa. 11. - El sistema de acuerdo con la reivindicación 6, en donde el dispositivo de memoria se incorpora en un módulo de memoria en línea doble. 12. - El sistema de acuerdo con la reivindicación 6, en donde controlador además incluye medios para manejo de memoria. 13. - El sistema de acuerdo con la reivindicación 6, en donde el controlador accede información de comando y/o información de dirección de datos en un grupo de una o más ubicaciones que corresponden al primer tipo de memoria. 14.- En un dispositivo de cómputo, un sistema que comprende: un dispositivo de memoria híbrida que incluye una interfase que corresponde a primer tipo de memoria, un segundo tipo de memoria y un controlador; y un componente que inicia comandos al controlador a través de la interfase, que incluye al escribir datos relacionados con comando a una o más direcciones del primer tipo de memoria, que incluye al menos un comando dirigido hacia una operación de entrada/salida de datos en el segundo tipo de memoria. 15. - El sistema de acuerdo con la reivindicación 14, en donde el controlador señala al componente con información de estado de una operación de entrada/salida de datos del segundo tipo de memoria al escribir datos relacionados con estado a una o más direcciones del primer tipo de memoria. 16. - El sistema de acuerdo con la reivindicación 14, en donde el componente comprende código que se ejecuta en firmware del dispositivo de cómputo. 17. - El sistema de acuerdo con la reivindicación 14, en donde el primer tipo de memoria corresponde a memoria volátil, y el segundo tipo de memoria comprende memoria no volátil, con datos dirigidos a cierta ubicación en el primer tipo de memoria que se controla por el controlador para acceder al segundo tipo de memoria. 18. - El sistema acuerdo con la reivindicación 14, que además comprende una memoria intermedia asociada con el controlador para guardar en memoria intermedia operaciones l/O de datos realizadas con el segundo tipo de memoria.
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 |
---|---|
MX2008014859A true MX2008014859A (es) | 2008-12-01 |
Family
ID=38823267
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
MX2008014859A MX2008014859A (es) | 2006-06-07 | 2007-06-01 | Dispositivo de memoria hibrida con interfase individual. |
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) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8812744B1 (en) | 2013-03-14 | 2014-08-19 | Microsoft Corporation | Assigning priorities to data for hybrid drives |
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 |
Families Citing this family (190)
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 |
US8438328B2 (en) | 2008-02-21 | 2013-05-07 | Google Inc. | Emulation of abstracted DIMMs using abstracted DRAMs |
US8169233B2 (en) | 2009-06-09 | 2012-05-01 | Google Inc. | Programming of DIMM termination resistance values |
US8796830B1 (en) | 2006-09-01 | 2014-08-05 | Google Inc. | Stackable low-profile lead frame package |
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 |
US20080028136A1 (en) | 2006-07-31 | 2008-01-31 | Schakel Keith R | Method and apparatus for refresh management of memory modules |
US8089795B2 (en) | 2006-02-09 | 2012-01-03 | Google Inc. | Memory module with memory stack and interface with enhanced capabilities |
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 |
US8077535B2 (en) | 2006-07-31 | 2011-12-13 | Google Inc. | Memory refresh apparatus and method |
US9171585B2 (en) | 2005-06-24 | 2015-10-27 | Google Inc. | Configurable memory circuit system and method |
US8244971B2 (en) | 2006-07-31 | 2012-08-14 | Google Inc. | Memory circuit system and method |
US8081474B1 (en) | 2007-12-18 | 2011-12-20 | Google Inc. | Embossed heat spreader |
US8055833B2 (en) | 2006-10-05 | 2011-11-08 | Google Inc. | System and method for increasing capacity, performance, and flexibility of flash storage |
US8111566B1 (en) | 2007-11-16 | 2012-02-07 | Google, Inc. | Optimal channel design for memory devices for providing a high-speed memory interface |
US8397013B1 (en) | 2006-10-05 | 2013-03-12 | Google Inc. | Hybrid memory module |
US8041881B2 (en) | 2006-07-31 | 2011-10-18 | Google Inc. | Memory device with emulated characteristics |
US8327104B2 (en) | 2006-07-31 | 2012-12-04 | Google Inc. | Adjusting the timing of signals associated with a memory system |
US8090897B2 (en) | 2006-07-31 | 2012-01-03 | Google Inc. | System and method for simulating an aspect of a memory circuit |
US9507739B2 (en) | 2005-06-24 | 2016-11-29 | Google Inc. | Configurable memory circuit system and method |
US10013371B2 (en) | 2005-06-24 | 2018-07-03 | Google Llc | Configurable memory circuit system and method |
US8359187B2 (en) | 2005-06-24 | 2013-01-22 | Google Inc. | Simulating a different number of memory circuit devices |
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 |
US8060774B2 (en) | 2005-06-24 | 2011-11-15 | Google Inc. | Memory systems and memory modules |
US8386722B1 (en) | 2008-06-23 | 2013-02-26 | Google Inc. | Stacked DIMM memory interface |
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 |
US9542352B2 (en) | 2006-02-09 | 2017-01-10 | Google Inc. | System and method for reducing command scheduling constraints of memory circuits |
DE112006002300B4 (de) | 2005-09-02 | 2013-12-19 | Google, Inc. | Vorrichtung zum Stapeln von 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 |
US8135900B2 (en) * | 2007-03-28 | 2012-03-13 | Kabushiki Kaisha Toshiba | Integrated memory management and memory management method |
JP5032172B2 (ja) * | 2007-03-28 | 2012-09-26 | 株式会社東芝 | 統合メモリ管理装置及び方法並びにデータ処理システム |
US8427891B2 (en) * | 2007-04-17 | 2013-04-23 | Rambus Inc. | Hybrid volatile and non-volatile memory device with a shared interface circuit |
US8874831B2 (en) | 2007-06-01 | 2014-10-28 | Netlist, Inc. | Flash-DRAM hybrid memory module |
US8301833B1 (en) | 2007-06-01 | 2012-10-30 | Netlist, Inc. | Non-volatile 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 |
DE102007038543B4 (de) * | 2007-08-16 | 2022-09-01 | 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 |
US8352671B2 (en) * | 2008-02-05 | 2013-01-08 | Spansion Llc | Partial allocate paging mechanism using a controller and a buffer |
US8332572B2 (en) * | 2008-02-05 | 2012-12-11 | Spansion Llc | Wear leveling mechanism using a DRAM buffer |
US8209463B2 (en) * | 2008-02-05 | 2012-06-26 | Spansion Llc | Expansion slots for flash memory based random access memory subsystem |
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 |
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 |
KR100987332B1 (ko) | 2008-11-07 | 2010-10-18 | 서울대학교산학협력단 | 메모리 구조에 따른 메모리 관리 장치 |
CN101510174B (zh) * | 2008-11-07 | 2012-05-02 | 慧帝科技(深圳)有限公司 | 一种快闪记忆体更新资料的管理方法及相关的记忆卡 |
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 | 삼성전자주식회사 | 컴퓨팅 시스템, 그것의 부팅 방법, 및 코드 데이터 피닝 방법 |
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 |
KR101840238B1 (ko) | 2010-03-08 | 2018-03-20 | 휴렛 팩커드 엔터프라이즈 디벨롭먼트 엘피 | 데이터 저장 장치 및 방법 |
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 |
WO2012116369A2 (en) * | 2011-02-25 | 2012-08-30 | Fusion-Io, Inc. | Apparatus, system, and method for managing contents of a cache |
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 |
US9176671B1 (en) | 2011-04-06 | 2015-11-03 | P4tents1, LLC | Fetching data between thread execution in 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 |
US9170744B1 (en) | 2011-04-06 | 2015-10-27 | P4tents1, LLC | Computer program product for controlling a flash/DRAM/embedded DRAM-equipped system |
US8930647B1 (en) | 2011-04-06 | 2015-01-06 | P4tents1, LLC | Multiple class memory systems |
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 |
US9195530B1 (en) | 2011-09-06 | 2015-11-24 | Western Digital Technologies, Inc. | Systems and methods for improved data management 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 |
US8707104B1 (en) | 2011-09-06 | 2014-04-22 | Western Digital Technologies, Inc. | Systems and methods for error injection in data storage systems |
US9361986B2 (en) | 2011-09-19 | 2016-06-07 | 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 |
US20140165196A1 (en) | 2012-05-22 | 2014-06-12 | Xockets IP, LLC | Efficient packet handling, redirection, and inspection using offload processors |
US9258276B2 (en) | 2012-05-22 | 2016-02-09 | Xockets, Inc. | Efficient packet handling, redirection, and inspection using offload processors |
US9183910B2 (en) | 2012-05-31 | 2015-11-10 | Samsung Electronics Co., Ltd. | Semiconductor memory devices for alternately selecting bit lines |
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 |
KR101630583B1 (ko) | 2012-10-30 | 2016-06-14 | 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. | 스마트 메모리 버퍼 |
CA2891355C (en) * | 2012-11-20 | 2022-04-05 | Charles I. Peddle | Solid state drive architectures |
US9147461B1 (en) | 2012-11-28 | 2015-09-29 | Samsung Electronics Co., Ltd. | Semiconductor memory device performing a refresh operation, 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 |
US9250954B2 (en) | 2013-01-17 | 2016-02-02 | Xockets, Inc. | 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 | 鸿富锦精密电子(天津)有限公司 | 存储设备及支持所述存储设备的主板 |
KR101752583B1 (ko) | 2013-03-14 | 2017-07-11 | 마이크론 테크놀로지, 인크. | 트레이닝, 데이터 조직, 및/또는 섀도잉을 포함하는 메모리 시스템들 및 방법들 |
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 |
JP5996781B2 (ja) * | 2013-03-27 | 2016-09-21 | 株式会社日立製作所 | Sdramインターフェイスを有するdram、フラッシュメモリ混載メモリモジュール |
US9552176B2 (en) * | 2013-04-12 | 2017-01-24 | Microsoft Technology Licensing, Llc | Block storage using a hybrid memory device |
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 |
US9858181B2 (en) * | 2013-06-20 | 2018-01-02 | Hitachi, Ltd. | Memory module having different types of memory mounted together thereon, and information processing device having memory module mounted therein |
US9129674B2 (en) * | 2013-06-27 | 2015-09-08 | Intel Corporation | Hybrid memory device |
US20160139807A1 (en) * | 2013-07-09 | 2016-05-19 | 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 | ルネサスエレクトロニクス株式会社 | データ処理装置、マイクロコントローラ、及び半導体装置 |
EP3066570A4 (en) | 2013-11-07 | 2017-08-02 | Netlist, Inc. | Hybrid memory module and system and method of operating the same |
US11182284B2 (en) | 2013-11-07 | 2021-11-23 | Netlist, Inc. | Memory module having volatile and non-volatile memory subsystems and method of operation |
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 |
US10339081B2 (en) | 2015-05-09 | 2019-07-02 | 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 |
US10534619B2 (en) | 2016-02-26 | 2020-01-14 | Smart Modular Technologies, Inc. | Memory management system with multiple boot devices and method of operation thereof |
US10163508B2 (en) * | 2016-02-26 | 2018-12-25 | Intel Corporation | Supporting multiple memory types in a memory slot |
US10621119B2 (en) | 2016-03-03 | 2020-04-14 | Samsung Electronics Co., Ltd. | Asynchronous communication protocol compatible with synchronous DDR protocol |
US10592114B2 (en) | 2016-03-03 | 2020-03-17 | Samsung Electronics Co., Ltd. | Coordinated in-module RAS features for synchronous DDR compatible memory |
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 |
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 |
US10186309B2 (en) | 2016-06-29 | 2019-01-22 | Samsung Electronics Co., Ltd. | Methods of operating semiconductor memory devices and 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 | 慧荣科技股份有限公司 | 数据储存装置以及其操作方法 |
KR20180078512A (ko) | 2016-12-30 | 2018-07-10 | 삼성전자주식회사 | 반도체 장치 |
JP6391719B2 (ja) * | 2017-01-10 | 2018-09-19 | マイクロン テクノロジー, インク. | トレーニング、データ再構築および/またはシャドウィングを含むメモリシステムおよび方法 |
TWI705374B (zh) | 2017-01-23 | 2020-09-21 | 威鋒電子股份有限公司 | 電子裝置及其操作方法 |
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 | 주식회사 멤레이 | 메모리 제어 장치 및 이를 포함하는 컴퓨팅 디바이스 |
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 |
US11199991B2 (en) | 2019-01-03 | 2021-12-14 | Silicon Motion, Inc. | Method and apparatus for controlling different types of storage units |
CN111399750B (zh) * | 2019-01-03 | 2023-05-26 | 慧荣科技股份有限公司 | 闪存数据写入方法及计算机可读取存储介质 |
KR20210017109A (ko) | 2019-08-07 | 2021-02-17 | 삼성전자주식회사 | 스토리지 장치 |
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 |
CN114895847A (zh) * | 2020-10-12 | 2022-08-12 | 长江存储科技有限责任公司 | 非易失性存储器、存储装置及非易失性存储器的操作方法 |
KR20220077400A (ko) | 2020-12-02 | 2022-06-09 | 삼성전자주식회사 | 메모리 장치, 메모리 시스템 및 이의 동작 방법 |
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 메모리 어레이 |
CN116955241B (zh) * | 2023-09-21 | 2024-01-05 | 杭州智灵瞳人工智能有限公司 | 兼容多类型存储介质的存储芯片 |
Family Cites Families (34)
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 | 半導体記憶装置 |
US5696917A (en) | 1994-06-03 | 1997-12-09 | Intel Corporation | Method and apparatus for performing burst read operations in an asynchronous nonvolatile memory |
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 |
US5634112A (en) * | 1994-10-14 | 1997-05-27 | Compaq Computer Corporation | Memory controller having precharge prediction based on processor and PCI bus cycles |
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 |
JP4059002B2 (ja) * | 2001-06-13 | 2008-03-12 | 株式会社日立製作所 | メモリ装置 |
TWI240864B (en) * | 2001-06-13 | 2005-10-01 | Hitachi Ltd | Memory device |
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 |
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 JP JP2009514323A patent/JP2009540431A/ja active Pending
- 2007-06-01 MX MX2008014859A patent/MX2008014859A/es active IP Right Grant
- 2007-06-01 EP EP07795704.1A patent/EP2025001B1/en active Active
- 2007-06-01 KR KR1020087029847A patent/KR101159400B1/ko active IP Right Grant
- 2007-06-01 ES ES07795704T patent/ES2718463T3/es active Active
- 2007-06-01 WO PCT/US2007/013127 patent/WO2007145883A1/en active Application Filing
- 2007-06-01 CN CN2007800212183A patent/CN101473438B/zh active Active
- 2007-06-01 RU RU2008148129/08A patent/RU2442211C2/ru active
- 2007-06-01 BR BRPI0711731-0A patent/BRPI0711731A2/pt not_active Application Discontinuation
-
2010
- 2010-04-30 US US12/771,670 patent/US8423700B2/en active Active
-
2011
- 2011-05-18 JP JP2011111408A patent/JP5613103B2/ja active Active
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8812744B1 (en) | 2013-03-14 | 2014-08-19 | Microsoft Corporation | Assigning priorities to data for hybrid drives |
US8990441B2 (en) | 2013-03-14 | 2015-03-24 | Microsoft Technology Licensing, Llc | Assigning priorities to data for hybrid drives |
US9323460B2 (en) | 2013-03-14 | 2016-04-26 | Microsoft Technology Licensing, Llc | Assigning priorities to data for hybrid drives |
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 |
Also Published As
Publication number | Publication date |
---|---|
TWI420302B (zh) | 2013-12-21 |
US8423700B2 (en) | 2013-04-16 |
US20100217924A1 (en) | 2010-08-26 |
JP5613103B2 (ja) | 2014-10-22 |
KR20090026276A (ko) | 2009-03-12 |
EP2025001B1 (en) | 2019-01-23 |
CN101473438B (zh) | 2012-06-13 |
JP2011181098A (ja) | 2011-09-15 |
EP2025001A1 (en) | 2009-02-18 |
BRPI0711731A2 (pt) | 2011-11-29 |
EP2025001A4 (en) | 2010-07-28 |
TW200745848A (en) | 2007-12-16 |
US20070288683A1 (en) | 2007-12-13 |
US7716411B2 (en) | 2010-05-11 |
KR101159400B1 (ko) | 2012-06-28 |
CN101473438A (zh) | 2009-07-01 |
RU2442211C2 (ru) | 2012-02-10 |
ES2718463T3 (es) | 2019-07-02 |
JP2009540431A (ja) | 2009-11-19 |
RU2008148129A (ru) | 2010-06-10 |
WO2007145883A1 (en) | 2007-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2025001B1 (en) | Hybrid memory device with single interface | |
KR100281432B1 (ko) | 플래쉬 메모리에 기초한 주메모리 | |
TWI614752B (zh) | 經由記憶體通道關閉之節電技術 | |
US7657696B2 (en) | Method to detect NAND-flash parameters by hardware automatically | |
US6799241B2 (en) | Method for dynamically adjusting a memory page closing policy | |
US9772803B2 (en) | Semiconductor memory device and memory system | |
US10943183B2 (en) | Electronics device performing software training on memory channel and memory channel training method thereof | |
US20140006696A1 (en) | Apparatus and method for phase change memory drift management | |
US20080256352A1 (en) | Methods and systems of booting of an intelligent non-volatile memory microcontroller from various sources | |
KR20080084082A (ko) | 메모리 카드 및 그것을 포함하는 메모리 시스템 그리고그것의 동작 방법 | |
JP2021034052A (ja) | 異種メモリを有するメモリシステム、これを含むコンピュータシステム及びそのデータ管理方法 | |
CN110597742A (zh) | 用于具有持久系统存储器的计算机系统的改进存储模型 | |
KR20200114212A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
KR20200076244A (ko) | 데이터 스토리지 장치를 포함하는 시스템 및 데이터 스토리지 장치의 디스카드 동작 제어 방법 | |
US8745363B2 (en) | Bootable volatile memory device, memory module and processing system comprising bootable volatile memory device, and method of booting processing system using bootable volatile memory device | |
KR20210042192A (ko) | 반도체 메모리 장치, 전자 장치, 및 그것의 설정 방법 | |
JPH10293684A (ja) | コンピュータシステムおよびその立ち上げ制御方法 | |
US20230103797A1 (en) | Memory controller and method of operating the same | |
US20230096111A1 (en) | Memory controller, storage device, and host device | |
TW202403556A (zh) | 記憶體系統及其操作方法 | |
JPH1185617A (ja) | コンピュータシステム | |
KR20240003648A (ko) | 메모리 시스템 및 그에 포함된 메모리 컨트롤러의 동작 방법 | |
CN115793831A (zh) | 存储装置及其操作方法 | |
KR20070096183A (ko) | 컴퓨터 시스템의 스토리지 제어장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FG | Grant or registration |