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
Application number
MX2008014859A
Other languages
English (en)
Inventor
Ruston Panabaker
Jack Creasy
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of MX2008014859A publication Critical patent/MX2008014859A/es

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0638Combination of memories, e.g. ROM and RAM such as to permit replacement or supplementing of words in one module by words in another module
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/12Group selection circuits, e.g. for memory block selection, chip selection, array selection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • G06F2212/2022Flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/205Hybrid memory, e.g. using both volatile and non-volatile memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/005Digital 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/10Aspects relating to interfaces of memory device to external buses
    • G11C2207/104Embedded 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)

  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.
MX2008014859A 2006-06-07 2007-06-01 Dispositivo de memoria hibrida con interfase individual. MX2008014859A (es)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (5)

* Cited by examiner, † Cited by third party
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