ES2874279T3 - Gestión de actualización para memoria flash - Google Patents

Gestión de actualización para memoria flash Download PDF

Info

Publication number
ES2874279T3
ES2874279T3 ES17739376T ES17739376T ES2874279T3 ES 2874279 T3 ES2874279 T3 ES 2874279T3 ES 17739376 T ES17739376 T ES 17739376T ES 17739376 T ES17739376 T ES 17739376T ES 2874279 T3 ES2874279 T3 ES 2874279T3
Authority
ES
Spain
Prior art keywords
update
flash memory
register
record
operations
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES17739376T
Other languages
English (en)
Inventor
Hyunsuk Shin
Robert Hardacker
Hung Vuong
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Application granted granted Critical
Publication of ES2874279T3 publication Critical patent/ES2874279T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • 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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • 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/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • G11C16/3431Circuits or methods to detect disturbed nonvolatile memory cells, e.g. which still read as programmed but with threshold less than the program verify threshold or read as erased but with threshold greater than the erase verify threshold, and to reverse the disturbance via a refreshing programming or erasing step

Landscapes

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

Abstract

Un procedimiento para realizar operaciones de actualización en una memoria flash, comprendiendo el procedimiento: establecer (252) uno o más registros de actualización de la memoria flash con valores recibidos desde un host; y realizar (254) operaciones de actualización en la memoria flash en base a los valores establecidos en el uno o más registros de actualización, y caracterizado por que la configuración del uno o más registros de actualización comprende al menos uno de: establecer un primer registro para indicar los ajustes de inicio/parada para las operaciones de actualización y borrar el primer registro para detener una operación de actualización en curso; establecer un segundo registro para indicar al menos una partición de una o más particiones de memoria de destino de la memoria Flash para las operaciones de actualización; establecer un cuarto registro para indicar un algoritmo de actualización para realizar las operaciones de actualización; o establecer un quinto registro para indicar las frecuencias de actualización para realizar las operaciones de actualización.

Description

DESCRIPCIÓN
Gestión de actualización para memoria flash
REFERENCIA CRUZADA CON SOLICITUDES RELACIONADAS
[0001] La presente solicitud de patente reivindica el beneficio de la solicitud provisional de Estados Unidos n.2 62/352.393, titulada MANAGING REFRESH FOR FLAHS MEMORY [GESTIÓN DE ACTUALIZACIÓN PARA MEMORIA FLASH], presentada el 20 de junio de 2016, asignada al cesionario de la presente solicitud.
Campo de divulgación
[0002] Los aspectos divulgados están dirigidos a memoria Flash. Más específicamente, los aspectos ejemplares están dirigidos a actualizar operaciones para mejorar la retención de datos en memoria Flash.
Antecedentes
[0003] La memoria flash es una memoria o medio de almacenamiento no volátil que se puede programar, borrar y reprogramar eléctricamente. En la memoria Flash, la información se puede almacenar en una matriz de celdas de memoria hechas de transistores de puerta flotante. Las celdas de memoria pueden ser celdas de un solo nivel (SLC), en las que cada celda de memoria almacena solo un bit de información o celdas de varios niveles (MLC) (por ejemplo, celdas de triple nivel (TLC)), en las que cada celda de memoria puede almacenar más que un bit de información. Hay dos tipos principales de memoria Flash: Memoria Flash de tipo NAND y memoria Flash de tipo NOR, en la que las celdas de memoria exhiben características similares a las correspondientes puertas lógicas NANd y NOR, respectivamente. La memoria flash se ve en varias aplicaciones, tal como en tarjetas de memoria, unidades flash de bus síncrono universal (USB), discos duros de estado sólido, etc.
[0004] Las ventajas de las memorias Flash incluyen características tales como no volatilidad, tiempos de acceso de lectura rápidos, resistencia a golpes mecánicos, alta durabilidad, etc. Sin embargo, las memorias Flash también pueden tener algunos inconvenientes. Por ejemplo, aunque en una memoria Flash se puede leer o programar un byte o una palabra a la vez de una manera de acceso aleatorio, en una memoria Flash solo se puede borrar un bloque (que comprende varias palabras) a la vez. Otro inconveniente se refiere al número finito de ciclos de programa/borrado que puede soportar una memoria Flash antes de que la memoria Flash se desgaste y la integridad de su almacenamiento se deteriore. Otro inconveniente más se refiere a una característica denominada "perturbación de lectura", en la que una operación de lectura en ciertas celdas de memoria de una memoria flash NAND, por ejemplo, puede hacer que la información almacenada en celdas de memoria vecinas dentro del mismo bloque de memoria cambie con el tiempo o se programen incorrectamente. También puede surgir un problema similar con una perturbación del programa, en la que la programación de algunas celdas de memoria puede conducir a perturbaciones no deseadas de otras celdas de memoria. Además, el almacenamiento de información en celdas de memoria de una memoria Flash se basa en puertas flotantes de las celdas de memoria que se cargan. Sin embargo, con el tiempo, los problemas de pérdida de carga de las celdas de memoria debido a las puertas flotantes también pueden conducir a la pérdida de la integridad de almacenamiento de las celdas de memoria.
[0005] Los diversos inconvenientes mencionados anteriormente pueden conducir a errores o cambios de bits en los datos almacenados en una memoria Flash que comprende una memoria Flash NAND, por ejemplo. La velocidad a la que se pueden producir cambios de bits puede aumentar a medida que la memoria Flash envejece con más ciclos de programa/borrado. La tasa de errores de inversión de bits también puede aumentar con el avance de las generaciones de tecnología de memoria a medida que el tamaño de los dispositivos se reduce, porque la interferencia puede aumentar con el escalado de la tecnología (reducción).
[0006] Aunque los errores de inversión de bits son errores de software que pueden corregirse o restaurarse actualizando (por ejemplo, reescribiendo o borrando) los datos almacenados en la memoria Flash, no existe un mecanismo estándar en la industria para actualizar los datos almacenados en dispositivos de almacenamiento Flash. En general, las operaciones de actualización de datos en dispositivos de almacenamiento Flash se pueden realizar de una manera específica del proveedor, que puede variar entre varios fabricantes. Por ejemplo, cuando un dispositivo de consumo o de procesamiento lee datos de una página de una memoria Flash NAND, si la codificación de control de errores (ECC) se realiza en esa página, entonces una forma de actualización de datos puede basarse en determinar si un número de bits con errores a corregir es mayor que un umbral preestablecido. Si el número de tales errores de bit es mayor que el umbral preespecificado, entonces el dispositivo de procesamiento (o un controlador de memoria en el dispositivo de procesamiento) puede ordenar que se realice una operación de actualización en esa página de la memoria Flash NAND. Sin embargo, este procedimiento de dirigir las operaciones de actualización no es estándar en los diversos dispositivos de consumo y, como tal, diferentes dispositivos de consumo pueden emplear diferentes formas de dirigir las operaciones de actualización en la misma memoria Flash NAND.
[0007] En algunos casos, la operación de actualización de la memoria Flash puede ser accionada por la propia memoria Flash, que puede iniciar una actualización interna sin indicaciones externas o disparadores del dispositivo de consumo o dispositivo de host (por ejemplo, un procesador conectado a la memoria Flash). Sin embargo, es posible que un fabricante o proveedor de la memoria Flash no tenga información sustancial sobre los requisitos de retención del dispositivo de host o la aplicación de destino que utiliza la memoria Flash. Por lo tanto, la operación de actualización controlada internamente por la memoria Flash puede carecer de información sobre la aplicación de destino, por lo que las operaciones de actualización pueden llevarse a cabo sin saber cuándo iniciar o detener la actualización para evitar impactos en el rendimiento de la aplicación de destino.
[0008] Por consiguiente, existe una necesidad en la técnica de técnicas para realizar operaciones de actualización en la memoria Flash, que eviten los inconvenientes mencionados anteriormente. El documento US 2014/013036 describe un procedimiento para realizar operaciones de actualización.
BREVE EXPLICACIÓN
[0009] Aspectos ejemplares de la invención se refieren a sistemas y procedimientos para una actualización de datos accionada por un host de una memoria Flash. En aspectos ejemplares, se proporcionan registros estándar en la memoria Flash para almacenar varias configuraciones relacionadas con las operaciones de actualización, tal como cuándo iniciar/detener la actualización, particiones de destino en la memoria Flash, rangos de direcciones de inicio/finalización de destino para la actualización, algoritmos de actualización, requisitos de frecuencia de actualización, etc. Un dispositivo de host puede controlar las diversas configuraciones para iniciar/detener la actualización, particiones de destino en la memoria, rangos de direcciones de inicio/fin de destino para actualización, algoritmos de actualización, a través de los registros correspondientes; y la memoria Flash puede controlar varios valores relacionados con los requisitos de frecuencia de actualización a través de los registros correspondientes. De esta manera, se proporciona una plataforma o interfaz estándar dentro de la memoria Flash para operaciones de actualización en la memoria Flash.
[0010] Por ejemplo, un aspecto ejemplar se dirige a un procedimiento para realizar operaciones de actualización en una memoria Flash. El procedimiento comprende establecer uno o más registros de actualización de la memoria Flash con valores recibidos desde un host y realizar operaciones de actualización en la memoria Flash en base a los valores establecidos en uno o más registros de actualización.
[0011] Otro aspecto ejemplar está dirigido a un aparato que comprende una memoria Flash, en el que la memoria Flash comprende uno o más registros de actualización configurados para ser programados con valores recibidos desde un host. La memoria Flash está configurada para realizar operaciones de actualización en función de los valores programados en uno o más registros de actualización.
[0012] La invención se define mediante un procedimiento de acuerdo con la reivindicación independiente 1 y un aparato de acuerdo con la reivindicación independiente 7.
BREVE DESCRIPCIÓN DE LOS DIBUJOS
[0013] Los dibujos adjuntos se presentan para facilitar la descripción de los aspectos de la divulgación y se proporcionan únicamente para ilustrar los aspectos y no para limitar los mismos.
La figura 1 ilustra un sistema que comprende un host y una memoria Flash de acuerdo con esta divulgación.
Las figuras 2A-B ilustran diagramas de flujo pertenecientes a procedimientos de gestión de operaciones de actualización en una memoria Flash de acuerdo con aspectos ejemplares de esta divulgación.
La figura 3 es un diagrama de bloques que muestra un sistema de comunicación inalámbrica ejemplar en el que se puede emplear de forma ventajosa aspectos de la divulgación.
DESCRIPCIÓN DETALLADA
[0014] Se divulgan aspectos de la invención en la siguiente descripción y en dibujos relacionados relativos a aspectos específicos de la invención. Pueden concebirse aspectos alternativos sin apartarse del alcance de la invención. Adicionalmente, los elementos bien conocidos de la invención no se describirán con detalle o se omitirán para no ofuscar los detalles pertinentes de la invención.
[0015] El término "ejemplar" se usa en el presente documento en el sentido de "que sirve de ejemplo, caso o ilustración". Cualquier aspecto descrito en el presente documento como "ejemplar" no se ha de interpretar necesariamente como preferente o ventajoso con respecto a otros aspectos. Asimismo, el término "aspectos de la invención" no requiere que todos los aspectos de la invención incluyan la característica, ventaja o modo de funcionamiento analizados.
[0016] La terminología usada en el presente documento solo tiene el propósito de describir aspectos particulares y no está concebida para limitar los aspectos de la invención. Como se usa en el presente documento, las formas en singular "un", "una", "el" y "la" pretenden incluir también las formas en plural, a menos que el contexto indique claramente lo contrario. Se deberá entender, además, que los términos "comprende", "que comprende", "incluye" y/o "que incluye", cuando se usan en el presente documento, especifican la presencia de características, enteros, etapas, operaciones, elementos y/o componentes indicados, pero no excluyen la presencia o la adición de una o más de otras características, enteros, etapas, operaciones, elementos, componentes y/o grupos de los mismos.
[0017] Además, muchos aspectos se describen en términos de secuencias de acciones que por ejemplo, unos elementos de un dispositivo informático van a realizar. Se reconocerá que diversas acciones descritas en el presente documento se pueden realizar mediante circuitos específicos (por ejemplo, circuitos integrados específicos de la aplicación (ASIC)), mediante instrucciones de programa ejecutadas por uno o más procesadores o mediante una combinación de ambas cosas. Adicionalmente, se puede considerar que estas secuencias de acciones descritas en el presente documento se realizan por completo dentro de cualquier forma de medio de almacenamiento legible por ordenador que tenga almacenado en el mismo un conjunto correspondiente de instrucciones de ordenador que, tras su ejecución, provocarían que un procesador asociado realizara la funcionalidad descrita en el presente documento. Por tanto, los diversos aspectos de la invención pueden realizarse de varias formas diferentes, todas ellas contempladas dentro del alcance de la materia objeto reivindicada. Además, para cada uno de los aspectos descritos en el presente documento, la forma correspondiente de cualquiera de dichos aspectos se puede describir en el presente documento, por ejemplo, como una "lógica configurada para" realizar la acción descrita.
[0018] Aspectos ejemplares de esta divulgación están dirigidos a la actualización de datos de una memoria Flash que puede ser accionada por un host en algunos casos. Los registros estándar (o de manera equivalente, cualquier otro medio de almacenamiento) se proporcionan en la memoria Flash para almacenar varias configuraciones relacionadas con las operaciones de actualización, tal como cuándo iniciar/detener la actualización, particiones de destino en la memoria, rangos de direcciones de inicio/finalización de destino para actualización, algoritmos de actualización, requisitos de frecuencia de actualización, etc. En un aspecto, el host puede controlar las diversas configuraciones para iniciar/detener la actualización, particiones de destino en la memoria, rangos de direcciones de inicio/finalización de destino para actualizar, algoritmos de actualización, a través de los registros correspondientes; y la memoria Flash puede controlar varios valores relacionados con los requisitos de frecuencia de actualización a través de los registros correspondientes. De esta manera, se proporciona una plataforma o interfaz estándar dentro de la memoria Flash para operaciones de actualización de la misma. El dispositivo host puede controlar, programar y reprogramar los diversos parámetros según sea necesario para una aplicación de destino en el dispositivo host, por medio de los registros correspondientes.
[0019] Con referencia a la figura 1, se muestra un aparato ejemplar, designado como sistema de procesamiento 100 y que comprende representativamente el host 102 y la memoria Flash 104. El host 102 puede incluir cualquier dispositivo de procesamiento o dispositivo de consumo que interactúe con la memoria Flash 104 a través de una interfaz apropiada 108 para leer y/o escribir datos en la memoria Flash 104. Sin pérdida de generalidad, la memoria Flash 104 puede ser de cualquier tipo (por ejemplo, memoria Flash NAND, memoria Flash NOR, etc.), aunque la memoria Flash NAND puede analizarse particularmente en algunos ejemplos en el presente documento.
[0020] En un aspecto ejemplar, el host 102 puede incluir el procesador 110 (que puede ser cualquier procesador de propósito general o especial) configurado para interactuar con el controlador de memoria 112 para realizar solicitudes de lectura/escritura y recibir/enviar datos correspondientes a los elementos de memoria, incluyendo la memoria Flash 104. El controlador de memoria 112 puede controlar las operaciones de lectura/escritura de los elementos de memoria conectados al host 102, incluyendo la memoria Flash 104. En aspectos ejemplares, el host 102 y más específicamente, el controlador de memoria 112 puede controlar la actualización de datos de la memoria Flash 104 programando registros ejemplares que se pueden proporcionar en la memoria Flash 104. La memoria flash 104 puede configurarse para realizar operaciones de actualización en base a los ajustes o valores programados en los registros mencionados anteriormente. En este sentido, la memoria Flash 104 puede incluir cualquier elemento de procesamiento conocido, controlador de actualización u otra lógica (aunque no se muestra o describe explícitamente, pero es reconocible por un experto en la técnica en base a esta divulgación) para realizar operaciones de actualización en datos almacenados en la memoria Flash. 104 en base a los ajustes programados en los registros.
[0021] En un aspecto ejemplar, se muestra que la memoria Flash 104 incluye registros 106a-e, que pueden ser programados por el host 102, por ejemplo. Los registros 106a-e pueden configurarse para proporcionar una interfaz de programación estándar y, por lo tanto, pueden denominarse registros estándar en algunos aspectos. Se entenderá que aunque se proporcionarán algunos ejemplos y características de los registros 106a-e en esta divulgación, se entenderá que varios otros registros o combinaciones de los mismos pueden configurarse de acuerdo con esta descripción para controlar las operaciones de actualización en la memoria Flash 104 sin apartarse del alcance de los aspectos ejemplares proporcionados en el presente documento. Los aspectos de los registros 106a-e se analizarán ahora con más detalle a continuación.
[0022] Se puede usar un primer registro (REG_REF_EN) 106a para iniciar y/o detener operaciones de actualización de la memoria Flash 104. Para iniciar una operación de actualización, el host 102 (o más específicamente, el controlador de memoria 112) puede establecer REG_REF_EN 106a (por ejemplo, en "1") para iniciar la operación de actualización. En este sentido, el host 102 (o más específicamente, el controlador de memoria 112) también puede programar otros registros tales como un segundo registro REG_REF_PARTICIÓN 106b, un tercer registro REG_REF_ADDR_RANGO 106c, y un cuarto registro REG_REF_ALGO 106d antes de iniciar una operación de actualización, que se analizará con más detalle a continuación.
[0023] El segundo registro, REG_REF_PARTICIÓN 106b puede configurarse para designar al menos una partición de una o más particiones de memoria en la memoria Flash 104 para ser actualizada. En algunos aspectos, REG_REF_PARTICIÓN 106b puede admitir campos especiales o valores reservados como 0xFF que pueden usarse para actualizar todas las particiones de la memoria en la memoria Flash 104.
[0024] El tercer registro, REG_REF_ADDR_RANGO 106c puede configurarse para especificar un rango de direcciones, por ejemplo, en una partición especificada por REG_REF_PARTICIÓN 106b, para ser actualizado. Los rangos de direcciones se pueden especificar utilizando direcciones de inicio y finalización. En algunos aspectos, se puede especificar un rango de partición completo o entero para actualizar mediante el uso de notaciones o valores de programación especiales para REG_REF_ADDR_RANGO 106c, como dirección inicial = dirección final = 0x0.
[0025] El cuarto registro REG_REF_ALGO 106d, como se analizará más adelante, puede usarse para especificar un algoritmo de actualización particular entre uno o más posibles algoritmos de actualización que se usarán para una operación de actualización.
[0026] Una vez que la operación de actualización ha comenzado en base a los ajustes anteriores del primero al cuarto registros 106a-d, la memoria Flash 104 puede ejecutar operaciones de actualización en segundo plano en algunos casos, mientras que permite al host 102 acceder a particiones o rangos de direcciones que no se actualizan. Sin embargo, se observa que permitir operaciones regulares de lectura/escritura y/u operaciones de administración de tareas, por ejemplo, que se realicen normalmente de esta manera mientras una operación de actualización está en curso en el modo de fondo, puede afectar el rendimiento o la velocidad de acceso para el operaciones regulares de lectura/escritura en algunos casos. En consecuencia, se pueden tomar decisiones con respecto a las compensaciones de rendimiento y las necesidades de actualización en casos individuales.
[0027] En algunos aspectos, REG_REF_EN 106a se puede borrar (por ejemplo, poniéndolo en "0"), mediante la memoria Flash 104 cuando se ha completado la operación de actualización. El host 102 puede comprobar el estado de REG_REF_EN 106a para ver si la operación de actualización está en curso (por ejemplo, REG_REF_EN 106a se establece en "1") o si se ha completado la operación de actualización (por ejemplo, REG_REF_EN 106a se establece en "0").
[0028] En algunos aspectos, el host 102 también puede detener una operación de actualización en curso borrando REG_REF_EN 106a (por ejemplo, configurándolo en "0"). Por ejemplo, cuando se desea un rendimiento completo (es decir, el impacto en el rendimiento debido a la operación de actualización en segundo plano es indeseable o inaceptable), el host 102 puede interrumpir la operación de actualización en curso estableciendo REG_REF_EN 106a en "0". Si el host 102 interrumpe una operación de actualización en curso de esta manera, entonces el host 102 puede reiniciar la operación de actualización para el rango de direcciones objetivo en un momento posterior estableciendo REG_REF_EN 106a en "1".
[0029] Con referencia ahora a REG_REF_ALGO 106d con más detalle, este cuarto registro puede ser configurado por el host 102 para seleccionar un algoritmo de actualización específico entre uno o más posibles algoritmos de actualización. Si no se selecciona un algoritmo de esta manera, la operación de actualización puede no ser selectiva en el algoritmo de actualización utilizado, en el sentido de que cada celda de memoria que contiene datos en el rango de direcciones de destino puede actualizarse (por ejemplo, mediante fuerza bruta). Un algoritmo de actualización no selectivo puede ser la opción más sólida para garantizar la retención de datos en algunos aspectos. Sin embargo, una actualización no selectiva de este tipo también puede tardar mucho en completarse y, por lo tanto, tiene impactos en la resistencia y el rendimiento que pueden sopesarse con las ventajas de la actualización no selectiva al elegir un algoritmo de actualización apropiado en algunos aspectos.
[0030] Por otro lado, eligiendo un algoritmo para realizar operaciones de actualización selectivas, las celdas de memoria, por ejemplo, que almacenan datos específicos que cumplen los criterios específicos del proveedor, por ejemplo, pueden actualizarse selectivamente. Los criterios del proveedor pueden variar dependiendo de la tasa de error, el tipo de Flash NAND, etc., relacionados con la memoria Flash 104 y la operación de actualización selectiva puede ser más rápida y mejorar la resistencia de la memoria Flash 104.
[0031] Con referencia ahora al quinto registro REG_REF_RATE_xxx 106e, los requisitos de frecuencia de actualización de la memoria Flash 104 pueden proporcionarse configurando este registro. Se puede determinar una frecuencia de actualización deseada o requerida para la memoria Flash 104 dependiendo del tipo de memoria, temperatura, algoritmo (establecido por el host 102, por ejemplo), etc. Uno o más elementos de procesamiento, sensores, funciones de control o combinaciones de los mismos pueden ser utilizado por la memoria Flash 104 para establecer los valores de REG_REF_TASA_xxx 106e de la siguiente manera. Los datos en la memoria Flash 104 pueden actualizarse con una tasa de acuerdo con uno o más valores de REG_REF_TASA_xxx 106e, para asegurar que se cumplan las características de retención de datos requeridas para la memoria Flash 104. A este respecto, la memoria Flash 104 puede establecer REG_REF_TASA_xxx 106e con una tasa, que puede expresarse como el número de días, en una implementación de ejemplo. La frecuencia de actualización puede cambiar con el tiempo y, por lo tanto, el valor de REG_REF_TASA_xxx 106e se puede cambiar en consecuencia. Por ejemplo, para una nueva memoria Flash 104, al comienzo de su ciclo de vida, la frecuencia de actualización se puede establecer en una cantidad muy baja (es decir, se actualiza con menos frecuencia), ya que la memoria Flash 104 puede mostrar una característica de alta retención (o verse de manera diferente, características de error bajo) cuando la memoria Flash 104 es nueva y no se ha sometido a un gran número de ciclos de programa/borrado. A medida que la memoria Flash 104 envejece, la frecuencia de actualización puede incrementarse para garantizar la retención de datos.
[0032] En algunos casos, la memoria Flash 104 puede buscar un aumento en la frecuencia de actualización. Por ejemplo, si la memoria Flash 104 detecta celdas de memoria débiles inesperadas en una o más particiones durante el funcionamiento, la memoria Flash 104 puede establecer una frecuencia de actualización más alta para esas una o más particiones.
[0033] El registro REG_REF_TASA_xxx 106e puede establecerse en diferentes valores múltiples para diferentes tipos de memoria. Por ejemplo, las tarjetas multimedia integradas (eMMC) y el almacenamiento flash universal (UFS) pueden tener diferentes tipos de memoria (por ejemplo, SLC, MLC, TLC, etc.) para diferentes particiones. Por consiguiente, la memoria flash 104 puede establecer diferentes frecuencias de actualización para diferentes tipos de memoria (por ejemplo, la frecuencia de actualización REG_REF_TASA_SLC para un SLC puede ser de 100 días y REG_Re F_t AsA_MLC para un MLC puede ser de 10 días).
[0034] Además, REG_REF_TASA_xxx 106e puede establecerse en múltiples valores diferentes para diferentes algoritmos de actualización. Por ejemplo, un algoritmo selectivo puede requerir una actualización más frecuente, ya que actualizan selectivamente los datos (por ejemplo, la frecuencia de actualización REG_REF_TASA_SEL para una actualización selectiva puede ser de 60 días, mientras que REG_REF_TASA_UNSEL para una actualización no selectiva puede ser de 90 días).
[0035] El registro REG_REF_TASA_xxx 106e también puede establecerse en múltiples valores diferentes para diferentes condiciones de temperatura. Por ejemplo, la memoria Flash 104 puede establecer una frecuencia de actualización para provocar actualizaciones más frecuentes en temperaturas más altas (por ejemplo, la frecuencia de actualización REG_REF_TASA_95C a 95C puede ser de 10 días, mientras que REG_REF_TASA_-40C a -40C puede ser de 100 días).
[0036] En algunos aspectos, REG_REF_TASA_xxx 106e puede establecerse en combinaciones de valores, que pueden cambiar dinámicamente con el tiempo. Por ejemplo, para una combinación de valores basados en el tipo de memoria, el algoritmo de actualización y la temperatura, para REG_REF_TASA_xxx 106e puede producir 18 configuraciones diferentes para las frecuencias de actualización (por ejemplo, (SLC/MLC/TLC) x (SEL/UNSEL) x (95C/25C/-40C)).
[0037] En consecuencia, se apreciará que los aspectos incluyen diversos procedimientos para llevar a cabo los procesos, funciones y/o algoritmos divulgados en el presente documento. Por ejemplo, como se ilustra en la figura 2A, un aspecto puede incluir un procedimiento 200 para realizar operaciones de actualización en una memoria Flash, por ejemplo, una memoria Flash 104.
[0038] El procedimiento 200 puede comenzar en el bloque 202, en el que el host 102 se inicia en un ejemplo.
[0039] En el Bloque 204, el host 102 (o más específicamente, el controlador de memoria 112) puede determinar dónde se encuentran los datos críticos, por ejemplo, que necesitan ser actualizados, en la memoria Flash 104. El host 102 también puede determinar la partición y el rango de direcciones de dichos datos críticos en la memoria Flash 104, teniendo en cuenta que en algunos casos, todos los datos en la memoria Flash 104 pueden ser datos críticos.
[0040] En el Bloque 206, el host 102 puede leer valores del registro REG_REF_TASA_xxx 106e cuyo tipo de memoria coincide con el tipo de memoria donde se encuentran los datos críticos. A este respecto, el host 102 puede determinar qué algoritmo se utilizará para la actualización, el rango de temperatura objetivo, etc., y leer los valores correspondientes para las frecuencias de actualización del registro REG REFTASA xxx 106e.
[0041] En el Bloque 208, el host 102 puede configurar un temporizador para proporcionar una alerta o desencadenar cuando se requiera una actualización para los datos críticos, en base a la frecuencia de actualización derivada del registro REG REFTASA xxx 106e en el Bloque 206.
[0042] En el Bloque 210, una vez que expira el temporizador establecido en el Bloque 208, o transcurre un período de tiempo correspondiente, se genera un disparador.
[0043] En el Bloque 212, basándose en el disparador, el host 102 puede iniciar operaciones de actualización para la ubicación de destino en la memoria Flash 104 programando uno o más registros 106a-d. El host 102 también puede leer el registro REG_REF_TASA_xxx 106e una o más veces adicionales para comprobar si la frecuencia de actualización en REG_REF_TASA_xxx 106e ha cambiado, ya que la memoria Flash 104 puede cambiar los valores de REG_REF_TASA_xxx 106e con el tiempo por varias razones descritas anteriormente. Si la frecuencia de actualización en REG_REF_TASA_xxx 106e ha cambiado, entonces el host 102 puede reconfigurar el temporizador en consecuencia (por ejemplo, volviendo al Bloque 208 a través de la ruta 214 mostrada en líneas discontinuas, ya que esta ruta puede ser opcional). El host 102 puede repetir los procesos anteriores en el Bloque 212 a lo largo del tiempo, ya que cualquiera de los uno o más criterios anteriores y los registros relacionados 106a-e cambian con el tiempo.
[0044] Con referencia ahora a la figura 2B, otro flujo de proceso ejemplar relacionado con un procedimiento para realizar operaciones de actualización en una memoria Flash (por ejemplo, la memoria Flash 104) que se ilustra y designa como procedimiento 250.
[0045] El bloque 252 del procedimiento 250 comprende establecer uno o más registros de actualización de la memoria Flash con valores recibidos desde un host (por ejemplo, el host 102). El bloque 252 puede comprender establecer uno o más del primero al quinto registros 106a-e de acuerdo con los siguientes ejemplos.
[0046] Un ejemplo incluye establecer un primer registro (por ejemplo, REF_REG_EN 106a) para indicar los ajustes de inicio/parada para operaciones de actualización, donde en algunos aspectos, la memoria Flash 104 puede configurarse para detener una operación de actualización en curso cuando se borra el primer registro.
[0047] Otro ejemplo incluye configurar un segundo registro (por ejemplo, REF_REG_PARTICIÓN 106b) para indicar al menos una partición de una o más particiones de la memoria de destino de la memoria Flash 104 para operaciones de actualización, donde en un aspecto, la memoria Flash 104 puede configurarse para actualizar todas las particiones de memoria de destino cuando el segundo registro se establece con un campo especial.
[0048] Otro ejemplo incluye establecer un tercer registro (por ejemplo, REF_REG_ADDR_RANGO 106c) para indicar un rango de direcciones que se actualizará. En un aspecto, el tercer registro puede configurarse con una dirección de inicio y una dirección final para el rango de direcciones, en el que la memoria Flash 104 puede configurarse para actualizar un rango de partición de direcciones completo o entero cuando la dirección de inicio y la dirección final se configuran en un mismo valor.
[0049] Otro ejemplo incluye establecer un cuarto registro (por ejemplo, REF_REG_ALGO 106d) para indicar un algoritmo de actualización para realizar las operaciones de actualización. En un aspecto, la memoria Flash 104 puede configurarse para actualizar todas las celdas de datos en un rango de direcciones de destino para las operaciones de actualización cuando el algoritmo de actualización se establece en un estado no selectivo o para actualizar selectivamente una parte deseada de un rango de direcciones de destino para las operaciones de actualización cuando el algoritmo de actualización se establece para actualizar de forma selectiva la parte deseada del rango de direcciones de destino.
[0050] Otro ejemplo más incluye establecer un quinto registro (por ejemplo, REF_REG_TASA_xxx 106e) para indicar frecuencias de actualización para realizar las operaciones de actualización. En algunos aspectos, la memoria flash 104 puede configurarse para establecer los valores del quinto registro en función de las tasas de actualización deseadas o requeridas. Por ejemplo, la memoria Flash 104 puede establecer diferentes valores en el quinto registro para indicar diferentes velocidades de actualización para diferentes tipos de memoria en la memoria Flash; establecer diferentes valores en el quinto registro para indicar diferentes frecuencias de actualización para diferentes algoritmos de actualización; y/o establecer diferentes valores en el quinto registro para indicar diferentes frecuencias de actualización para diferentes condiciones de temperatura de la memoria Flash.
[0051] Continuando con la referencia a la figura 2B, el bloque 254 comprende la realización de operaciones de actualización en la memoria Flash basadas en los valores establecidos en uno o más registros de actualización. Por ejemplo, la memoria Flash 104 puede configurarse para realizar operaciones de actualización en base a los valores de uno o más del primero al quinto registros 106a-e como se describió anteriormente. En este sentido, la memoria Flash 104 puede comprender cualquier medio para realizar las operaciones de actualización (por ejemplo, tener un elemento de procesamiento, controlador de actualización, etc., que no se muestra explícitamente, pero que será reconocido por un experto en la técnica en base a esta descripción) en base a los valores de uno o más del primero al quinto registros 106a-e como se describe anteriormente.
[0052] Los expertos en la técnica apreciarán que la información y las señales se pueden representar usando cualquiera de una variedad de tecnologías y técnicas diferentes. Por ejemplo, los datos, las instrucciones, los mandatos, la información, las señales, los bits, los símbolos y los chips que se pueden haber mencionado a lo largo de la descripción anterior se pueden representar mediante tensiones, corrientes, ondas electromagnéticas, campos o partículas magnéticos, campos o partículas ópticos, o cualquier combinación de los mismos.
[0053] Además, los expertos en la técnica apreciarán que los diversos bloques lógicos, módulos, circuitos y etapas de algoritmo ilustrativos descritos en relación con los aspectos divulgados en el presente documento se pueden implementar como hardware electrónico, programa informático o combinaciones de ambos. Para ilustrar claramente esta intercambiabilidad de hardware y programa informático, anteriormente se han descrito en general diversos componentes, bloques, módulos, circuitos y etapas ilustrativos desde el punto de vista de su funcionalidad. Que dicha funcionalidad se implemente como hardware o programa informático depende de la aplicación y las restricciones de diseño en particular impuestas al sistema global. Los expertos en la técnica pueden implementar la funcionalidad descrita de formas distintas para cada aplicación particular, pero no debería interpretarse que dichas decisiones de implementación suponen apartarse del alcance de la presente invención.
[0054] Los procedimientos, las secuencias y/o los algoritmos descritos en relación con los aspectos divulgados en el presente documento se pueden incorporar directamente en hardware, en un módulo de programa informático ejecutado por un procesador o en una combinación de ambos. Un módulo de software puede residir en memoria RAM, memoria flash, memoria ROM, memoria EPROM, memoria EEPROM, registros, un disco duro, un disco extraíble, un CD-ROM o cualquier otra forma de medio de almacenamiento conocida en la técnica. Un medio de almacenamiento ejemplar está acoplado al procesador de modo que el procesador puede leer información de, y escribir información en, el medio de almacenamiento. Como alternativa, el medio de almacenamiento puede estar integrado en el procesador.
[0055] Por consiguiente, un medio legible por ordenador puede contener datos que definen un procedimiento para acceder a una matriz de DRAM y realizar una autocorrección de baja potencia integrando una operación de autocorrección dentro de un ciclo de autoactualización.
[0056] La figura 3 ilustra un sistema de comunicación inalámbrica a modo de ejemplo 300 en el que se puede emplear ventajosamente un aspecto de la divulgación. Con propósitos ilustrativos, la FIG. 3 muestra tres unidades remotas 320, 330 y 350 y dos estaciones base 340. En la FIG. 3, la unidad remota 320 se muestra como un teléfono móvil, la unidad remota 330 se muestra como un ordenador portátil y la unidad remota 350 se muestra como una unidad remota de ubicación fija en un sistema de bucle local inalámbrico. Por ejemplo, las unidades remotas pueden ser teléfonos móviles, unidades de sistemas de comunicación personal (PCS) de mano, unidades de datos portátiles tales como asistentes de datos personales, dispositivos habilitados para sistema de posicionamiento global (GPS), dispositivos de navegación, descodificadores, reproductores de música, reproductores de vídeo, unidades de entretenimiento, unidades de datos de ubicación fija tales como equipos de lectura de medidores o cualquier otro dispositivo que almacene o recupere datos o instrucciones de un ordenador, o cualquier combinación de los mismos. Aunque la FIG. 3 ilustra unidades remotas de acuerdo con las enseñanzas de la divulgación, la divulgación no está limitada a estas unidades ejemplares ilustradas. Aspectos de la divulgación pueden emplearse adecuadamente en cualquier dispositivo que incluya circuitos integrados activos que incluyan la memoria y los circuitos en chip para prueba y caracterización.
[0057] Los dispositivos y procedimientos divulgados anteriormente están típicamente diseñados y configurados como archivos de ordenador GDSII y Gerber, almacenados en unos medios legibles por ordenador. Estos archivos se proporcionan a su vez a los profesionales de fabricación que fabrican los dispositivos en base a estos archivos. Los productos resultantes son obleas semiconductoras que, a continuación, se cortan como una microplaqueta semiconductora y se presentan como un chip semiconductor. Los chips se emplean a continuación en los dispositivos descritos anteriormente.
[0058] Si bien la divulgación anterior muestra aspectos ilustrativos de la invención, cabe destacar que podrían realizarse diversos cambios y modificaciones en el presente documento sin apartarse del alcance de la invención definida en las reivindicaciones adjuntas. Las funciones, etapas y/o acciones de las reivindicaciones de procedimiento de acuerdo con los aspectos de la invención descritos en el presente documento no necesitan realizarse en ningún orden en particular. Además, aunque los elementos de la invención se pueden describir o reivindicar en singular, se contempla el plural a menos que se indique explícitamente la limitación al singular.

Claims (12)

REIVINDICACIONES
1. Un procedimiento para realizar operaciones de actualización en una memoria flash, comprendiendo el procedimiento:
establecer (252) uno o más registros de actualización de la memoria flash con valores recibidos desde un host; y
realizar (254) operaciones de actualización en la memoria flash en base a los valores establecidos en el uno o más registros de actualización, y caracterizado por que la configuración del uno o más registros de actualización comprende al menos uno de:
establecer un primer registro para indicar los ajustes de inicio/parada para las operaciones de actualización y borrar el primer registro para detener una operación de actualización en curso; establecer un segundo registro para indicar al menos una partición de una o más particiones de memoria de destino de la memoria Flash para las operaciones de actualización; establecer un cuarto registro para indicar un algoritmo de actualización para realizar las operaciones de actualización; o
establecer un quinto registro para indicar las frecuencias de actualización para realizar las operaciones de actualización.
2. El procedimiento de la reivindicación 1, que comprende establecer el segundo registro, que comprende además establecer el segundo registro con un campo para actualizar todas las una o más particiones de memoria de destino.
3. El procedimiento de la reivindicación 1, que comprende además actualizar todas las celdas de datos en un rango objetivo para las operaciones de actualización, basándose en el cuarto registro.
4. El procedimiento de la reivindicación 1, que comprende establecer el cuarto registro, que comprende además establecer el cuarto registro para actualizar selectivamente una porción deseada de un rango objetivo para las operaciones de actualización.
5. El procedimiento de la reivindicación 1, que comprende configurar el quinto registro, en el que las operaciones de actualización se activan mediante una configuración del quinto registro.
6. El procedimiento de la reivindicación 1, que comprende establecer el primer registro, el segundo registro, el cuarto registro y el quinto registro.
7. Un aparato que incluye una memoria flash (104), comprendiendo la memoria flash
uno o más registros de actualización configurados para ser programados con valores recibidos desde un host (102); y en el que la memoria flash está configurada para realizar operaciones de actualización en base a los valores programados en uno o más registros de actualización,
y se caracteriza por que el uno o más registros de actualización comprende uno o más de:
un primer registro configurado para ser programado para indicar ajustes de inicio/parada para las operaciones de actualización, en el que la memoria flash está configurada para detener una operación de actualización en curso cuando se borra el primer registro;
un segundo registro configurado para ser programado para indicar al menos una partición de una o más particiones de memoria de destino de la memoria Flash para las operaciones de actualización; un cuarto registro configurado para ser programado para indicar un algoritmo de actualización para las operaciones de actualización a realizar en la memoria Flash; o
un quinto registro configurado para ser programado para indicar frecuencias de actualización para realizar las operaciones de actualización.
8. El aparato de la reivindicación 7, en el que uno o más registros de actualización incluyen el segundo registro, y en el que el segundo registro está configurado además para establecerse con un campo para actualizar todas las una o más particiones de memoria de destino.
9. El aparato de la reivindicación 7, en el que el uno o más registros de actualización incluyen el cuarto registro, y en el que el cuarto registro está configurado además para establecerse en un estado no selectivo para actualizar todas las celdas de datos en un rango objetivo para las operaciones de actualización.
10. El aparato de la reivindicación 7, en el que el uno o más registros de actualización incluyen el cuarto registro, y en el que todas las celdas de datos en un rango objetivo se actualizan para las operaciones de actualización, basándose en el cuarto registro.
11. El aparato de la reivindicación 7, en el que el uno o más registros de actualización incluyen el quinto registro, y en el que las operaciones de actualización se activan basándose en un valor del quinto registro.
12. El aparato de la reivindicación 7, en el que el uno o más registros de actualización incluyen el primer registro, el segundo registro, el cuarto registro y el quinto registro.
ES17739376T 2016-06-20 2017-06-07 Gestión de actualización para memoria flash Active ES2874279T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201662352393P 2016-06-20 2016-06-20
US15/615,827 US10199115B2 (en) 2016-06-20 2017-06-06 Managing refresh for flash memory
PCT/US2017/036397 WO2017222818A1 (en) 2016-06-20 2017-06-07 Managing refresh for flash memory

Publications (1)

Publication Number Publication Date
ES2874279T3 true ES2874279T3 (es) 2021-11-04

Family

ID=60659776

Family Applications (1)

Application Number Title Priority Date Filing Date
ES17739376T Active ES2874279T3 (es) 2016-06-20 2017-06-07 Gestión de actualización para memoria flash

Country Status (9)

Country Link
US (2) US10199115B2 (es)
EP (2) EP3594952A1 (es)
JP (2) JP7213690B2 (es)
KR (1) KR102508868B1 (es)
CN (2) CN109328386B (es)
BR (1) BR112018075661A2 (es)
CA (1) CA3026804C (es)
ES (1) ES2874279T3 (es)
WO (1) WO2017222818A1 (es)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10199115B2 (en) 2016-06-20 2019-02-05 Qualcomm Incorporated Managing refresh for flash memory
US10885991B2 (en) * 2017-04-04 2021-01-05 Sandisk Technologies Llc Data rewrite during refresh window
KR102658230B1 (ko) 2018-06-01 2024-04-17 삼성전자주식회사 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 반도체 메모리 장치의 동작 방법
US10761727B2 (en) * 2018-11-19 2020-09-01 Micron Technology, Inc. Scan frequency modulation based on memory density or block usage
US10725706B1 (en) * 2019-01-23 2020-07-28 Qualcomm Incorporated Apparatus and method of scheduling universal flash storage refresh operations according to a refresh handover mechanism
US10811076B1 (en) * 2019-06-29 2020-10-20 Intel Corporation Battery life based on inhibited memory refreshes
US11404131B2 (en) * 2019-07-12 2022-08-02 Micron Technology, Inc. Decision for executing full-memory refresh during memory sub-system power-on stage
US11037641B1 (en) * 2019-12-05 2021-06-15 Sandisk Technologies Llc Temperature and cycling dependent refresh operation for memory cells
US11500567B2 (en) * 2019-12-06 2022-11-15 Micron Technology, Inc. Configuring partitions of a memory sub-system for different data
DE102020133713A1 (de) 2020-02-27 2021-09-02 Taiwan Semiconductor Manufacturing Co., Ltd. Speicheraktualisierung
US11475929B2 (en) 2020-02-27 2022-10-18 Taiwan Semiconductor Manufacturing Company, Ltd. Memory refresh
CN111798906A (zh) * 2020-06-29 2020-10-20 深圳市芯天下技术有限公司 提高非型闪存数据保持能力方法、系统、存储介质和终端
US20230401007A1 (en) * 2022-06-09 2023-12-14 Micron Technology, Inc. Prioritization of background media management operations in memory systems
CN116312673B (zh) * 2023-03-16 2024-08-06 海光集成电路设计(北京)有限公司 一种数据自刷新电路、芯片及电子设备

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3641066B2 (ja) * 1995-05-30 2005-04-20 株式会社東芝 フラッシュメモリを混載するマイクロコンピュータのデータ書換え方法
JP2000011670A (ja) * 1998-06-25 2000-01-14 Canon Inc 不揮発性メモリを有する機器
US7089344B1 (en) * 2000-06-09 2006-08-08 Motorola, Inc. Integrated processor platform supporting wireless handheld multi-media devices
JP2005025363A (ja) * 2003-06-30 2005-01-27 Sony Corp バースト転送モード付データ転送装置、データ転送方法及びデータ転送プログラム
US7342841B2 (en) * 2004-12-21 2008-03-11 Intel Corporation Method, apparatus, and system for active refresh management
US7685371B1 (en) * 2006-04-19 2010-03-23 Nvidia Corporation Hierarchical flush barrier mechanism with deadlock avoidance
US7861113B2 (en) * 2007-03-16 2010-12-28 Dot Hill Systems Corporation Method and apparatus for operating storage controller system in elevated temperature environment
JP5216244B2 (ja) * 2007-05-31 2013-06-19 株式会社東芝 データリフレッシュ装置、及びデータリフレッシュ方法
JP5478855B2 (ja) * 2008-08-08 2014-04-23 ルネサスエレクトロニクス株式会社 不揮発性メモリ制御方法及び半導体装置
JP5422984B2 (ja) * 2008-12-08 2014-02-19 富士通株式会社 不揮発性メモリ、メモリ制御装置、メモリ制御システムおよび不揮発性メモリの制御方法
JP5834303B2 (ja) * 2008-12-30 2015-12-16 ラウンド ロック リサーチ リミテッド ライアビリティー カンパニー 作動温度範囲を拡張した不揮発性メモリ
CN102369579B (zh) * 2008-12-30 2015-01-14 美光科技公司 非易失性存储器的温度警报和低速率刷新
US9070473B2 (en) * 2009-12-02 2015-06-30 Micron Technology, Inc. Refresh architecture and algorithm for non-volatile memories
KR101798920B1 (ko) * 2010-11-30 2017-11-17 삼성전자주식회사 다중 주기 셀프 리프레쉬를 수행하는 반도체 메모리 장치 및이의 검증 방법
KR101962874B1 (ko) * 2012-04-24 2019-03-27 삼성전자주식회사 메모리 장치, 메모리 컨트롤러, 메모리 시스템 및 이의 동작 방법
US9236110B2 (en) * 2012-06-30 2016-01-12 Intel Corporation Row hammer refresh command
KR20140007989A (ko) 2012-07-09 2014-01-21 삼성전자주식회사 불휘발성 램을 포함하는 사용자 장치 및 그것의 설정 방법
KR20140076735A (ko) * 2012-12-13 2014-06-23 삼성전자주식회사 휘발성 메모리 장치 및 메모리 시스템
US9076499B2 (en) * 2012-12-28 2015-07-07 Intel Corporation Refresh rate performance based on in-system weak bit detection
JP2014178974A (ja) * 2013-03-15 2014-09-25 Nec Casio Mobile Communications Ltd 電子機器、その制御方法及びプログラムに関する。
US9336855B2 (en) * 2013-05-14 2016-05-10 Qualcomm Incorporated Methods and systems for smart refresh of dynamic random access memory
JP6011512B2 (ja) * 2013-10-29 2016-10-19 株式会社デンソー データリフレッシュ装置
KR101601643B1 (ko) * 2013-11-08 2016-03-09 주식회사 피델릭스 효율적으로 리프레쉬 동작을 수행하는 플래시 메모리 장치
US9817749B2 (en) 2013-12-04 2017-11-14 Sandisk Technologies Llc Apparatus and method of offloading processing from a data storage device to a host device
KR102289001B1 (ko) * 2014-06-09 2021-08-13 삼성전자주식회사 솔리드 스테이드 드라이브 및 그것의 동작 방법
US10199115B2 (en) * 2016-06-20 2019-02-05 Qualcomm Incorporated Managing refresh for flash memory

Also Published As

Publication number Publication date
US10199115B2 (en) 2019-02-05
JP2022070884A (ja) 2022-05-13
CN109328386B (zh) 2022-04-29
US20170365352A1 (en) 2017-12-21
CN114758711A (zh) 2022-07-15
CA3026804A1 (en) 2017-12-28
JP7348325B2 (ja) 2023-09-20
CN109328386A (zh) 2019-02-12
US10360987B2 (en) 2019-07-23
US20190066811A1 (en) 2019-02-28
EP3594952A1 (en) 2020-01-15
EP3472840B1 (en) 2021-02-24
CA3026804C (en) 2023-09-05
EP3472840A1 (en) 2019-04-24
KR20190016968A (ko) 2019-02-19
JP2019522284A (ja) 2019-08-08
KR102508868B1 (ko) 2023-03-09
WO2017222818A1 (en) 2017-12-28
BR112018075661A2 (pt) 2019-04-09
JP7213690B2 (ja) 2023-01-27

Similar Documents

Publication Publication Date Title
ES2874279T3 (es) Gestión de actualización para memoria flash
KR102226367B1 (ko) 불휘발성 메모리 장치 및 그것을 포함하는 불휘발성 메모리 시스템
US11696441B2 (en) Memory system
CN106683692B (zh) 非易失性存储装置及其操作方法
KR102118979B1 (ko) 불휘발성 메모리 장치 및 그것의 프로그램 방법
JP5275709B2 (ja) 不揮発性メモリ装置及びそれのプログラム方法
US9142313B2 (en) Memory system and programming method thereof
TWI506424B (zh) 可使用一主機以組態記憶體裝置執行一自動背景操作之方法及記憶體裝置
KR20100049809A (ko) 불휘발성 메모리 장치의 소거 방법
KR100845530B1 (ko) 플래시 메모리 장치 및 그것의 동작 방법
US9117538B2 (en) Semiconductor device, method for operating the same, and semiconductor system including the same
US9478295B2 (en) Non-volatile memory device and related method of operation
KR20100004771A (ko) 공통 소스 라인 전압을 제어하는 플래시 메모리 장치,그것의 프로그램 검증 방법, 그리고 그것을 포함하는메모리 시스템
KR100764748B1 (ko) 향상된 리프레쉬 기능을 갖는 플래시 메모리 장치
US8037231B2 (en) Memory architecture for separation of code and data in a memory device