ES2965751T3 - Dispositivo electrónico y procedimiento de uso de su espacio de almacenamiento - Google Patents

Dispositivo electrónico y procedimiento de uso de su espacio de almacenamiento Download PDF

Info

Publication number
ES2965751T3
ES2965751T3 ES20179543T ES20179543T ES2965751T3 ES 2965751 T3 ES2965751 T3 ES 2965751T3 ES 20179543 T ES20179543 T ES 20179543T ES 20179543 T ES20179543 T ES 20179543T ES 2965751 T3 ES2965751 T3 ES 2965751T3
Authority
ES
Spain
Prior art keywords
storage
data
state
electronic device
interface
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
ES20179543T
Other languages
English (en)
Inventor
Wonsuk Jung
Junwoo Lee
Jintae Jang
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Application granted granted Critical
Publication of ES2965751T3 publication Critical patent/ES2965751T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/28Supervision thereof, e.g. detecting power-supply failure by out of limits supervision
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3215Monitoring of peripheral devices
    • G06F1/3225Monitoring of peripheral devices of memory devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0868Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0625Power saving in storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1056Simplification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/21Employing a record carrier using a specific recording technology
    • G06F2212/214Solid state disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/31Providing disk cache in a specific location of a storage system
    • G06F2212/313In storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7203Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7204Capacity control, e.g. partitioning, end-of-life degradation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7206Reconfiguration of flash memory system
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Abstract

Las diversas realizaciones describen un dispositivo electrónico que incluye: un almacenamiento que incluye una memoria no volátil que tiene un espacio intermedio y un espacio de almacenamiento, un controlador de dispositivo de almacenamiento y una interfaz de almacenamiento, y un procesador. Según diversas realizaciones, el procesador puede configurarse para realizar un control para determinar si el almacenamiento admite un modo de almacenamiento de datos de alta velocidad usando un espacio de búfer de una memoria no volátil del almacenamiento, activar una función de escritura de datos almacenados en el búfer en el espacio de búfer. de la memoria no volátil en un espacio de almacenamiento de la memoria no volátil basándose en la interfaz de almacenamiento que funciona en un primer estado basándose en que el almacenamiento soporta el modo de almacenamiento de datos de alta velocidad, y hace la transición de la interfaz de almacenamiento del almacenamiento al primer estado basado en que no se genere ninguna solicitud al almacenamiento durante un período de tiempo predeterminado basado en que la interfaz de almacenamiento opere en un segundo estado. (Traducción automática con Google Translate, sin valor legal)

Description

DESCRIPCIÓN
Dispositivo electrónico y procedimiento de uso de su espacio de almacenamiento
ANTECEDENTES
Campo
La divulgación se refiere a un dispositivo electrónico y un procedimiento de uso del espacio de almacenamiento del mismo y, por ejemplo, a un dispositivo electrónico que es capaz de escribir datos en su almacenamiento en un modo de almacenamiento de datos de alta velocidad y un procedimiento de uso del espacio de almacenamiento del mismo.
Descripción de la técnica relacionada
Para que un terminal portátil pueda almacenar un gran volumen de datos, es preferente utilizar un esquema de almacenamiento de datos de alta densidad.
Un dispositivo electrónico conocido en la técnica es, por ejemplo, el aparato desvelado en el documento US 2019/0042140 A1, que incluye una unidad de estado sólido que tiene una memoria intermedia no volátil y una memoria de almacenamiento primario no volátil. La memoria intermedia no volátil debe almacenar menos bits por celda que la memoria de almacenamiento primario no volátil. La unidad de estado sólido incluye un controlador para descargar la memoria intermedia en respuesta a un comando de descarga de la memoria intermedia recibido de un huésped. El controlador debe hacer que la unidad de estado sólido atienda las solicitudes de lectura/escritura recién recibidas del huésped entre las descargas de porciones más pequeñas del contenido de la memoria intermedia que se realizan para atender el comando de descarga de la memoria intermedia.
Aunque el esquema de almacenamiento de datos de alta densidad hace posible que un dispositivo electrónico almacene un mayor volumen de datos en su almacenamiento en comparación con un esquema de almacenamiento de datos de baja densidad, puede tener el inconveniente de una velocidad de almacenamiento de datos relativamente lenta. Mientras tanto, los recientes avances en las tecnologías de transferencia de datos a alta velocidad están impulsando el desarrollo de una tecnología para almacenar rápidamente los datos transferidos.
La velocidad de escritura de datos puede mejorarse en un modo de almacenamiento de datos de alta velocidad en el que parte de un espacio de almacenamiento se asigna como espacio intermedio, de modo que los datos se almacenan en el espacio intermedio en un modo de almacenamiento de datos de baja densidad y luego se escriben en el espacio de almacenamiento en un modo de almacenamiento de datos de alta densidad. En el caso de que el almacenamiento realice de forma autónoma la operación de escribir los datos almacenados en el espacio de memoria intermedia en el espacio de almacenamiento, un procesador del dispositivo electrónico no puede verificar un estado de progreso de la operación de escritura y el consumo de corriente eléctrica causado por la operación de escritura, lo que conduce a la degradación del rendimiento del dispositivo electrónico.
En el caso en que la operación de escritura de los datos almacenados en el espacio de memoria intermedia en el espacio de almacenamiento en el modo de almacenamiento de datos de alta densidad se realiza con un tamaño específico del espacio de memoria intermedia, la operación de escritura se suspende hasta que se asegura el tamaño específico del espacio de memoria intermedia, lo que resulta en la reducción de las capacidades disponibles del espacio de memoria intermedia y del espacio de almacenamiento del almacenamiento.
Si la operación de escribir los datos almacenados en la memoria intermedia en el espacio de almacenamiento en el modo de almacenamiento de datos de alta densidad se realiza en medio del almacenamiento de datos en respuesta a una nueva solicitud de entrada/salida de escritura de datos, esto puede degradar el rendimiento del procesamiento de la nueva solicitud de entrada/salida de escritura de datos.
SUMARIO
Las realizaciones de la divulgación proporcionan un dispositivo electrónico capaz de protección contra la degradación del rendimiento del dispositivo electrónico y aumento de la capacidad disponible del espacio de memoria intermedia en un punto de tiempo deseado por un procesador del dispositivo electrónico de tal manera de permitir al procesador establecer un punto de tiempo para escribir datos almacenados en la memoria intermedia en el espacio de almacenamiento en un modo de almacenamiento de datos de alta densidad, lo que permite al procesador verificar la información sobre el progreso de la operación de escritura y el consumo de corriente eléctrica causado por la operación de escritura.
Las realizaciones de la divulgación proporcionan además un dispositivo electrónico capaz de aumentar las capacidades disponibles de espacio de memoria intermedia y espacio de almacenamiento para escribir datos en un modo de almacenamiento de datos de alta densidad de tal manera que se permite que la operación de escribir los datos almacenados en la memoria intermedia en el espacio de almacenamiento en el modo de almacenamiento de datos de alta densidad se realice mientras una interfaz de almacenamiento está funcionando en un modo de suspensión o en medio del procesamiento de un procedimiento para que el dispositivo electrónico entre en un modo de ahorro de energía.
Las realizaciones de la divulgación también proporcionan un dispositivo electrónico capaz de prevenir y/o reducir una operación de escritura de datos en el espacio de almacenamiento de degradar el rendimiento de procesamiento de una nueva solicitud de entrada/salida de escritura de datos de tal manera de permitir que la operación de escritura de los datos almacenados en la memoria intermedia en el espacio de almacenamiento en el modo de almacenamiento de datos de alta densidad se realice mientras una interfaz de almacenamiento está operando en un modo de suspensión o en medio del procesamiento de un procedimiento para que el dispositivo electrónico entre en un modo de ahorro de energía.
De acuerdo con un aspecto de la invención, se desvela un dispositivo electrónico de acuerdo con la reivindicación adjunta 1. De acuerdo con otro aspecto de la invención, se desvela un medio no transitorio legible por ordenador que almacena instrucciones ejecutables por un procesador de un dispositivo electrónico de acuerdo con la reivindicación 8 adjunta.
BREVE DESCRIPCIÓN DE LOS DIBUJOS
Los anteriores y otros aspectos, características y ventajas de determinadas realizaciones de la presente divulgación serán más evidentes a partir de la siguiente descripción detallada tomada en conjunto con los dibujos adjuntos, en los cuales:
La FIG. 1 es un diagrama de bloques que ilustra un ejemplo de dispositivo electrónico en un entorno de red, de acuerdo con diversas realizaciones.
La FIG. 2 es un diagrama de bloques que ilustra un ejemplo de arquitectura de un dispositivo electrónico, de acuerdo con diversas realizaciones;
La FIG. 3 es un diagrama que ilustra un procedimiento de ejemplo para que un dispositivo electrónico almacene datos en un modo de almacenamiento de datos de alta densidad de acuerdo con diversas realizaciones;
La FIG. 4 es un diagrama que ilustra un ejemplo de procedimiento de descarga de un dispositivo electrónico que funciona en un modo de almacenamiento de datos de alta velocidad utilizando un esquema de almacenamiento de datos de baja densidad y un esquema de almacenamiento de datos de alta densidad de forma escalonada de acuerdo con diversas realizaciones;
La FIG. 5 es un diagrama de bloques que ilustra un ejemplo de configuración de un dispositivo electrónico, de acuerdo con diversas realizaciones;
La FIG. 6 es un diagrama de flujo de señales que ilustra ejemplos de flujos de señales entre un procesador de aplicaciones y un almacenamiento en un dispositivo electrónico de acuerdo con diversas realizaciones;
La FIG. 7 es un diagrama de flujo que ilustra ejemplos de operaciones del procesador de aplicaciones de un dispositivo electrónico, de acuerdo con diversas realizaciones;
La FIG. 8 es un diagrama de flujo que ilustra un ejemplo de operaciones de un procesador de aplicación de un dispositivo electrónico de acuerdo con diversas realizaciones;
La FIG. 9 es un diagrama que ilustra ejemplos de operaciones de ahorro de energía para componentes de un dispositivo electrónico en un procedimiento de entrada en modo de ahorro de energía de acuerdo con diversas realizaciones;
La FIG. 10 es un diagrama de flujo de señales que ilustra ejemplos de flujos de señales entre un procesador de aplicaciones y un almacenamiento en un dispositivo electrónico de acuerdo con diversas realizaciones;
La FIG. 11 es un diagrama de flujo que ilustra ejemplos de operaciones de un procesador de aplicaciones de un dispositivo electrónico de acuerdo con diversas realizaciones; y
La FIG. 12 es un diagrama que ilustra ejemplos de operaciones de un procesador de aplicaciones de un dispositivo electrónico de acuerdo con diversas realizaciones.
DESCRIPCIÓN DETALLADA
La Fig. 1 es un diagrama de bloques que ilustra un ejemplo de dispositivo 101 electrónico en un entorno 100 de red de acuerdo con diversas realizaciones. Con referencia a la Fig. 1, el dispositivo 101 electrónico en el entorno 100 de red puede comunicarse con un dispositivo 102 electrónico a través de una primera red 198 (por ejemplo, una red de comunicación inalámbrica de corto alcance), o un dispositivo 104 electrónico o un servidor 108 a través de un segunda red 199 (por ejemplo, una red de comunicación inalámbrica de largo alcance). De acuerdo con una realización, el dispositivo 101 electrónico se puede comunicar con el dispositivo 104 electrónico a través del servidor 108. De acuerdo con una realización, el dispositivo 101 electrónico puede incluir un procesador 120, una memoria 130, un dispositivo 150 de entrada, un dispositivo 155 de salida de sonido, un dispositivo 160 de visualización, un módulo 170 de audio, un módulo 176 de sensor, una interfaz 177, un módulo 179 háptico, un módulo 180 de cámara, un módulo 188 de gestión de energía, una batería 189, un módulo 190 de comunicación, un módulo 196 de identificación de suscriptor (SIM), o un módulo 197 de antena. En algunas realizaciones, al menos uno (por ejemplo, el dispositivo de visualización 160 o el módulo de cámara 180) de los componentes se puede omitir en el dispositivo electrónico 101, o se pueden añadir uno o más componentes en el dispositivo electrónico 101. En algunas realizaciones, algunos de los componentes se pueden implementar como circuitos integrados individuales. Por ejemplo, el módulo de sensor 176 (por ejemplo, un sensor de huellas dactilares, un sensor de iris o un sensor de iluminancia) se puede implementar como incrustado en el dispositivo de visualización 160 (por ejemplo, una pantalla).
El procesador 120 puede ejecutar, por ejemplo, software (por ejemplo, un programa 140) para controlar al menos otro componente (por ejemplo, un componente de hardware o software) del dispositivo electrónico 101 acoplado al procesador 120, y puede llevar a cabo varios procesamientos de datos o cálculos. De acuerdo con un ejemplo de realización, como al menos parte del procesamiento de datos o del cálculo, el procesador 120 puede cargar un comando o datos recibidos a partir de otro componente (por ejemplo, el módulo 176 de sensor o el módulo 190 de comunicación) en la memoria 132 volátil, procesar el comando o los datos almacenados en la memoria 132 volátil, y almacenar los datos resultantes en la memoria 134 no volátil. De acuerdo con una realización, el procesador 120 puede incluir un procesador 121 principal (por ejemplo, una unidad central de procesamiento (CPU) o un procesador de aplicación (AP)), y un procesador 123 auxiliar (por ejemplo, una unidad de procesamiento de gráficos (GPU), un procesador de señales de imagen (ISP), un procesador de centros de sensores, o un procesador de comunicaciones (CP)) que es operable independientemente de, o junto con, el procesador 121 principal. De manera adicional o alternativamente, el procesador 123 auxiliar puede estar adaptado para consumir menos energía que el procesador 121 principal, o para ser específico para una función determinada. El procesador 123 auxiliar se puede implementar de forma separada, o como parte del procesador 121 principal.
El procesador auxiliar 123 puede controlar al menos algunas de las funciones o estados relacionados con al menos un componente (por ejemplo, el dispositivo de visualización 160, el módulo sensor 176 o el módulo de comunicación 190) entre los componentes del dispositivo electrónico 101, en lugar del procesador principal 121 mientras éste se encuentra en un estado inactivo (por ejemplo, de suspensión), o junto con el procesador principal 121 mientras este se encuentra en un estado activo (por ejemplo, ejecutando una aplicación). De acuerdo con una realización, el procesador 123 auxiliar (por ejemplo, un procesador de señales de imagen o un procesador de comunicación) se puede implementar como parte de otro componente (por ejemplo, el módulo 180 de cámara o el módulo 190 de comunicación) relacionado funcionalmente con el procesador 123 auxiliar.
La memoria 130 puede almacenar varios datos utilizados por al menos un componente (por ejemplo, el procesador 120 o el módulo sensor 176) del dispositivo electrónico 101. Los diversos datos pueden incluir, por ejemplo, el software (por ejemplo, el programa 140) y los datos de entrada o de salida de un comando relacionado con el mismo. La memoria 130 puede incluir la memoria volátil 132 o la memoria no volátil 134.
El programa 140 se puede almacenar en la memoria 130 como software, y puede incluir, por ejemplo, un sistema operativo (OS) 142, middleware 144, o una aplicación 146.
El dispositivo 150 de entrada puede recibir una orden o datos para ser utilizados por otro componente (por ejemplo, el procesador 120) del dispositivo 101 electrónico, desde el exterior (por ejemplo, un usuario) del dispositivo 101 electrónico. El dispositivo 150 de entrada puede incluir, por ejemplo, un micrófono, un ratón, un teclado, o un lápiz digital (por ejemplo, un lápiz óptico).
El dispositivo de salida de sonido 155 puede emitir señales de sonido hacia el exterior del dispositivo electrónico 101. El dispositivo 155 de salida de sonido puede incluir, por ejemplo, un altavoz o un receptor. El altavoz se puede utilizar para fines generales, tal como la reproducción de multimedia o la reproducción de discos, y el receptor se puede utilizar para una llamada entrante. De acuerdo con una realización, el receptor puede ser implementado como separado de o como parte del altavoz.
El dispositivo de visualización 160 puede proporcionar visualmente información al exterior (por ejemplo, un usuario) del dispositivo electrónico 101. El dispositivo 160 de visualización puede incluir, por ejemplo, una pantalla, un dispositivo de hologramas, o un proyector y un circuito de control para controlar uno correspondiente de la pantalla, el dispositivo de holograma, y el proyector. De acuerdo con una realización, el dispositivo 160 de visualización puede incluir un circuito táctil adaptado para detectar un toque, o un circuito de sensor (por ejemplo, un sensor de presión) adaptado para medir la intensidad de la fuerza incurrida por el toque.
El módulo de audio 170 puede convertir el sonido en una señal eléctrica y viceversa. De acuerdo con una realización, el módulo de audio 170 puede obtener el sonido a través del dispositivo de entrada 150, o emitir el sonido a través del dispositivo de salida de sonido 155 o un auricular de un dispositivo electrónico externo (por ejemplo, un dispositivo electrónico 102) acoplado directamente (por ejemplo, por cable) o de forma inalámbrica con el dispositivo electrónico 101.
El módulo de sensor 176 puede detectar un estado operacional (por ejemplo, energía o temperatura) del dispositivo electrónico 101 o un estado ambiental (por ejemplo, un estado de un usuario) externo al dispositivo electrónico 101, y posteriormente generar una señal eléctrica o valor de datos correspondiente al estado detectado. De acuerdo con una realización, el módulo 176 de sensor puede incluir, por ejemplo, un sensor gestual, un sensor giroscópico, un sensor de presión atmosférica, un sensor magnético, un sensor de aceleración, un sensor de agarre, un sensor de proximidad, un sensor de color, un sensor de infrarrojos (IR), un sensor biométrico, un sensor de temperatura, un sensor de humedad, o un sensor de iluminancia.
La interfaz 177 puede admitir uno o más protocolos especificados para que el dispositivo electrónico 101 se acople al dispositivo electrónico externo (por ejemplo, el dispositivo electrónico 102) directamente (por ejemplo, por cable) o de forma inalámbrica. De acuerdo con una realización, la interfaz 177 puede incluir, por ejemplo, una interfaz multimedia de alta definición (HDMI), una interfaz de bus serie universal (USB), una interfaz de tarjeta digital segura (SD), o una interfaz de audio.
Un terminal de conexión 178 puede incluir un conector a través del cual el dispositivo electrónico 101 se puede conectar físicamente con el dispositivo electrónico externo (por ejemplo, el dispositivo electrónico 102). De acuerdo con una realización, el terminal 178 de conexión puede incluir, por ejemplo, un conector HDMI, un conector USB, un conector de tarjeta SD, o un conector de audio (por ejemplo, un conector de auriculares).
El módulo háptico 179 puede convertir una señal eléctrica en un estímulo mecánico (por ejemplo, una vibración o un movimiento) o eléctrico que puede ser reconocido por un usuario a través de su sensación táctil o cinestésica. De acuerdo con una realización, el módulo 179 háptico puede incluir, por ejemplo, un motor, un elemento piezoeléctrico, o un estimulador eléctrico.
El módulo de cámara 180 puede capturar una imagen fija o imágenes en movimiento. De acuerdo con una realización, el módulo 180 de cámara puede incluir una o más lentes, sensores de imagen, procesadores de señal de imagen, o destellos.
El módulo de gestión de la energía 188 puede gestionar la energía suministrada al dispositivo electrónico 101. De acuerdo con un ejemplo de realización, el módulo 188 de gestión de energía puede implementarse como al menos parte de, por ejemplo, un circuito integrado de gestión de energía (PMIC).
La batería 189 puede suministrar potencia a al menos un componente del dispositivo electrónico 101. De acuerdo con una realización, la batería 189 puede incluir, por ejemplo, una célula primaria no recargable, una célula secundaria la cual es recargable, o una célula de combustible.
El módulo 190 de comunicación puede soportar el establecimiento de un canal de comunicación directo (por ejemplo, por cable) o un canal de comunicación inalámbrico entre el dispositivo 101 electrónico y el dispositivo electrónico externo (por ejemplo, el dispositivo 102 electrónico, el dispositivo 104 electrónico, o el servidor 108) y realizar la comunicación a través del canal de comunicación establecido. El módulo 190 de comunicación puede incluir uno o más procesadores de comunicación que son operables independientemente del procesador 120 (por ejemplo, el procesador de aplicación (AP)) y soporta una comunicación directa (por ejemplo, por cable) o una comunicación inalámbrica. De acuerdo con una realización, el módulo 190 de comunicación puede incluir un módulo 192 de comunicación inalámbrica (por ejemplo, un módulo de comunicación celular, un módulo de comunicación inalámbrica de corto alcance, o un módulo de comunicación del sistema global de navegación por satélite (GNSS)) o un módulo 194 de comunicación por cable (por ejemplo, un módulo de comunicación de red de área local (LAN) o un módulo de comunicación de línea de energía (PLC)). Uno correspondiente de estos módulos de comunicación se puede comunicar con el dispositivo electrónico externo a través de la primera red 198 (por ejemplo, una red de comunicación de corto alcance, tal como Bluetooth™, Wi-Fi directo o asociación de datos por infrarrojos (IrDA)) o la segunda red 199 (por ejemplo, una red de comunicación de largo alcance, tal como una red celular, Internet o una red informática (por ejemplo, LAN o red de área amplia (WAN)). Estos diversos tipos de módulos de comunicación pueden ser implementados como un único componente (por ejemplo, un único chip), o pueden ser implementados como múltiples componentes (por ejemplo, múltiples chips) separados entre sí. El módulo de comunicación inalámbrica 192 puede identificar y autenticar el dispositivo electrónico 101 en una red de comunicación, tal como la primera red 198 o la segunda red 199, mediante el uso de la información del abonado (por ejemplo, la identidad de abonado móvil internacional (IMSI)) almacenada en el módulo de identificación del abonado 196.
El módulo 197 de antena puede transmitir o recibir una señal o energía hacia o desde el exterior (por ejemplo, el dispositivo electrónico externo) del dispositivo 101 electrónico. De acuerdo con una realización, el módulo 197 de antena puede incluir una antena que incluye un elemento radiante compuesto por un material conductor o un patrón conductor formado en o sobre un sustrato (por ejemplo, PCB). De acuerdo con una realización, el módulo 197 de antena puede incluir una pluralidad de antenas. En tal caso, al menos una antena apropiada para un esquema de comunicación utilizado en la red de comunicación, tal como la primera red 198 o la segunda red 199, puede ser seleccionada, por ejemplo, por el módulo 190 de comunicación (por ejemplo, el módulo 192 de comunicación inalámbrica) de la pluralidad de antenas. La señal o la energía se pueden entonces transmitir o recibir entre el módulo 190 de comunicación y el dispositivo electrónico externo a través de la al menos una antena seleccionada. De acuerdo con una realización, otro componente (por ejemplo, un circuito integrado de frecuencia de radio (RFIC)) diferente del elemento radiante puede estar formado adicionalmente como parte del módulo 197 de antena.
Al menos algunos de los componentes descritos anteriormente pueden acoplarse entre sí y comunicar señales (por ejemplo, comandos o datos) entre ellos a través de un esquema de comunicación entre periféricos (por ejemplo, un bus, entrada y salida de propósito general (GPIO), interfaz periférica serial (SPI) o interfaz de procesador industrial móvil (MIPI)).
De acuerdo con una realización, se pueden transmitir o recibir comandos o datos entre el dispositivo 101 electrónico y el dispositivo 104 electrónico externo a través del servidor 108 acoplado a la segunda red 199. Cada uno de los dispositivos 102 y 104 electrónicos puede ser un dispositivo del mismo tipo, o de diferentes tipos, que el dispositivo 101 electrónico. De acuerdo con una realización, todas o algunas de las operaciones que van a ser ejecutadas en el dispositivo 101 electrónico se pueden ejecutar en uno o más de los dispositivos 102, 104 o 108 electrónicos externos. Por ejemplo, si el dispositivo 101 electrónico debe realizar una función o un servicio de manera automática, o en respuesta a una solicitud de un usuario u otro dispositivo, el dispositivo 101 electrónico, en lugar de, o además de, ejecutar la función o el servicio, puede solicitar al uno o más dispositivos electrónicos externos que realicen al menos parte de la función o el servicio. El uno o más dispositivos electrónicos externos que reciben la solicitud pueden realizar la al menos una parte de la función o el servicio solicitado, o una función adicional o un servicio adicional relacionado con la solicitud, y transferir un resultado de la realización al dispositivo 101 electrónico. El dispositivo 101 electrónico puede proporcionar el resultado, con o sin procesamiento adicional del resultado, como al menos parte de una respuesta a la solicitud. Para este fin, por ejemplo, se pueden utilizar, por ejemplo, una tecnología de computación en la nube, computación distribuida, o computación cliente-servidor.
La Figura 2 es un diagrama de bloques que ilustra un ejemplo de arquitectura de un dispositivo electrónico, de acuerdo con diversas realizaciones.
Con referencia a la FIG. 2, el dispositivo electrónico 101 incluye un procesador de aplicaciones (AP) (por ejemplo, que incluye circuitos de procesamiento) 200 (por ejemplo, el procesador 120 en la FIG. 1) y un almacenamiento 300 (por ejemplo, memoria 130 en la FIG. 1). El dispositivo electrónico 101 puede configurarse omitiendo o sustituyendo algunos de los componentes representados en la FIG. 2, de acuerdo con diversas realizaciones desveladas. De acuerdo con diversas realizaciones, el dispositivo electrónico 101 además puede incluir una batería (no mostrado) (por ejemplo, la batería 189 de la FIG. 1) y/o un módulo de gestión de potencia (no mostrado) (por ejemplo, el módulo de gestión de potencia 188 de la FIG. 1). De acuerdo con diversas realizaciones, el dispositivo electrónico además puede incluir al menos uno de una cámara (por ejemplo, el módulo de cámara 180 en la FIG. 1), una pantalla de cristal líquido (LCD) (por ejemplo, el dispositivo de visualización 160 de la FIG. 1), un altavoz (por ejemplo, el dispositivo de salida de sonido 155 de la FIG. 1) una pantalla táctil (por ejemplo, el dispositivo de visualización 160 en la Figura 1) 1), un circuito de comunicación (por ejemplo, el módulo de comunicación 190 en la FIG. 1), un bus serie universal (USB) (por ejemplo, el terminal de conexión 178 en la FIG. 1), o similares.
De acuerdo con diversas realizaciones, el procesador de aplicación 200 puede controlar los componentes individuales del dispositivo electrónico y/o realizar operaciones relacionadas con la comunicación o el procesamiento de datos, y puede incluir al menos parte de la configuración y/o funciones del procesador 120 de la FIG. 1. Por ejemplo, el procesador puede estar conectado operativamente con los componentes del dispositivo electrónico 101.
De acuerdo con diversas realizaciones, un componente que controla el almacenamiento 300 a través del procesador de aplicación 200 puede denominarse huésped. De acuerdo con diversas realizaciones, el huésped puede incluir un entorno en el que operan el software, incluido el procesador de aplicaciones y un sistema operativo. Por ejemplo, el huésped puede ser un sistema en chip (SoC) que incluya funciones de un chipset responsable de la ejecución de diversas aplicaciones y del procesamiento gráfico en el dispositivo electrónico 101.
De acuerdo con diversas realizaciones, el procesador de aplicación 200 puede incluir una aplicación 210, un controlador de almacenamiento 220, un controlador 230, y/o una interfaz de almacenamiento 240. Los componentes representados con una línea de puntos, como la aplicación 210 y el controlador de almacenamiento 220, pueden ser programas de software.
De acuerdo con diversas realizaciones, el controlador 230 puede incluir varios circuitos y controlar otros componentes del procesador de aplicación 200 y/o realizar una operación relacionada con la comunicación o el procesamiento de datos. De acuerdo con diversas realizaciones, el controlador 230 puede incluir controladores para controlar los componentes correspondientes del dispositivo electrónico 102. Por ejemplo, el controlador 230 puede incluir un controlador huésped de almacenamiento 231 para controlar las operaciones del almacenamiento 300. Por ejemplo, el controlador 230 puede incluir un controlador de interfaz PMIC (por ejemplo, el controlador de interfaz PMIC 233 en la<FIG. 5) para controlar las operaciones de un PMIC (por ejemplo, el>P<mi>C<500 de la FIG. 5).>
De acuerdo con diversas realizaciones, el controlador 230 puede transferir diversos comandos de control al almacenamiento 300 a través de la interfaz de almacenamiento 240 del procesador de aplicaciones 200. Por ejemplo, el controlador huésped de almacenamiento 231 del controlador 230 puede recibir una solicitud de almacenamiento de datos generada por la aplicación 210 a través del controlador de almacenamiento 220 y enviar una solicitud de entrada/salida de escritura de datos al almacenamiento 300 a través de la interfaz de almacenamiento 240 en respuesta a la solicitud de almacenamiento de datos. De acuerdo con diversas realizaciones, la interfaz de almacenamiento 240 del procesador de aplicación 200 puede incluir diversas interfaces de enlace para proporcionar funcionalidad de enlace de datos. De acuerdo con diversas realizaciones, la interfaz de almacenamiento 240 del procesador de aplicación 200 puede incluir, por ejemplo, y sin limitación, una interfaz MIPI M-PHY, una interfaz MIPI unipro definida por la alianza de interfaces de procesadores de la industria móvil (MIPI), o similares. Por ejemplo, el procesador de aplicación 200 puede realizar una comunicación de datos de alta velocidad con el almacenamiento 300 a través de la interfaz MIPI M-PHY o la interfaz MIPI unipro.
De acuerdo con diversas realizaciones, el almacenamiento 300 puede almacenar varios tipos de datos utilizados por al menos uno de los componentes del dispositivo electrónico 101 (por ejemplo, el procesador de aplicaciones 200). De acuerdo con diversas realizaciones, el almacenamiento 300 incluye una memoria flash 310, un controlador de dispositivo de almacenamiento 320 y/o una interfaz de almacenamiento 330.
La memoria flash 310 incluye una memoria no volátil (por ejemplo, la memoria no volátil 134 en la FIG. 1). Por ejemplo, la memoria flash 310 puede incluir una memoria flash NAND 310 que cumpla con el estándar de almacenamiento flash universal (UFS). De acuerdo con diversas realizaciones, el controlador del dispositivo de almacenamiento 320 puede controlar los componentes del almacenamiento 300 y/o realizar operaciones relacionadas con la comunicación y el procesamiento de datos. El controlador del dispositivo de almacenamiento 320 recibe varios tipos de comandos de control del procesador de aplicación 200 a través de la interfaz de almacenamiento 330 del almacenamiento 300. Por ejemplo, el controlador del dispositivo de almacenamiento 320 puede recibir una solicitud de datos que incluya una solicitud de escritura de datos (E/S de escritura de datos), una solicitud de lectura de datos (E/S de lectura de datos), 0 una solicitud de borrado de datos (E/S de borrado de datos) desde el procesador de aplicación 200 a través de la interfaz de almacenamiento 330 del almacenamiento 300. De acuerdo con diversas realizaciones, la interfaz de almacenamiento 330 del almacenamiento 300 puede incluir varios tipos de interfaces de enlace para proporcionar funcionalidad de enlace de datos. De acuerdo con diversas realizaciones, la interfaz de almacenamiento 330 del almacenamiento 300 puede incluir, por ejemplo, y sin limitación, una interfaz MIPI M-PHY, una interfaz MIPI unipro definida por la MIPI Alliance, o similares.
De acuerdo con diversas realizaciones, la unidad de gestión de almacenamiento 321 del controlador de dispositivo de almacenamiento 320 puede establecer y controlar al menos una unidad lógica 323. Por ejemplo, la al menos una unidad lógica 323 puede corresponder a la al menos una unidad de almacenamiento 311 de la memoria flash 310 para almacenar los datos correspondientes.
La Figura 3 es un diagrama que ilustra un procedimiento de ejemplo para que un dispositivo electrónico almacene datos en un modo de almacenamiento de datos de alta densidad de acuerdo con diversas realizaciones.
Con referencia a la FIG. 3, la memoria flash 310 del almacenamiento 300 puede operar en un modo de almacenamiento de datos que difiere en función de un número de bits de datos que pueden almacenarse en una celda. Por ejemplo, la memoria flash 310 puede operar en un modo de celda de nivel único (SLC) para almacenar datos de 1 bit en una celda, un modo de celda de nivel múltiple (MLC) para almacenar datos de 2 bits en una celda, un modo de celda de nivel triple (TLC) para almacenar datos de 3 bits en una celda, o un modo de celda de nivel cuádruple (QLC) para almacenar datos de 4 bits en una celda. En el caso de operar en los modos MLC, TLC o QLC, la memoria flash 310 puede almacenar datos con una densidad superior a la del modo SLC y escribir los datos a una velocidad inferior a la del modo SLC. Aunque la siguiente descripción está dirigida al caso en el que la memoria flash almacena datos en el modo TLC por comodidad de explicación, será evidente para los expertos en la materia que el modo MLC o QLC también puede emplearse en las diversas realizaciones desveladas.
De acuerdo con diversas realizaciones, la memoria flash 310 puede cambiar entre dos modos de almacenamiento. Por ejemplo, la memoria flash 310 que opera en el modo TLC en el que los datos se escriben con relativa lentitud puede cambiar temporalmente el modo de almacenamiento al modo SLC para escribir los datos a una velocidad relativamente rápida (en adelante en la presente memoria, denominado modo de almacenamiento de datos de alta velocidad).
De acuerdo con diversas realizaciones, puede ser posible mejorar la velocidad de almacenamiento (o la velocidad de escritura) de la memoria flash 310 que opera en el modo TLC empleando el modo de almacenamiento de datos de alta velocidad. Por ejemplo, el modo de almacenamiento de datos de alta velocidad puede implementarse de forma que se almacenen en memoria intermedia los datos que se van a almacenar en la memoria flash 310 en el espacio de memoria intermedia 313 de la memoria flash 310 en el modo SLC y se proceda a escribir los datos en el espacio de almacenamiento 315 de la memoria flash 310 en el modo TLC. La memoria flash 310 puede asignar un tamaño predeterminado de su espacio vacío (p. ej., espacio sin datos) como espacio de memoria intermedia 313 para almacenar los datos en el modo SLC y escribir los datos en el espacio de almacenamiento 315 de la memoria flash 310 en el modo TLC. Los datos escritos en el espacio de almacenamiento 315 pueden borrarse del espacio de memoria intermedia 313. Por ejemplo, los datos que se reciben del procesador de aplicación 200 se escriben primero en el espacio de memoria intermedia escribible a alta velocidad 313 que tiene un tamaño predeterminado, que se toma prestado del espacio vacío de la memoria flash 310, en el modo SLC y luego se reescriben secundariamente en el espacio de almacenamiento 315 de la memoria flash 310 en el modo TLC. Dado que la operación de reescribir los datos en el modo TLC es una operación intramemoria transparente para el procesador de aplicaciones 200, es probable que la percepción de un usuario sea que se ha mejorado la velocidad de almacenamiento. De acuerdo con diversas realizaciones, el modo de almacenamiento de datos de alta velocidad puede incluir el modo de escritura turbo de almacenamiento flash universal (UFS) 3.1 del estándar del consejo conjunto de ingeniería de dispositivos electrónicos (JEDEC). La operación de escritura de los datos almacenados en el espacio de memoria intermedia 313 de la memoria flash 310 puede ser una operación de descarga (u operación de migración) del modo de escritura turbo UFS 3.1.
De acuerdo con diversas realizaciones, el procesador de aplicación 200 envía una entrada/salida (E/S) de escritura de datos o una E/S de escritura de memoria (en adelante en la presente memoria, denominada "solicitud de escritura") para almacenar datos en el almacenamiento 300 a través del controlador huésped de almacenamiento 231 del controlador 230.
De acuerdo con diversas realizaciones, el controlador del dispositivo de almacenamiento 320 del almacenamiento 300 puede controlar la memoria flash 310 para almacenar los datos en el espacio de memoria intermedia 313 tras la recepción de la solicitud de escritura de datos del procesador de aplicación 200. Por ejemplo, el controlador del dispositivo de almacenamiento 320 puede escribir los datos en el espacio de memoria intermedia 313 de la memoria flash 310 en el modo SLC.
De acuerdo con diversas realizaciones, el almacenamiento puede realizar una operación de descarga como una operación de reescritura de los datos almacenados en el espacio de memoria intermedia 313 de la memoria flash 310 en el espacio de almacenamiento 315 de la memoria flash 310 bajo el control del controlador del dispositivo de almacenamiento 320. Por ejemplo, el almacenamiento 300 puede escribir al menos parte de los datos almacenados en el espacio de memoria intermedia 313 de la memoria flash 310 en el espacio de almacenamiento 315 de la memoria flash 310 en el modo TLC (o modo MLC o QLC) y borrar los datos escritos en el espacio de almacenamiento 315 del espacio de memoria intermedia 313. Aunque el espacio de memoria intermedia 313 y el espacio de almacenamiento 315 se distinguen entre sí en la memoria flash 310 para facilitar la explicación, los espacios de memoria intermedia y de almacenamiento se distinguen simplemente de forma lógica en un espacio de almacenamiento físicamente idéntico (mixto).
De acuerdo con diversas realizaciones, el almacenamiento 300 puede enviar al procesador de aplicación 200 una señal de respuesta indicando que los datos han sido completamente almacenados.
En el caso de que el almacenamiento 300 realice la operación de descarga de forma autónoma, el procesador de aplicación 200 no puede verificar un estado de progreso de la operación de descarga y el consumo de corriente eléctrica causado por la operación de reescritura de datos, lo que puede provocar una degradación del rendimiento del dispositivo electrónico 101.
La Figura 4 es un diagrama que ilustra un ejemplo de procedimiento de descarga de un dispositivo electrónico que funciona en un modo de almacenamiento de datos de alta velocidad, utilizando un esquema de almacenamiento de datos de baja densidad y un esquema de almacenamiento de datos de alta densidad de forma escalonada, de acuerdo con diversas realizaciones.
Con referencia a la FIG. 4, el procesador de aplicación 200 envía al almacenamiento 300 un comando de control que proporciona instrucciones para la activación de una función de operación de descarga o la realización de una operación de descarga durante un período de tiempo predeterminado. De acuerdo con diversas realizaciones, el almacenamiento 300 puede realizar la operación de descarga con base en la orden de control.
De acuerdo con diversas realizaciones, el procesador de aplicación 200 controla el almacenamiento 300 para realizar la operación de descarga de la memoria flash 310 mientras la interfaz de almacenamiento 240 (véase, por ejemplo, FIG. 2) del procesador de aplicación 200 está en modo de reposo. De acuerdo con diversas realizaciones, la interfaz de almacenamiento 240 del procesador de aplicación 200 y la interfaz de almacenamiento 330 del almacenamiento 300 pueden operar en el mismo estado de operación bajo el control del procesador de aplicación 200. Por ejemplo, el procesador de aplicación 200 puede controlar la interfaz de almacenamiento 240 del procesador de aplicación 200 y la interfaz de almacenamiento 330 (véase, por ejemplo, la FIG. 2) de la memoria 300 para que opere en modo de suspensión. De acuerdo con diversas realizaciones, la interfaz de almacenamiento 330 del almacenamiento 300 puede operar en uno de varios estados de funcionamiento. De acuerdo con diversas realizaciones, la interfaz de almacenamiento puede operar en uno de los diversos estados de funcionamiento correspondientes a los de la interfaz de enlace. Por ejemplo, la interfaz de almacenamiento 330 puede operar, por ejemplo, en uno de los diversos estados unipro definidos por la Alianza MIPI.
De acuerdo con diversas realizaciones, si no se genera una petición de datos (como una nueva petición de escritura de datos, una petición de lectura de datos y una petición de borrado de datos) al almacenamiento 300 durante un periodo de tiempo predeterminado (por ejemplo, 10 ms), el procesador de aplicación 200 envía al almacenamiento un comando de control que proporciona instrucciones para entrar en un primer estado. Tras la recepción del comando de control, la interfaz de almacenamiento 330 puede entrar en el primer estado. Por ejemplo, el primer estado de la interfaz de almacenamiento 330 puede ser, por ejemplo, un estado de hibernación entre los estados unipro definidos por la Alianza MIPI. El estado de hibernación de la interfaz de almacenamiento 330 es entonces un estado en el que la interfaz de almacenamiento 330 opera en el modo de suspensión.
De acuerdo con diversas realizaciones, si se recibe una solicitud de escritura de datos para almacenar datos en el almacenamiento 300 desde el procesador de aplicación 200, la interfaz de almacenamiento 330 entra en un segundo estado en el que se realiza una operación de escritura de datos en respuesta a la solicitud de escritura de datos recibida desde el procesador de aplicación 200. Por ejemplo, el segundo estado de la interfaz de almacenamiento 330 puede ser, por ejemplo, un estado de enlace entre los estados unipro definidos por la Alianza MIPI. La corriente eléctrica que se consume en el estado de hibernación (por ejemplo, por debajo de 1 mA) es una centésima parte de la corriente eléctrica que se consume en el procesamiento de la solicitud de escritura de datos en el estado de enlace (por ejemplo, 300 mA ~ 500 mA).
De acuerdo con diversas realizaciones, el almacenamiento 300 realiza la operación de descarga de la memoria flash 310 mientras la interfaz de almacenamiento 330 está funcionando en el primer estado. Por ejemplo, la operación de descarga puede realizarse de tal forma que se escriban los datos almacenados en el espacio de memoria intermedia 313 de la memoria flash 310 en el espacio de almacenamiento 315 de dicha memoria. Por ejemplo, la operación de descarga puede incluir una operación de reubicación de datos que se realiza de tal manera de escribir al menos parte de los datos almacenados en el espacio de memoria intermedia 313 en el espacio de almacenamiento 315 y borrar los datos escritos en el espacio de almacenamiento 315 desde el espacio de memoria intermedia 313. Para que la memoria flash 310 realice la operación de descarga mientras la interfaz de almacenamiento 330 funciona en el primer estado, la memoria flash 310 debe recibir alimentación durante la operación de descarga.
El procesador de aplicación 200 controla el almacenamiento 300 para activar una función de realización de la operación de descarga mientras la interfaz de almacenamiento 330 del almacenamiento 300 está funcionando en el primer estado. Tras la activación de la función, el almacenamiento 300 puede realizar la operación de descarga de la memoria flash 310 siempre que la interfaz de almacenamiento 330 se encuentre en el primer estado. Por ejemplo, el almacenamiento 300 puede realizar la operación de descarga de la memoria flash 310 durante un periodo de tiempo desde que se entra en el primer estado hasta que se despierta del primer estado. De acuerdo con diversas realizaciones, el procesador de aplicación 200 puede controlar el módulo de gestión de energía para suministrar energía desde una batería a la memoria flash 310 durante la operación de descarga de la memoria flash 310 que se realiza mientras la interfaz de almacenamiento 330 está en el primer estado.
De acuerdo con diversas realizaciones, si se genera la nueva solicitud de escritura de datos, el procesador de aplicación 200 envía al almacenamiento 300 un comando de control que proporciona instrucciones para una transición del primer estado al segundo estado. Por ejemplo, al recibir el comando de control, el almacenamiento 300 puede detener la operación de descarga y controlar la interfaz de almacenamiento para que pase del primer estado al segundo. Por ejemplo, el almacenamiento 300 puede controlar la interfaz de almacenamiento 330 para que entre en el segundo estado en un tiempo predeterminado (por ejemplo, 5 ms) después de la recepción del comando de control para evitar que se retrase el procesamiento de la nueva solicitud de escritura de datos.
De acuerdo con diversas realizaciones, el almacenamiento 300 puede determinar si la función de realizar la operación de descarga de la memoria flash 310 se activa mientras la interfaz de almacenamiento 330 está operando en el primer estado siempre que la interfaz de almacenamiento 330 entre en el primer estado. De acuerdo con diversas realizaciones, el almacenamiento 300 realiza la operación de descarga de la memoria flash 310 tras la activación de la función correspondiente mientras la interfaz de almacenamiento 330 está operando en el primer estado.
De acuerdo con diversas realizaciones, el procesador de aplicación 200 puede controlar el almacenamiento 300 de tal manera que la memoria flash 310 detiene la operación de descarga y la interfaz de almacenamiento entra en el segundo estado tras la generación de la nueva solicitud de escritura de datos durante la operación de descarga de la memoria flash 310 del almacenamiento 300.
De acuerdo con diversas realizaciones, el procesador de aplicación 200 puede determinar si parte del espacio de almacenamiento 315 de la memoria flash 310 está asignado como el espacio de memoria intermedia 313 para almacenar datos en el modo SLC para verificar si el almacenamiento 300 admite el modo de almacenamiento de datos de alta velocidad.
De acuerdo con diversas realizaciones, el procesador de aplicación 200 puede inicializar la memoria flash 310 del almacenamiento 300 al detectar el encendido del dispositivo electrónico y determinar si el almacenamiento 300 soporta el modo de almacenamiento de datos de alta velocidad explotando (por ejemplo, utilizando) el espacio de memoria intermedia 313 de la memoria flash al detectar la finalización de la inicialización de la memoria flash 310. El procesador de aplicación 200 puede inicializar la memoria flash 310 del almacenamiento 300 al detectar el encendido del dispositivo electrónico y determinar si el almacenamiento 300 soporta el modo de almacenamiento de datos de alta velocidad explotando (por ejemplo, utilizando) el espacio de memoria intermedia 313 de la memoria flash. de acuerdo con diversas realizaciones, el procesador de aplicación 200 puede inicializar al menos parte de los ajustes del almacenamiento 300 al detectar una transición del dispositivo electrónico 101 de un modo de ahorro de energía a un modo normal (p. ej., reanudación o reactivación) (o salida del modo de ahorro de energía del dispositivo electrónico 101) y determinar si el almacenamiento 300 admite el modo de almacenamiento de datos de alta velocidad explotando (p. ej., utilizando) el espacio de memoria intermedia 313 de la memoria flash 310 al detectar la finalización de la inicialización.
De acuerdo con diversas realizaciones, en el caso en el que la operación de descarga de la memoria flash 310 se realiza en el primer estado (por ejemplo, estado de hibernación) en el que no se genera ninguna solicitud de escritura de datos, la operación de descarga no se solapa con ninguna operación de procesamiento de solicitud de escritura de datos, lo que puede referirse, por ejemplo, a que no se produce ningún retraso en el procesamiento de la solicitud de escritura de datos y hace posible asegurar el tiempo para realizar la operación de descarga, lo que conduce a un aumento de la capacidad disponible para el espacio de memoria intermedia 313 de la memoria flash 310.
De acuerdo con diversas realizaciones, el procesador de aplicación 200 puede controlar el almacenamiento 300 para realizar la operación de descarga de la memoria flash 310 cuando el dispositivo electrónico 101 realiza una operación de ahorro de energía para el almacenamiento durante un procedimiento para entrar en el modo de ahorro de energía. El procedimiento para entrar en el modo de ahorro de energía del dispositivo electrónico 101 puede incluir un procedimiento para realizar tareas de ahorro de energía para componentes individuales (por ejemplo, pantalla táctil y circuito de comunicación) del dispositivo electrónico 101 en un comando predeterminado para que el dispositivo electrónico 101 entre en el modo de ahorro de energía.
De acuerdo con diversas realizaciones, si no hay ninguna tarea que realizar, el dispositivo electrónico 101 puede apagar la pantalla de visualización para entrar en el modo de ahorro de energía (por ejemplo, modo suspendido o modo de suspensión). Por ejemplo, si no hay ninguna señal de entrada durante un periodo de tiempo predeterminado o se pulsa un botón de apagado para apagar la pantalla táctil, el dispositivo electrónico 101 puede iniciar el procedimiento para entrar en el modo de ahorro de energía. Si se crea una nueva tarea (por ejemplo, si se pulsa un botón de encendido para encender la pantalla o se recibe un mensaje) en el transcurso del procedimiento de entrada en el modo de ahorro de energía, el dispositivo electrónico 101 puede detener el procedimiento de entrada en el modo de ahorro de energía y despertarse.
De acuerdo con diversas realizaciones, el procedimiento para que el dispositivo electrónico 101 entre en el modo de ahorro de energía puede incluir operaciones de ahorro de energía para los componentes individuales (por ejemplo, cámara, almacenamiento 300, pantalla táctil, altavoz y módulo de comunicación) que están conectados operativamente con el procesador de aplicación 200. Los ejemplos de las operaciones de ahorro de energía para los componentes pueden incluir las operaciones de apagar energías y relojes de los componentes correspondientes y otras operaciones subordinadas. Tras completar las operaciones de ahorro de energía para todos los componentes que están conectados operativamente con el procesador de aplicación 200, el procesador de aplicación 200 también puede realizar su propia operación de ahorro de energía para completar el procedimiento de entrada en modo de ahorro de energía del dispositivo electrónico 101. En el estado en el que al menos una de las operaciones de ahorro de energía del procedimiento de entrada en el modo de ahorro de energía está incompleta, el dispositivo electrónico 101 no puede entrar en el modo de ahorro de energía y tiene que reanudar de nuevo el procedimiento de entrada en el modo de ahorro de energía.
De acuerdo con diversas realizaciones, tras la detección del inicio de la operación de ahorro de energía para el almacenamiento 300 en el procedimiento de entrada en modo de ahorro de energía en el que las operaciones de ahorro de energía para los componentes individuales (por ejemplo, pantalla táctil y circuito de comunicación) del dispositivo electrónico 101 se realizan en orden, el procesador de aplicación 200 puede determinar si el almacenamiento 300 admite el modo de almacenamiento de datos de alta velocidad. La operación de ahorro de energía para el almacenamiento 300 puede realizarse a través del controlador de almacenamiento 220 del procesador de aplicaciones 200.
De acuerdo con diversas realizaciones, si se determina que el almacenamiento 300 admite el modo de almacenamiento de datos a alta velocidad, el procesador de aplicación 200 puede verificar la capacidad disponible del espacio de memoria intermedia 313 de la memoria flash 310. Por ejemplo, el espacio de memoria intermedia 313 de la memoria flash 310 puede ser un espacio de almacenamiento temporal en el que se almacenan datos en el modo SLC.
De acuerdo con diversas realizaciones, el procesador de aplicación 200 puede establecer un periodo de tiempo para realizar la operación de descarga de la memoria flash 310 con base en la capacidad disponible del espacio de memoria intermedia 313. De acuerdo con diversas realizaciones, el procesador de aplicaciones 200 puede determinar si terminar la operación de ahorro de energía para el almacenamiento 300 con base en la capacidad disponible del espacio de memoria intermedia 313.
De acuerdo con diversas realizaciones, si se determina que la capacidad disponible del espacio de memoria intermedia 313 de la memoria flash 310 es igual o inferior a un primer umbral (por ejemplo, igual o inferior al 30 % de la cantidad total del espacio de memoria intermedia 313), el procesador de aplicación 200 puede determinar controlar el almacenamiento 300 para realizar la operación de descarga durante un primer periodo de tiempo (por ejemplo, 500 ms). Por ejemplo, suponiendo que el dispositivo electrónico 101 termina y reanuda el procedimiento de entrada en modo de ahorro de energía, el primer periodo de tiempo puede referirse, por ejemplo, al periodo de tiempo máximo para la operación de descarga sin afectar a la operación de reanudación del procedimiento de entrada en modo de ahorro de energía. De acuerdo con diversas realizaciones, el procesador de aplicación 200 puede realizar un control para detener la operación de ahorro de energía para el almacenamiento (sin que se haya completado) y reanudar el procedimiento de entrada en modo de ahorro de energía del dispositivo electrónico 101 después de que el almacenamiento 300 haya realizado la operación de descarga de la memoria flash 310 durante el primer periodo de tiempo.
De acuerdo con diversas realizaciones, si se determina que la capacidad disponible del espacio de memoria intermedia 313 de la memoria flash 310 es superior al primer umbral e igual o inferior a un segundo umbral (por ejemplo, superior al 30 % e igual o inferior al 80 % de la capacidad total del espacio de memoria intermedia 313), el procesador de aplicación 200 puede determinar controlar el almacenamiento 300 para realizar la operación de descarga durante un segundo periodo de tiempo (por ejemplo, 200 ms). El segundo periodo de tiempo puede ser más corto que el primero. De acuerdo con diversas realizaciones, el procesador de aplicación 200 puede completar la operación de ahorro de energía para el almacenamiento 300 después de la expiración del segundo periodo de tiempo, por ejemplo, después de que el almacenamiento 300 realice la operación de descarga de la memoria flash 310 durante el segundo periodo de tiempo. El procesador de aplicaciones 200 puede realizar las operaciones de ahorro de energía para otros componentes (por ejemplo, pantalla y cámara) del dispositivo electrónico 101 para completar el procedimiento de entrada en modo de ahorro de energía del dispositivo electrónico 101.
De acuerdo con diversas realizaciones, si se determina que la capacidad disponible del espacio de memoria intermedia 313 de la memoria flash 310 es mayor que el segundo umbral (por ejemplo, por encima del 80 % de la capacidad total del espacio de memoria intermedia 313), el procesador de aplicación 200 puede determinar controlar el almacenamiento 300 para suspender la operación de descarga (establecer el periodo de tiempo para la operación de descarga en 0) y completar la operación de ahorro de energía para el almacenamiento 300 inmediatamente. El procesador de aplicación 200 puede realizar las operaciones de ahorro de energía para otros componentes del dispositivo electrónico 101 que aún no se hayan realizado.
De acuerdo con diversas realizaciones, el procesador de aplicación 200 puede controlar el módulo de gestión de energía para suministrar energía desde la batería a la memoria flash 310 mientras el almacenamiento 300 está realizando la operación de descarga de la memoria flash 310.
De acuerdo con diversas realizaciones, el procesador de aplicación 200 puede realizar un control de tal manera que una petición de datos, incluyendo una nueva petición de escritura de datos, una petición de lectura de datos, o una petición de borrado de datos, no se envíe al almacenamiento 300 mientras el almacenamiento 300 está realizando la operación de descarga de la memoria flash 310. La memoria flash 310 se puede utilizar para realizar una operación de descarga de datos.
De acuerdo con diversas realizaciones, tras la detección de una nueva tarea generada en el dispositivo electrónico 101 mientras el almacenamiento 300 está realizando la operación de descarga de la memoria flash 310, el procesador de aplicación 200 puede controlar el almacenamiento 300 para detener la operación de descarga de la memoria flash 310 y reanudar el procedimiento de entrada en modo de ahorro de energía del dispositivo electrónico 101 sin completar la operación de ahorro de energía para el almacenamiento 300.
De acuerdo con diversas realizaciones, si se determina que es necesaria una operación de descarga adicional después de completar la operación de descarga de la memoria flash 310 durante un periodo de tiempo predeterminado en el curso de la realización de la operación de ahorro de energía para el almacenamiento 300 entre las operaciones de ahorro de energía para los componentes (por ejemplo, pantalla táctil y circuito de comunicación) del dispositivo electrónico 101 en el modo de ahorro de energía, se puede reanudar un procedimiento de entrada en modo de espera sin completar las operaciones de ahorro de energía, lo que hace posible que el almacenamiento 300 realice la operación de descarga de la memoria flash 313 repetidamente. De acuerdo con diversas realizaciones, el procesador de aplicación 200 es capaz de controlar el almacenamiento 300 para realizar la operación de descarga de la memoria flash 310 repetidamente antes de que el dispositivo electrónico 101 entre en el modo de espera, lo que conduce a un aumento de la capacidad disponible del espacio de memoria intermedia 313 de la memoria flash 310.
La Figura 5 es un diagrama de bloques que ilustra un ejemplo de configuración de un dispositivo electrónico de acuerdo con diversas realizaciones.
Con referencia a la FIG. 5, el dispositivo electrónico 101 puede incluir además un módulo de gestión de potencia (circuito integrado de gestión de potencia [PMIC]) 500 (por ejemplo, el módulo de gestión de potencia 188 de la FIG.
1) y una batería (no mostrada) (por ejemplo, la batería 189 en la FIG. 1).
De acuerdo con diversas realizaciones, el módulo de gestión de energía 500 puede gestionar el suministro de energía a los componentes del dispositivo electrónico 101 bajo el control del procesador de aplicación 200. De acuerdo con diversas realizaciones, la batería puede suministrar energía a los componentes del dispositivo electrónico 101.
De acuerdo con diversas realizaciones, el módulo de gestión de potencia 500 puede gestionar la potencia (por ejemplo, VCCQ y VCC) que se suministra al controlador de dispositivo de almacenamiento 320 y a la memoria flash 310 del almacenamiento 300.
De acuerdo con diversas realizaciones, el procesador de aplicación 200 puede enviar al PMIC 500 un comando de control de suministro de energía. Por ejemplo, el controlador de almacenamiento 220 puede enviar al PMIC 500 el comando de control de suministro de energía a través de un controlador de interfaz PMIC 233 del controlador 230. De acuerdo con diversas realizaciones, el controlador de interfaz PMIC 233 puede ser un componente incluido en el controlador 230 de la FIG. 2.
De acuerdo con diversas realizaciones, en el caso en que la interfaz de almacenamiento 330 del almacenamiento 300 se encuentre en el primer estado (por ejemplo, estado de hibernación), el PMIC 500 puede suministrar energía al controlador del dispositivo de almacenamiento 320 bajo el control del procesador de aplicación 200. De acuerdo con diversas realizaciones, en el caso en que la interfaz de almacenamiento 330 del almacenamiento 300 se encuentre en el primer estado, el PMIC 500 puede suministrar o no suministrar alimentación a la memoria flash 310.
De acuerdo con diversas realizaciones, en el caso en que el almacenamiento 300 realiza la operación de descarga de la memoria flash 310 mientras la interfaz de almacenamiento 330 está en el primer estado, el PMIC 500 puede suministrar alimentación a la memoria flash 310. El PMIC 500 puede suministrar alimentación a la memoria flash 310 mientras la interfaz de almacenamiento 330 está en el primer estado. Por ejemplo, en el caso de que el almacenamiento 300 active una función para realizar la operación de descarga de la memoria flash 310 mientras la interfaz de almacenamiento 330 está en el primer estado, el PMIC 500 puede continuar suministrando energía a la memoria flash 310 incluso cuando la interfaz de almacenamiento 330 está en el primer estado.
La Figura 6 es un diagrama de flujo de señales que ilustra ejemplos de flujos de señales entre un procesador de aplicaciones y un almacenamiento en un dispositivo electrónico de acuerdo con diversas realizaciones.
Con referencia al diagrama de flujo de señal 600 de la FIG. 6, el procesador de aplicación 200 confirma en la operación 601 si el almacenamiento 300 admite un modo de almacenamiento de datos de alta velocidad. Por ejemplo, el procesador de aplicación 200 confirma si la memoria flash 310 del almacenamiento 300 tiene el espacio de memoria intermedia 313 asignado para el modo de almacenamiento de datos de alta velocidad.
De acuerdo con diversas realizaciones, el procesador de aplicación 200 puede determinar si el almacenamiento 300 admite el modo de almacenamiento de datos de alta velocidad cuando el dispositivo electrónico 101 se enciende o pasa del modo de ahorro de energía al modo normal (por ejemplo, se reanuda, se despierta o sale del modo de ahorro de energía). De acuerdo con diversas realizaciones, el procesador de aplicación 200 puede inicializar al menos parte de los ajustes del almacenamiento 300, cuando el dispositivo electrónico 101 se enciende o sale del modo de ahorro de energía, y determinar si el almacenamiento 300 admite el modo de almacenamiento de datos de alta velocidad para el uso del espacio de memoria intermedia 313 de la memoria flash tras la detección de la finalización de la inicialización del almacenamiento 300.
De acuerdo con diversas realizaciones, el almacenamiento 300 puede enviar, en la operación 603, al procesador de aplicación 200 una señal de respuesta indicando si el almacenamiento 300 admite el modo de almacenamiento de datos de alta velocidad. Por ejemplo, si parte del espacio de almacenamiento 315 de la memoria flash 310 del almacenamiento 300 se asigna como espacio de memoria intermedia 313 para el modo de almacenamiento de datos de alta velocidad, el almacenamiento 300 puede enviar al procesador de aplicación 200 la señal de respuesta que incluye información que indica que admite el modo de almacenamiento de datos de alta velocidad.
El procesador de aplicación 200 envía, en la operación 605, al almacenamiento 300 un comando de control que proporciona instrucciones para la activación de una función para que el almacenamiento 300 realice la operación de descarga de la memoria flash con base en que el modo de almacenamiento de datos de alta velocidad es compatible con el almacenamiento 300. Por ejemplo, la operación de descarga puede realizarse de tal forma que se escriba al menos parte de los datos, que se han almacenado en el espacio de memoria intermedia 313 de la memoria flash 310 en el modo SLC, en el espacio de almacenamiento 315 de la memoria flash 310 en el modo TLC y se borren los datos escritos en el espacio de almacenamiento 315 desde el espacio de memoria intermedia 313 de la memoria flash 310 en el almacenamiento 300.
De acuerdo con diversas realizaciones, el procesador de aplicación 200 puede enviar al almacenamiento 300 un comando de control para que el almacenamiento 300 realice la operación de descarga de la memoria flash 310 mientras la interfaz de almacenamiento 330 del almacenamiento está operando en el primer estado, cuando el dispositivo electrónico 101 se enciende o realiza la transición del modo de ahorro de energía al modo normal (por ejemplo, se reanuda, se despierta o sale del modo de ahorro de energía).
De acuerdo con diversas realizaciones, el almacenamiento 300 puede activar, en la operación 607, la función de realizar la operación de descarga de la memoria flash 310 mientras la interfaz de almacenamiento 330 está operando en el primer estado tras la recepción del comando de control. El primer estado de la interfaz de almacenamiento 330 es un estado en el que la interfaz de almacenamiento 330 funciona en modo de suspensión. Por ejemplo, el primer estado puede ser el estado de hibernación definido por la Alianza MIPI.
De acuerdo con diversas realizaciones, el almacenamiento 300 puede enviar, en la operación 609, al procesador de aplicación 200 una señal de respuesta que incluye información indicativa de la activación de la función de realizar la operación de descarga de la memoria flash 310 mientras la interfaz de almacenamiento 330 está operando en el primer estado. De acuerdo con diversas realizaciones, se puede omitir la operación 609.
De acuerdo con diversas realizaciones, el procesador de aplicación 200 puede supervisar, en la operación 611, la ocurrencia de una petición de datos (por ejemplo, petición de escritura de datos, petición de lectura de datos, o petición de borrado de datos) para ser enviada al almacenamiento 300. Por ejemplo, el procesador de aplicaciones 200 puede verificar periódicamente si hay un número de solicitudes de escritura de datos que se hayan producido recientemente.
De acuerdo con diversas realizaciones, el almacenamiento 300 puede dejar que la interfaz de almacenamiento 300 opere en el segundo estado en la operación 613. Por ejemplo, la interfaz de almacenamiento 330 puede estar en el estado que permite al almacenamiento 300 recibir la solicitud de escritura de datos del procesador de aplicación 200 y realizar una operación de escritura de datos. El segundo estado puede ser el estado de enlace definido por la Alianza MIPI.
El procesador de aplicación 200 envía, en la operación 615, al almacenamiento 300 un comando de control que proporciona instrucciones para la transición de la interfaz de almacenamiento 330 al primer estado tras la expiración de un periodo de tiempo predeterminado durante el cual no se produce ninguna solicitud de escritura que deba enviarse al almacenamiento 300 mientras la interfaz de almacenamiento 330 del almacenamiento 300 opera en el segundo estado.
De acuerdo con diversas realizaciones, el almacenamiento 300 puede controlar, en la operación 617, la interfaz de almacenamiento 330 para entrar en el primer estado en respuesta a la recepción del comando de control.
De acuerdo con diversas realizaciones, si la interfaz de almacenamiento 330 entra en el primer estado, el almacenamiento 300 puede determinar en la operación 619 si la función de realizar la operación de descarga de la memoria flash 310 está activada durante la duración durante la cual la interfaz de almacenamiento 330 está operando en el primer estado.
El almacenamiento 300 realiza, en la operación 621, la operación de descarga de la memoria flash 310 mientras la interfaz de almacenamiento 330 está en el primer estado, después de que se active la función de realizar la operación de descarga de la memoria flash 310 durante el tiempo en que la interfaz de almacenamiento 330 está en el primer estado.
La Figura 7 es un diagrama de flujo que ilustra operaciones de ejemplo del procesador de aplicación 200 del dispositivo electrónico 101 de acuerdo con diversas realizaciones.
Con referencia al diagrama de flujo 700 de la FIG. 7, el procesador de aplicación 200 determina en la operación 710 si el almacenamiento 300 admite el modo de almacenamiento de datos de alta velocidad explotando (por ejemplo, utilizando) el espacio de memoria intermedia 313 de la memoria flash 310. La memoria flash 310 es una memoria no volátil (por ejemplo, la memoria no volátil 134 en la FIG. 1).
De acuerdo con diversas realizaciones, el procesador de aplicación 200 controla, en la operación 720, el almacenamiento 300 para activar una función de realización de la operación de descarga de la memoria flash 310 mientras la interfaz de almacenamiento 330 está operando en el primer estado. Por ejemplo, la operación de descarga puede realizarse de tal forma que se escriba al menos parte de los datos, que se han almacenado en el espacio de memoria intermedia 313 de la memoria flash 310 en el modo SLC, en el espacio de almacenamiento 315 de la memoria flash 310 en el modo TLC y se borren los datos escritos en el espacio de almacenamiento 315 desde el espacio de memoria intermedia 313 de la memoria flash 310 en el almacenamiento 300.
De acuerdo con diversas realizaciones, el procesador de aplicación 200 controla, en la operación 730, el almacenamiento 300 de tal manera que la interfaz de almacenamiento 330 entra en el primer estado al expirar un periodo de tiempo predeterminado durante el cual no se produce ninguna petición de datos (por ejemplo, petición de escritura de datos, petición de lectura de datos, o petición de borrado de datos) para ser enviada al almacenamiento 300 mientras la interfaz de almacenamiento 330 del almacenamiento 300 está operando en el segundo estado.
La Figura 8 es un diagrama que ilustra ejemplos de operaciones de un procesador de aplicaciones de un dispositivo electrónico de acuerdo con diversas realizaciones. Las descripciones detalladas que se superponen con las realizadas con referencia a las FIGS. 6 y 7 pueden no repetirse aquí.
Con referencia al diagrama de flujo 800 de la FIG. 8, el procesador de aplicación 200 puede encender el dispositivo electrónico 101 en la operación 801.
De acuerdo con diversas realizaciones, el procesador de aplicación 200 puede controlar, en la operación 803, el almacenamiento 300 para inicializar la memoria flash 310 al encender el dispositivo electrónico 101. Por ejemplo, la memoria flash 310 puede ser una memoria no volátil (por ejemplo, la memoria no volátil 134 en la FIG. 1). De acuerdo con diversas realizaciones, el procesador de aplicaciones 200 puede inicializar al menos parte de la configuración del almacenamiento 300 cuando el dispositivo electrónico sale del modo de ahorro de energía.
De acuerdo con diversas realizaciones, el procesador de aplicación 200 puede determinar en la operación 805 si el almacenamiento 300 admite el modo de almacenamiento de datos de alta velocidad explotando (por ej., utilizando) el espacio de memoria intermedia 313 de la memoria flash 310 una vez completada la inicialización de la memoria flash 310.
Si se determina en la operación 805 que el almacenamiento 300 admite el modo de almacenamiento de datos de alta velocidad ("Sí" en la operación 805), el procedimiento pasa a la operación 807 en la que el procesador de aplicación 200 controla el almacenamiento 300 para activar la función de realizar la operación de descarga durante la duración en la cual la interfaz de almacenamiento 330 está operando en el primer estado. Si se determina que el almacenamiento 300 no admite el modo de almacenamiento de datos de alta velocidad ("No" en la operación 805), el procedimiento finaliza.
De acuerdo con diversas realizaciones, el procesador de aplicación 200 puede supervisar, en la operación 809, la ocurrencia (por ejemplo, generación) de una petición de datos (por ejemplo, petición de escritura de datos, petición de lectura de datos, o petición de borrado de datos). Por ejemplo, el procesador de aplicaciones 200 puede verificar periódicamente si hay un número de solicitudes de escritura de datos que se hayan producido recientemente.
De acuerdo con diversas realizaciones, el procesador de aplicación 200 puede determinar en la operación 811 si una nueva petición de datos a enviar al almacenamiento 300 ocurre durante un periodo durante el cual la interfaz de almacenamiento 330 está operando en el segundo estado.
Si se determina que se produce una nueva solicitud de datos durante el periodo predeterminado ("Sí" en la operación 811), el procedimiento vuelve a la operación 809. Si se determina que se produce una nueva solicitud de datos, el procesador de aplicaciones 200 puede enviar la solicitud de datos al almacenamiento 300.
De acuerdo con diversas realizaciones, si se determina en la operación 811 que no se produce ninguna nueva petición de datos (por ejemplo, petición de escritura, petición de lectura o petición de borrado) para ser enviada al almacenamiento 300 durante el periodo predeterminado ("No" en la operación 811), el procedimiento pasa a la operación 813 en la que el procesador de aplicación 200 puede controlar el almacenamiento 300 de tal manera que la interfaz de almacenamiento 330 entra en el primer estado.
La Figura 9 es un diagrama que ilustra ejemplos de operaciones de ahorro de energía para componentes de un dispositivo electrónico en un procedimiento de entrada en modo de ahorro de energía de acuerdo con diversas realizaciones.
Con referencia a la FIG. 9, el dispositivo electrónico 101 puede incluir un procesador de aplicaciones 200, un almacenamiento 300, una cámara 910, una pantalla LCD 920, un altavoz 930, una pantalla táctil 940, un circuito de comunicación 950 y/o una interfaz USB 960.
De acuerdo con diversas realizaciones, el procesador de aplicación 200 puede controlar el almacenamiento 300 para realizar la operación de descarga de la memoria flash 310 cuando la operación de ahorro de energía para el almacenamiento 300 se realiza en el curso del procedimiento de entrada en modo de ahorro de energía del dispositivo electrónico 101. El procedimiento de entrada en el modo de ahorro de energía puede ser un procedimiento para que el dispositivo electrónico 101 entre en el modo de ahorro de energía de tal manera de realizar las operaciones de ahorro de energía para los componentes del dispositivo electrónico 101 en un orden predeterminado.
De acuerdo con diversas realizaciones, si no hay ninguna tarea que realizar, el dispositivo electrónico 101 puede apagar la pantalla de visualización para entrar en el modo de ahorro de energía (por ejemplo, modo suspendido o modo de suspensión). Por ejemplo, si no hay ninguna señal de entrada durante un periodo de tiempo predeterminado o se pulsa un botón de apagado para apagar la pantalla táctil, el dispositivo electrónico 101 puede iniciar el procedimiento para entrar en el modo de ahorro de energía. Si se crea una nueva tarea (por ejemplo, si se pulsa un botón de encendido para encender la pantalla o se recibe un mensaje) en el transcurso del procedimiento para entrar en el modo de ahorro de energía, el dispositivo electrónico 101 puede detener el procedimiento para entrar en el modo de ahorro de energía y despertarse.
De acuerdo con diversas realizaciones, el procedimiento para que el dispositivo electrónico 101 entre en el modo de ahorro de energía puede incluir operaciones de ahorro de energía para los componentes individuales que están conectados operativamente con el procesador de aplicación 200. Ejemplos de las operaciones de ahorro de energía para los componentes pueden incluir las operaciones de apagar energías y relojes a los componentes correspondientes y otras operaciones subordinadas. Después de completar las operaciones de ahorro de energía para todos los componentes que están conectados operativamente con el procesador de aplicación 200, el procesador de aplicación 200 también puede realizar su propia operación de ahorro de energía para completar el procedimiento de entrada en modo de ahorro de energía del dispositivo electrónico 101. En el estado en el que al menos una de las operaciones de ahorro de energía del procedimiento de entrada en el modo de ahorro de energía está incompleta, el dispositivo electrónico 101 no puede entrar en el modo de ahorro de energía y tiene que empezar de nuevo el procedimiento de entrada en el modo de ahorro de energía.
Por ejemplo, en el caso de que el procedimiento de entrada en modo de ahorro de energía del dispositivo electrónico 101 esté configurado para realizar las operaciones de ahorro de energía para el almacenamiento 300, la cámara 910, la pantalla LCD 920, el altavoz 930, la pantalla táctil 940, el circuito de comunicación 950, la interfaz USB 960 y el procesador de aplicaciones 200 en orden, si la operación de ahorro de energía para el almacenamiento 300 está incompleta, la operación de ahorro de energía para la cámara 910 no puede iniciarse, lo que puede hacer que el dispositivo electrónico 101 reanude de nuevo el procedimiento de entrada en modo de ahorro de energía.
De acuerdo con diversas realizaciones, tras la detección del inicio de la operación de ahorro de energía para el almacenamiento 300 en el curso del procedimiento de entrada en modo de ahorro de energía en el que las operaciones de ahorro de energía para los componentes individuales del dispositivo electrónico 101 se realizan en orden, el procesador de aplicación 200 puede determinar si el almacenamiento 300 admite el modo de almacenamiento de datos de alta velocidad.
La Figura 10 es un diagrama de flujo de señales que ilustra ejemplos de flujos de señales entre un procesador de aplicaciones y un almacenamiento en un dispositivo electrónico de acuerdo con diversas realizaciones.
Con referencia al diagrama de flujo de señal 1000 de la FIG. 10, el procesador de aplicación 200 puede iniciar, en la operación 1001, el procedimiento para que el dispositivo electrónico 101 entre en el modo de ahorro de energía. Por ejemplo, el procesador de aplicación 200 puede iniciar un procedimiento de entrada en modo de ahorro de energía cuando no hay ninguna operación que el dispositivo electrónico deba realizar. De acuerdo con diversas realizaciones, el procedimiento de entrada en modo de ahorro de energía del dispositivo electrónico 101 puede incluir operaciones de ahorro de energía para componentes individuales del dispositivo electrónico 101 que están conectados operativamente con el procesador de aplicaciones 200.
De acuerdo con diversas realizaciones, el procesador de aplicación 200 puede iniciar, en la operación 1003, la operación de ahorro de energía para el almacenamiento 300 en el curso del procedimiento de entrada en modo de ahorro de energía en el que se realizan las operaciones de ahorro de energía para los componentes individuales del dispositivo electrónico 101. Los ejemplos de las operaciones de ahorro de energía para los componentes pueden incluir las operaciones de apagar la alimentación y el reloj del almacenamiento 300.
De acuerdo con diversas realizaciones, el procesador de aplicación 200 puede confirmar en la operación 1005 si el almacenamiento 300 admite el modo de almacenamiento de datos de alta velocidad tras el inicio de la operación de ahorro de energía para el almacenamiento 300. Por ejemplo, el procesador de aplicación 200 puede confirmar si el espacio de memoria intermedia para el modo de almacenamiento de datos de alta velocidad está asignado en la memoria flash 310 del almacenamiento 300. Por ejemplo, la memoria flash 310 puede ser una memoria no volátil (por ejemplo, la memoria no volátil 134 en la FIG. 1).
De acuerdo con diversas realizaciones, el almacenamiento 300 puede enviar, en la operación 1007, al procesador de aplicación 200 una señal de respuesta indicando si el almacenamiento 300 admite el modo de almacenamiento de datos de alta velocidad. Por ejemplo, si parte del espacio de almacenamiento 315 de la memoria flash 310 del almacenamiento 300 se asigna como espacio de memoria intermedia 313 para el modo de almacenamiento de datos de alta velocidad, el almacenamiento 300 puede enviar al procesador de aplicación 200 la señal de respuesta que incluye información que indica que admite el modo de almacenamiento de datos de alta velocidad.
De acuerdo con diversas realizaciones, el procesador de aplicación 200 puede confirmar, en la operación 1009, acerca de una capacidad disponible del espacio de memoria intermedia 313 para el modo de almacenamiento de datos de alta velocidad en la memoria flash 310 del almacenamiento 300.
De acuerdo con diversas realizaciones, el almacenamiento 300 puede enviar, en la operación 1011, al procesador de aplicación 200 una señal de respuesta que incluye información que indica la capacidad disponible del espacio de memoria intermedia 313 de la memoria flash 310.
De acuerdo con diversas realizaciones, el procesador de aplicación 200 puede establecer, en la operación 1013, un periodo de tiempo para que el almacenamiento 300 realice la operación de descarga de la memoria flash 310 con base en la capacidad disponible del espacio de memoria intermedia 313. Por ejemplo, la operación de descarga puede realizarse de tal forma que se escriba al menos parte de los datos, que se han almacenado en el espacio de memoria intermedia 313 de la memoria flash 310 en el modo SLC, en el espacio de almacenamiento 315 de la memoria flash 310 en el modo TLC y se borren los datos escritos en el espacio de almacenamiento 315 desde el espacio de memoria intermedia 313 de la memoria flash 310 en el almacenamiento 300.
De acuerdo con diversas realizaciones, el procesador de aplicación 200 puede enviar, en la operación 1015, al almacenamiento 300 un comando de control que proporciona instrucciones para realizar la operación de descarga durante el periodo de tiempo preestablecido.
De acuerdo con diversas realizaciones, el almacenamiento 300 puede realizar, en la operación 1017, la operación de descarga durante el periodo de tiempo preestablecido.
La Figura 11 es un diagrama que ilustra ejemplos de operaciones de un procesador de aplicaciones de un dispositivo electrónico de acuerdo con diversas realizaciones.
Con referencia al diagrama de flujo 1100 de la FIG. 11, el procesador de aplicación 200 puede realizar, en la operación 1110, operaciones de ahorro de energía para los componentes (por ejemplo, componentes del dispositivo electrónico 101 representado en la FIG. 9) del dispositivo electrónico 101 en un orden predeterminado para que el dispositivo electrónico 101 entre en el modo de ahorro de energía.
De acuerdo con diversas realizaciones, el procesador de aplicación 200 puede determinar en la operación 1120 si el almacenamiento 300 admite el modo de almacenamiento de datos de alta velocidad tras la detección del inicio de la operación de ahorro de energía para el almacenamiento 300 en el curso del procedimiento de entrada en modo de ahorro de energía.
De acuerdo con diversas realizaciones, el procesador de aplicación 200 puede verificar, en la operación 1130, una capacidad disponible del espacio de memoria intermedia 313 para el modo de almacenamiento de datos de alta velocidad en la memoria flash 310 tras detectar que el almacenamiento 300 admite el modo de cableado de datos de alta velocidad. Por ejemplo, la memoria flash 310 puede ser una memoria no volátil (por ejemplo, la memoria no volátil 134 en la FIG. 1).
De acuerdo con diversas realizaciones, el procesador de aplicación 200 puede establecer, en la operación 1140, un periodo de tiempo para que el almacenamiento 300 realice la operación de descarga de la memoria flash 310 con base en la capacidad disponible del espacio de memoria intermedia 313.
De acuerdo con diversas realizaciones, el procesador de aplicación 200 puede controlar, en la operación 1150, el almacenamiento 300 para realizar la operación de descarga de la memoria flash 310 durante el periodo de tiempo preestablecido.
La Figura 12 es un diagrama que ilustra ejemplos de operaciones de un procesador de aplicaciones de un dispositivo electrónico de acuerdo con diversas realizaciones. Las descripciones detalladas que se superponen con las realizadas con referencia a las FIGS. 9 y 10 pueden no repetirse aquí.
Con referencia al diagrama de flujo 1200 de la FIG. 12, el procesador de aplicación 200 puede iniciar un procedimiento de entrada en modo de ahorro de energía del dispositivo electrónico 101 en la operación 1201.
De acuerdo con diversas realizaciones, el procesador de aplicación 200 puede realizar una operación de ahorro de energía en la operación 1203 para el almacenamiento 300 en el curso del procedimiento de entrada en modo de ahorro de energía en el que las operaciones de ahorro de energía para los componentes individuales del dispositivo electrónico 101 se realizan en orden.
De acuerdo con diversas realizaciones, el procesador de aplicación 200 puede determinar en la operación 1205 si el almacenamiento 300 admite el modo de almacenamiento de datos de alta velocidad.
De acuerdo con diversas realizaciones, el procesador de aplicación 200 puede verificar, en la operación 1207, una capacidad disponible del espacio de memoria intermedia 313 para el modo de almacenamiento de datos de alta velocidad en la memoria flash 310 tras detectar que el almacenamiento 300 admite el modo de almacenamiento de datos de alta velocidad.
De acuerdo con diversas realizaciones, el procesador de aplicación 200 puede establecer, en la operación 1209, un periodo de tiempo para que el almacenamiento 300 realice la operación de descarga de la memoria flash 310 con base en la capacidad disponible del espacio de memoria intermedia 313. Por ejemplo, si la capacidad disponible del espacio de memoria intermedia 313 es igual o inferior a un primer umbral, esto puede determinar que el almacenamiento 300 realice la operación de descarga de la memoria flash 310 durante un primer periodo de tiempo. Por ejemplo, si la capacidad disponible del espacio de memoria intermedia 313 es mayor que el primer umbral e igual o menor que un segundo umbral, esto puede determinar que el almacenamiento 300 realice la operación de descarga de la memoria flash 310 durante un segundo periodo de tiempo. Por ejemplo, si la capacidad disponible del espacio de memoria intermedia 313 es mayor que el segundo umbral, esto puede determinar que el almacenamiento 300 no realice la operación de descarga de la memoria flash 310.
De acuerdo con diversas realizaciones, el procesador de aplicación 200 puede controlar, en la operación 1211, el almacenamiento 300 para realizar la operación de descarga de la memoria flash 310 durante el periodo de tiempo preestablecido.
De acuerdo con diversas realizaciones, el procesador de aplicación 200 puede determinar en la operación 1213 si completar la operación de ahorro de energía para el almacenamiento 300 con base en la capacidad disponible del espacio de memoria intermedia 313. Por ejemplo, si se determina que la capacidad disponible del espacio de memoria intermedia 313 es igual o superior al primer umbral ("No" en la operación 1213), el procesador de aplicación 200 puede controlar para detener, en la operación 1217, la operación de ahorro de energía para el almacenamiento 300, después de que el almacenamiento 300 complete la operación de descarga de la memoria flash 310 durante el primer periodo de tiempo, y reanudar el procedimiento de entrada en modo de ahorro de energía de nuevo. Por ejemplo, si se determina que la capacidad disponible del espacio de memoria intermedia 313 es mayor que el primer umbral e igual o menor que el segundo umbral ("Sí" en la operación 1213), el procesador de aplicación 200 puede controlar para realizar la operación de ahorro de energía para el almacenamiento 300, después de que el almacenamiento 300 complete la operación de descarga de la memoria flash 310 durante el segundo periodo de tiempo, y proceder a realizar y completar, en la operación 1215, las operaciones de ahorro de energía para otros componentes restantes para que el dispositivo electrónico 101 entre en el modo de ahorro de energía. Por ejemplo, si se determina que la capacidad disponible del espacio de memoria intermedia 313 es mayor que el segundo umbral, el procesador de aplicación 200 puede controlar para completar la operación de ahorro de energía para el almacenamiento 300 inmediatamente sin la operación de descarga de la memoria flash 310 en el almacenamiento 300 y proceder a realizar y completar, en la operación 1215, las operaciones de ahorro de energía para otros componentes restantes para que el dispositivo electrónico 101 entre en el modo de ahorro de energía.
Como se ha descrito anteriormente, el dispositivo electrónico de acuerdo con diversas realizaciones de ejemplo puede proteger contra la degradación del rendimiento del dispositivo electrónico y aumentar la capacidad disponible del espacio de memoria intermedia en un punto de tiempo deseado por un procesador del dispositivo electrónico de tal manera que permita al procesador establecer un punto de tiempo para escribir datos almacenados en la memoria intermedia en el espacio de almacenamiento en un modo de almacenamiento de datos de alta densidad, lo que permite al procesador verificar la información sobre el progreso de la operación de escritura y el consumo de corriente eléctrica causado por la operación de escritura.
El dispositivo electrónico de acuerdo con diversas realizaciones de ejemplo también puede aumentar las capacidades disponibles de espacio de memoria intermedia y espacio de almacenamiento para escribir datos en un modo de almacenamiento de datos de alta densidad de tal manera que permita que la operación de escribir los datos almacenados en la memoria intermedia en el espacio de almacenamiento en el modo de almacenamiento de datos de alta densidad se realice mientras una interfaz de almacenamiento está operando en un modo de suspensión o en medio del procesamiento de un procedimiento para que el dispositivo electrónico entre en un modo de ahorro de energía.
El dispositivo electrónico de acuerdo con diversas realizaciones de ejemplo también puede impedir y/o reducir que una operación de escritura de datos en el espacio de almacenamiento degrade el rendimiento del procesamiento de una nueva solicitud de entrada/salida de escritura de datos de tal manera que permita que la operación de escritura de los datos almacenados en la memoria intermedia en el espacio de almacenamiento en el modo de almacenamiento de datos de alta densidad se realice mientras una interfaz de almacenamiento está operando en un modo de suspensión o en medio del procesamiento de un procedimiento para que el dispositivo electrónico entre en un modo de ahorro de energía.
El dispositivo electrónico de acuerdo con diversas realizaciones puede ser uno de diversos tipos de dispositivos electrónicos. Los dispositivos electrónicos pueden incluir, por ejemplo, un dispositivo de comunicación portátil (por ejemplo, un teléfono inteligente), un dispositivo informático, un dispositivo multimedia portátil, un dispositivo médico portátil, una cámara, un dispositivo portátil, un electrodoméstico, o similares. De acuerdo con una realización de la divulgación, los dispositivos electrónicos no se limitan a los descritos anteriormente.
Se debe apreciar que diversas realizaciones de ejemplo de la presente divulgación y los términos utilizados no pretenden limitar las características tecnológicas expuestas en la presente memoria a realizaciones particulares e incluyen diversos cambios, equivalentes, o sustituciones de una realización correspondiente. Con respecto a las descripciones de los dibujos, se pueden usar números de referencia similares para referir a elementos similares o relacionados. Se debe entender que una forma singular de un sustantivo correspondiente a un artículo puede incluir una o más de las cosas, a menos que el contexto pertinente indique claramente lo contrario. Como se utiliza en la presente memoria, cada una de las frases como "A o B", "al menos una de A y B", "al menos una de A o B", "A, B o C", "al menos una de A, B y C" y "al menos una de A, B o C", puede incluir cualquiera o todas las combinaciones posibles de los elementos enumerados en conjunto en una de las frases correspondientes. Como se usa en la presente memoria, términos como "1ro" y "2do", o "primero" y "segundo" se pueden usar simplemente para distinguir un componente correspondiente de otro, y no limitan los componentes en otro aspecto (por ejemplo, importancia u orden). Se debe entender que si se hace referencia a un elemento (por ejemplo, un primer elemento), con o sin el término "operativamente" o "comunicativamente", como "acoplado con", "acoplado a", "conectado con", o "conectado a" otro elemento (por ejemplo, un segundo elemento), el elemento puede estar acoplado con el otro elemento directamente (por ejemplo, por cable), de manera inalámbrica, o a través de un tercer elemento.
Como se utiliza en la presente memoria, el término "módulo" puede incluir una unidad implementada en hardware, software, o firmware, o cualquiera de sus combinaciones de los mismos, y se puede utilizar indistintamente con otros términos, por ejemplo, "lógica", "bloque lógico", "parte", o "circuito". Un módulo puede ser un componente integral único, o una unidad mínima o parte de ella, adaptada para realizar una o más funciones. Por ejemplo, de acuerdo con una realización, el módulo se puede implementar en forma de un circuito integrado de aplicación específica (ASIC).
Diversas realizaciones, como se exponen en la presente memoria, se pueden implementar como software (por ejemplo, el programa 140) que incluye una o más instrucciones que se almacenan en un medio de almacenamiento (por ejemplo, la memoria interna 136 o la memoria externa 138) que es legible por una máquina (por ejemplo, el dispositivo electrónico 101) . Por ejemplo, un procesador (por ejemplo, el procesador 120) de la máquina (por ejemplo, el dispositivo 101 electrónico) puede invocar al menos una de las una o más instrucciones almacenadas en el medio de almacenamiento, y ejecutarla, con o sin utilizar uno o más componentes bajo el control del procesador. Esto permite que la máquina sea operada para realizar al menos una función de acuerdo con la al menos una instrucción invocada. La una o más instrucciones pueden incluir un código generado por un compilador o un código ejecutable por un intérprete. El medio de almacenamiento legible por máquina se puede proporcionar en forma de un medio de almacenamiento no transitorio. En el que, el medio de almacenamiento "no transitorio" es un dispositivo tangible, y puede no incluir una señal (por ejemplo, una onda electromagnética), pero este término no diferencia entre el sitio en el cual se almacenan los datos de manera semipermanente en el medio de almacenamiento y el sitio en el cual se almacenan los datos temporalmente en el medio de almacenamiento.
De acuerdo con una realización, un procedimiento de acuerdo con diversas realizaciones de la divulgación se puede incluir y proporcionar en un producto de programa informático. El producto de programa de ordenador puede ser comercializado como un producto entre un vendedor y un comprador. El producto de programa informático se puede distribuir en forma de un medio de almacenamiento legible por máquina (por ejemplo, una memoria de solo lectura de disco compacto (CD-ROM)), o se puede distribuir (por ejemplo, descargar o cargar) en línea a través de una tienda de aplicaciones (por ejemplo, PlayStore™), o entre dos dispositivos de usuario (por ejemplo, teléfonos inteligentes) directamente. Si se distribuye en línea, al menos parte del producto de programa informático se puede generar temporalmente o almacenar al menos temporalmente en el medio de almacenamiento legible por máquina, tal como la memoria del servidor del fabricante, un servidor de la tienda de aplicaciones o un servidor de retransmisión.
De acuerdo con ciertas realizaciones, cada componente (por ejemplo, un módulo o un programa) de los componentes descritos anteriormente puede incluir una sola entidad o múltiples entidades. De acuerdo con diversas realizaciones, uno o más de los componentes descritos anteriormente se pueden omitir, o se pueden añadir uno o más componentes. De manera alternativa o adicional, una pluralidad de componentes (por ejemplo, módulos o programas) pueden estar integrados en un solo componente. En tal caso, de acuerdo con diversas realizaciones, el componente integrado puede seguir llevando a cabo una o más funciones de cada una de la pluralidad de componentes de la misma manera o de forma similar a como como son realizados por uno correspondiente de la pluralidad de componentes antes de la integración. De acuerdo con diversas realizaciones, las operaciones realizadas por el módulo, el programa, u otro componente pueden ser realizadas secuencialmente, en paralelo, repetidamente, o heurísticamente, o una o más de las operaciones se pueden ejecutar en un orden diferente u omitirse, o se pueden añadir una o más operaciones.
Aunque la divulgación se ha ilustrado y descrito con referencia a diversas realizaciones de ejemplo, se entenderá que las diversas realizaciones de ejemplo pretenden ser ilustrativas, no limitativas. Los expertos en la técnica comprenderán y apreciará que se pueden llevar a cabo diversos cambios en forma y detalle sin apartarse del alcance de la divulgación tal como se define en las reivindicaciones adjuntas.

Claims (12)

REIVINDICACIONES
1. Un dispositivo (101) electrónico que comprende:
un almacenamiento (300) que comprende un controlador de dispositivo de almacenamiento (320), una interfaz de almacenamiento (330) y una memoria no volátil (310) que incluye un espacio de memoria intermedia (313) y un espacio de almacenamiento (315); y
un procesador (230) acoplado al almacenamiento a través de la interfaz de almacenamiento, estando el procesador configurado para realizar el control para:
determinar si el almacenamiento admite un modo de almacenamiento de datos de alta velocidad utilizando el espacio de memoria intermedia de la memoria no volátil del almacenamiento,
enviar, si el almacenamiento admite el modo de almacenamiento de datos de alta velocidad, un primer comando de control al almacenamiento para activar el controlador del dispositivo de almacenamiento para que realice automáticamente la descarga de datos en el espacio de memoria intermedia al espacio de almacenamiento de la memoria no volátil cuando la interfaz de almacenamiento se encuentre en un primer estado, y
en el que, si el almacenamiento admite el modo de almacenamiento de datos de alta velocidad, el procesador está configurado además para realizar el control para:
enviar, siempre que se genere una nueva solicitud de escritura de datos mientras la interfaz de almacenamiento se encuentra en el primer estado, un segundo comando de control al almacenamiento, proporcionando el segundo comando de control instrucciones para una transición de la interfaz de almacenamiento del primer estado a un segundo estado;
enviar la solicitud de escritura de datos al almacenamiento, lo que hace que el controlador del dispositivo de almacenamiento realice una función de escritura de los datos en el espacio de memoria intermedia de la memoria no volátil; y
enviar, una vez transcurrido un periodo de tiempo predeterminado durante el cual no se ha enviado ninguna solicitud de datos al almacenamiento, un tercer comando de control al almacenamiento, para hacer que la interfaz de almacenamiento pase del segundo estado al primer estado,
en el que el primer estado es un estado en el cual la interfaz de almacenamiento opera en modo de suspensión, y
en el que el segundo estado es un estado de la interfaz de almacenamiento, que permite al almacenamiento recibir la solicitud de escritura de datos del procesador.
2. El dispositivo electrónico de la reivindicación 1, en el que el procesador está configurado para:
recibir el primer comando de control, desde el procesador, para realizar automáticamente la descarga de datos en el espacio de memoria intermedia al espacio de almacenamiento mientras la interfaz de almacenamiento se encuentra en el primer estado, y
descargar los datos del espacio de memoria intermedia al espacio de almacenamiento con base en el primer comando de control en respuesta a la transición de la interfaz de almacenamiento al primer estado.
3. El dispositivo electrónico de la reivindicación 1, en el que el procesador está configurado además para: en respuesta a una nueva solicitud de escritura de datos que se genera durante la descarga de los datos en el espacio de memoria intermedia, controlar el almacenamiento para detener la descarga de los datos.
4. El dispositivo electrónico de la reivindicación 1, en el que el controlador del dispositivo de almacenamiento está configurado además para determinar si se está realizando la función de descarga de datos en el espacio de memoria intermedia al espacio de almacenamiento, cuando la interfaz de almacenamiento pasa al primer estado.
5. El dispositivo electrónico de la reivindicación 1, en el que el primer estado de la interfaz de almacenamiento es un estado de hibernación en el cual la interfaz de almacenamiento opera en un modo de suspensión.
6. El dispositivo electrónico de la reivindicación 1, en el que el procesador está configurado además para determinar el periodo de tiempo para la descarga de datos con base en la capacidad disponible del espacio de almacenamiento intermedio.
7. El dispositivo electrónico de la reivindicación 1, en el que el procesador está configurado además para controlar el mantenimiento de la energía suministrada desde una batería al almacenamiento, mientras que el almacenamiento descarga los datos.
8. Un medio no transitorio legible por ordenador que almacena instrucciones ejecutables por un procesador de un dispositivo electrónico (101), en el que el dispositivo electrónico (101) comprende:
un almacenamiento (300) que comprende un controlador de dispositivo de almacenamiento (320), una interfaz de almacenamiento (330) y una memoria no volátil (310) que incluye un espacio de memoria intermedia (313) y un espacio de almacenamiento (315), y
el procesador, acoplado al almacenamiento a través de la interfaz de almacenamiento,
en el que las instrucciones, cuando se ejecutan, hacen al procesador:
determinar si el almacenamiento admite un modo de almacenamiento de datos de alta velocidad utilizando el espacio de memoria intermedia de la memoria no volátil del almacenamiento,
enviar, si el almacenamiento admite el modo de almacenamiento de datos de alta velocidad, un primer comando de control al almacenamiento para activar el controlador del dispositivo de almacenamiento para que realice automáticamente la descarga de datos en el espacio de memoria intermedia al espacio de almacenamiento de la memoria no volátil cuando la interfaz de almacenamiento se encuentre en un primer estado, y
en el que, si el almacenamiento admite el modo de almacenamiento de datos de alta velocidad, el procesador está configurado además para realizar el control para:
enviar, siempre que se genere una nueva solicitud de escritura de datos mientras la interfaz de almacenamiento se encuentra en el primer estado, un segundo comando de control al almacenamiento, proporcionando el segundo comando de control instrucciones para una transición de la interfaz de almacenamiento del primer estado a un segundo estado;
enviar la solicitud de escritura de datos al almacenamiento, lo que hace que el controlador del dispositivo de almacenamiento realice una función de escritura de los datos en el espacio de memoria intermedia de la memoria no volátil; y
enviar, una vez transcurrido un periodo de tiempo predeterminado durante el cual no se ha enviado ninguna solicitud de datos al almacenamiento, un tercer comando de control al almacenamiento, para hacer que la interfaz de almacenamiento pase del segundo estado al primer estado,
en el que el primer estado es un estado en el cual la interfaz de almacenamiento opera en modo de suspensión, y
en el que el segundo estado es un estado de la interfaz de almacenamiento, que permite al almacenamiento recibir la solicitud de escritura de datos del procesador.
9. El medio no transitorio legible por ordenador de la reivindicación 8, en el que las instrucciones hacen además al almacenamiento:
recibir el primer comando de control, desde el procesador, para realizar automáticamente la descarga de datos en el espacio de memoria intermedia al espacio de almacenamiento mientras la interfaz de almacenamiento se encuentra en el primer estado, y
descargar los datos del espacio de memoria intermedia al espacio de almacenamiento con base en el primer comando de control en respuesta a la transición de la interfaz de almacenamiento al primer estado.
10. El medio no transitorio legible por ordenador de la reivindicación 8, en el que las instrucciones hacen además a procesador: en respuesta a una nueva solicitud de escritura de datos que se genera durante la descarga de los datos en el espacio de memoria intermedia, controlar el almacenamiento para detener la descarga de los datos.
11. El medio no transitorio legible por ordenador de la reivindicación 8, en el que el controlador del dispositivo de almacenamiento está configurado además para determinar si se realiza la función de descarga de datos en el espacio de memoria intermedia al espacio de almacenamiento, cuando la interfaz de almacenamiento pasa al primer estado.
12. El medio no transitorio legible por ordenador de la reivindicación 8, en el que el primer estado de la interfaz de almacenamiento es un estado de hibernación en el que la interfaz de almacenamiento opera en un modo de suspensión.
ES20179543T 2019-06-12 2020-06-11 Dispositivo electrónico y procedimiento de uso de su espacio de almacenamiento Active ES2965751T3 (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190069161A KR20200142219A (ko) 2019-06-12 2019-06-12 전자 장치 및 그의 저장 공간 이용 방법

Publications (1)

Publication Number Publication Date
ES2965751T3 true ES2965751T3 (es) 2024-04-16

Family

ID=71094088

Family Applications (1)

Application Number Title Priority Date Filing Date
ES20179543T Active ES2965751T3 (es) 2019-06-12 2020-06-11 Dispositivo electrónico y procedimiento de uso de su espacio de almacenamiento

Country Status (8)

Country Link
US (2) US11392318B2 (es)
EP (2) EP3751407B1 (es)
KR (1) KR20200142219A (es)
CN (2) CN114968093A (es)
BR (1) BR112021024998A2 (es)
ES (1) ES2965751T3 (es)
WO (1) WO2020251192A1 (es)
ZA (1) ZA202110284B (es)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11119659B2 (en) * 2019-08-12 2021-09-14 Micron Technology, Inc. Write buffer implementation for multiple memory array memory spaces
TWI739676B (zh) * 2020-11-25 2021-09-11 群聯電子股份有限公司 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元
CN114168076A (zh) * 2021-12-06 2022-03-11 陕西空天动力研究院有限公司 一种数据存储方法、装置及系统
TWI793932B (zh) * 2021-12-21 2023-02-21 建興儲存科技股份有限公司 固態儲存裝置及其相關的寫入控制方法

Family Cites Families (104)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040160968A1 (en) 2003-02-12 2004-08-19 Chae-Ho Ko Method for interconnecting of system for interconnecting wired and wireless phone services
US7788427B1 (en) * 2005-05-05 2010-08-31 Marvell International Ltd. Flash memory interface for disk drive
KR101086072B1 (ko) 2004-09-18 2011-11-22 삼성전자주식회사 Agps 정보를 이용한 단말 위치 결정 방법
KR100666174B1 (ko) 2005-04-27 2007-01-09 삼성전자주식회사 3-레벨 불휘발성 반도체 메모리 장치 및 이에 대한구동방법
US8055833B2 (en) 2006-10-05 2011-11-08 Google Inc. System and method for increasing capacity, performance, and flexibility of flash storage
KR100634458B1 (ko) 2005-07-04 2006-10-16 삼성전자주식회사 단일의 페이지 버퍼 구조로 멀티-비트 및 단일-비트프로그램 동작을 수행하는 플래시 메모리 장치
KR101257848B1 (ko) 2005-07-13 2013-04-24 삼성전자주식회사 복합 메모리를 구비하는 데이터 저장 시스템 및 그 동작방법
JP2007193866A (ja) 2006-01-17 2007-08-02 Toshiba Corp 情報記録装置及びその制御方法
US8478287B2 (en) 2006-06-07 2013-07-02 Samsung Electronics Co., Ltd. Method for positioning target terminal while protecting privacy of user thereof
KR101223788B1 (ko) 2006-06-09 2013-01-17 삼성전자주식회사 위치 정보 제공 시스템의 목표단말기 위치값 제공 방법
KR100809320B1 (ko) 2006-09-27 2008-03-05 삼성전자주식회사 이종 셀 타입을 지원하는 비휘발성 메모리를 위한 맵핑정보 관리 장치 및 방법
KR100855467B1 (ko) 2006-09-27 2008-09-01 삼성전자주식회사 이종 셀 타입을 지원하는 비휘발성 메모리를 위한 맵핑장치 및 방법
KR100771521B1 (ko) 2006-10-30 2007-10-30 삼성전자주식회사 멀티 레벨 셀을 포함하는 플래시 메모리 장치 및 그것의데이터 쓰기 방법
KR100833188B1 (ko) 2006-11-03 2008-05-28 삼성전자주식회사 데이터의 특성에 따라 싱글 레벨 셀 또는 멀티 레벨 셀에데이터를 저장하는 불휘발성 메모리 시스템
US7852654B2 (en) 2006-12-28 2010-12-14 Hynix Semiconductor Inc. Semiconductor memory device, and multi-chip package and method of operating the same
KR100875539B1 (ko) 2007-01-17 2008-12-26 삼성전자주식회사 프로그램 방식을 선택할 수 있는 메모리 시스템
KR100855972B1 (ko) 2007-01-23 2008-09-02 삼성전자주식회사 서로 다른 독출 대기 시간을 가지는 복수개의 메모리 셀어레이들을 구비하는 불휘발성 메모리 시스템 및 상기불휘발성 메모리 시스템의 데이터 독출 방법
KR100819102B1 (ko) 2007-02-06 2008-04-03 삼성전자주식회사 개선된 멀티 페이지 프로그램 동작을 갖는 불휘발성 반도체메모리 장치
JP2008225916A (ja) * 2007-03-13 2008-09-25 Fujitsu Ltd データバックアップ時の電力低減装置
KR100890017B1 (ko) 2007-04-23 2009-03-25 삼성전자주식회사 프로그램 디스터브를 감소시킬 수 있는 플래시 메모리 장치및 그것의 프로그램 방법
WO2008140171A1 (en) 2007-05-14 2008-11-20 Samsung Electronics Co., Ltd. Apparatus for reading data and method using the same
KR100892583B1 (ko) 2007-06-08 2009-04-08 삼성전자주식회사 커플링을 고려한 메모리 셀의 데이터 프로그램 장치 및 그방법
KR100838292B1 (ko) 2007-06-20 2008-06-17 삼성전자주식회사 메모리 셀의 읽기 레벨 제어 장치 및 그 방법
KR101301774B1 (ko) 2007-07-23 2013-09-02 삼성전자주식회사 메모리 셀의 데이터 읽기 장치 및 방법
US8429358B2 (en) 2007-08-14 2013-04-23 Samsung Electronics Co., Ltd. Method and data storage device for processing commands
KR101498673B1 (ko) 2007-08-14 2015-03-09 삼성전자주식회사 반도체 드라이브, 그것의 데이터 저장 방법, 그리고 그것을포함한 컴퓨팅 시스템
KR101382562B1 (ko) 2007-08-24 2014-04-10 삼성전자주식회사 복수개의 뱅크들을 동시에 프로그램할 수 있는 반도체메모리 장치 및 방법
US8706951B2 (en) * 2008-07-18 2014-04-22 Marvell World Trade Ltd. Selectively accessing faster or slower multi-level cell memory
KR101548175B1 (ko) 2008-11-05 2015-08-28 삼성전자주식회사 싱글 레벨 메모리 셀 블락과 멀티 레벨 메모리 셀 블락을 포함하는 불휘발성 메모리 장치의 마모 레벨링 방법
KR101515098B1 (ko) 2008-11-20 2015-04-24 삼성전자주식회사 플래시 메모리 장치 및 이의 독출 방법
US8239724B2 (en) 2009-04-08 2012-08-07 Google Inc. Error correction for a data storage device
US8402243B2 (en) 2010-02-25 2013-03-19 Apple Inc. Dynamically allocating number of bits per cell for memory locations of a non-volatile memory
US9063728B2 (en) 2010-03-17 2015-06-23 Apple Inc. Systems and methods for handling hibernation data
KR101678407B1 (ko) 2010-05-10 2016-11-23 삼성전자주식회사 데이터 저장 장치 및 그것의 프로그램 방법
KR101662827B1 (ko) 2010-07-02 2016-10-06 삼성전자주식회사 쓰기 패턴에 따라 데이터 블록의 쓰기 모드를 선택하는 메모리 시스템 및 그것의 데이터 쓰기 방법
US8832507B2 (en) 2010-08-23 2014-09-09 Apple Inc. Systems and methods for generating dynamic super blocks
TWI451435B (zh) * 2010-10-08 2014-09-01 Phison Electronics Corp 非揮發性記憶體儲存裝置、記憶體控制器與資料儲存方法
KR101727553B1 (ko) 2010-11-04 2017-04-17 삼성전자주식회사 휴대용 단말기에서 다수의 블루투스 기기와 통신하기 위한 장치 및 방법
KR101699786B1 (ko) 2010-11-25 2017-01-26 삼성전자주식회사 위치 서비스 기반 시스템에서 센서노드의 측위를 위한 장치 및 방법
US8886990B2 (en) 2011-01-27 2014-11-11 Apple Inc. Block management schemes in hybrid SLC/MLC memory
KR20120126389A (ko) 2011-05-11 2012-11-21 삼성전자주식회사 멀티-비트 메모리 장치를 포함한 데이터 저장 시스템 및 그것의 온칩 버퍼 프로그램 방법
KR101861170B1 (ko) 2011-08-17 2018-05-25 삼성전자주식회사 마이그레이션 관리자를 포함하는 메모리 시스템
KR101903091B1 (ko) 2011-10-05 2018-10-02 삼성전자주식회사 불휘발성 메모리 장치를 포함하는 메모리 시스템 및 그것의 동작 방법
KR101919902B1 (ko) 2011-10-18 2018-11-20 삼성전자 주식회사 메모리 장치의 데이터 독출 방법
KR20130043474A (ko) 2011-10-20 2013-04-30 에스케이하이닉스 주식회사 통합 메모리 블록 및 이를 포함하는 데이터 처리 시스템
KR101845510B1 (ko) 2011-10-25 2018-04-05 삼성전자주식회사 반도체 저장 장치 및 시스템
KR20130049330A (ko) 2011-11-04 2013-05-14 삼성전자주식회사 메모리 시스템 및 그것의 메모리 관리 기법
KR20130049332A (ko) 2011-11-04 2013-05-14 삼성전자주식회사 메모리 시스템 및 그것의 동작 방법
KR101874408B1 (ko) 2011-11-09 2018-07-05 삼성전자주식회사 비휘발성 메모리 장치 및 이를 포함하는 메모리 시스템
KR101813182B1 (ko) 2011-11-16 2017-12-29 삼성전자주식회사 비휘발성 메모리 소자를 포함하는 다치 논리 장치
KR102049306B1 (ko) 2011-12-12 2019-11-27 삼성전자주식회사 메모리 셀의 리드 또는 라이트 동작 방법 과 장치 및 이를 포함하는 메모리 시스템
US9251055B2 (en) * 2012-02-23 2016-02-02 Kabushiki Kaisha Toshiba Memory system and control method of memory system
US8935459B2 (en) 2012-03-08 2015-01-13 Apple Inc. Heuristics for programming data in a non-volatile memory
KR101967895B1 (ko) 2012-05-02 2019-04-11 에스케이하이닉스 주식회사 비휘발성 메모리 장치 및 비휘발성 메모리 장치의 구동 방법
KR101959567B1 (ko) 2012-05-14 2019-03-18 에스케이하이닉스 주식회사 비휘발성 메모리 장치 및 비휘발성 메모리 장치의 프로그램 방법
US20150160999A1 (en) 2012-07-13 2015-06-11 Samsung Electronics Co., Ltd. Solid state drive controller, solid state drive, data processing method of solid state drive, multi-channel solid state drive, raid controller and computer-readable recording medium having recorded therein computer program for providing sequence information to solid state drive
KR102083271B1 (ko) 2012-07-31 2020-03-02 삼성전자주식회사 플래시 메모리의 물리적 특성을 이용하여 난수를 생성하는 플래시 메모리 시스템 및 그것의 난수 생성 방법
US8942754B2 (en) * 2012-08-07 2015-01-27 Sharp Laboratories Of America, Inc. Devices for allocating power for uplink transmission
KR20140033964A (ko) 2012-09-11 2014-03-19 삼성전자주식회사 단말기의 데이터 저장장치 및 방법
TWI493447B (zh) * 2013-01-18 2015-07-21 Acer Inc 雙碟式資料快取方法及系統
US8990458B2 (en) 2013-02-28 2015-03-24 Kabushiki Kaisha Toshiba Controller, semiconductor storage device and method of controlling data writing
KR102081415B1 (ko) 2013-03-15 2020-02-25 삼성전자주식회사 비휘발성 메모리 장치의 llr 최적화 방법 및 비휘발성 메모리 장치의 에러 정정 방법
BR122016006764B1 (pt) * 2013-03-15 2022-02-01 Intel Corporation Aparelhos e métodos de memória
KR102098246B1 (ko) 2013-04-29 2020-04-07 삼성전자 주식회사 호스트, 저장 장치, 및 이를 포함하는 시스템의 동작 방법
US9727493B2 (en) * 2013-08-14 2017-08-08 Micron Technology, Inc. Apparatuses and methods for providing data to a configurable storage area
US20150074490A1 (en) 2013-09-06 2015-03-12 Kabushiki Kaisha Toshiba Nonvolatile semiconductor memory device
KR102190399B1 (ko) 2013-10-11 2020-12-11 삼성전자주식회사 신뢰성을 보장할 수 있는 불휘발성 메모리 장치의 동작 방법 및 상기 방법을 수행하는 메모리 시스템
KR102127105B1 (ko) 2013-11-11 2020-06-29 삼성전자 주식회사 비휘발성 메모리 장치의 구동 방법
US9326298B2 (en) * 2013-11-15 2016-04-26 Verizon Patent And Licensing Inc. Wireless device background uplink small data packet
KR102140792B1 (ko) 2013-12-24 2020-08-03 삼성전자주식회사 데이터 중복 제거를 수행할 수 있는 데이터 저장 장치의 동작 방법들
KR102100161B1 (ko) 2014-02-04 2020-04-14 삼성전자주식회사 Gpu 데이터 캐싱 방법 및 그에 따른 데이터 프로세싱 시스템
KR102190670B1 (ko) 2014-03-03 2020-12-14 삼성전자주식회사 마이그레이션 관리자를 포함하는 메모리 시스템
KR102289919B1 (ko) 2014-04-15 2021-08-12 삼성전자주식회사 스토리지 컨트롤러, 스토리지 장치, 스토리지 시스템 및 상기 스토리지 컨트롤러의 동작 방법
US20160103478A1 (en) * 2014-10-08 2016-04-14 Kabushiki Kaisha Toshiba Memory system and memory controller
KR102287760B1 (ko) 2014-10-29 2021-08-09 삼성전자주식회사 메모리 시스템 및 상기 메모리 시스템의 동작 방법
KR20160058458A (ko) 2014-11-17 2016-05-25 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
KR102295208B1 (ko) 2014-12-19 2021-09-01 삼성전자주식회사 프로그램 영역을 동적으로 할당하는 저장 장치 및 그것의 프로그램 방법
KR102295223B1 (ko) * 2015-01-13 2021-09-01 삼성전자주식회사 속도 모드 관리자를 포함하는 저장 장치 및 사용자 장치
US9558839B2 (en) 2015-03-09 2017-01-31 Toshiba Corporation Power fail saving modes in solid state drive with MLC memory
US10008250B2 (en) * 2015-03-27 2018-06-26 Intel Corporation Single level cell write buffering for multiple level cell non-volatile memory
US11010054B1 (en) * 2015-06-10 2021-05-18 EMC IP Holding Company LLC Exabyte-scale data processing system
KR102274280B1 (ko) 2015-06-22 2021-07-07 삼성전자주식회사 불휘발성 메모리 장치의 동작 방법
US20170024278A1 (en) 2015-07-24 2017-01-26 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding data in memory system
KR102379202B1 (ko) 2015-09-30 2022-03-28 삼성전자주식회사 전자 장치 및 그 부팅 방법
KR20170046862A (ko) 2015-10-21 2017-05-04 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
US20170161202A1 (en) 2015-12-02 2017-06-08 Samsung Electronics Co., Ltd. Flash memory device including address mapping for deduplication, and related methods
TWI672706B (zh) 2015-12-14 2019-09-21 南韓商愛思開海力士有限公司 記憶體儲存裝置及其操作方法
US9996268B2 (en) 2015-12-18 2018-06-12 Toshiba Memory Corporation Memory system and control method of the same
US10572651B2 (en) 2016-02-16 2020-02-25 Samsung Electronics Co., Ltd. Key generating method and apparatus using characteristic of memory
US9990023B2 (en) 2016-03-28 2018-06-05 Apple Inc. Systems and methods for handling sudden power failures in solid state drives
US20170285967A1 (en) 2016-03-29 2017-10-05 Samsung Electronics Co., Ltd. Multi-ware smart ssd
KR102550343B1 (ko) 2016-07-27 2023-07-03 삼성전자주식회사 솔리드 스테이트 드라이브 장치 및 그것의 동작 방법
US9891859B1 (en) 2016-08-09 2018-02-13 Apple Inc. Systems and methods for managing non-volatile memory based on temperature
KR20180031289A (ko) 2016-09-19 2018-03-28 삼성전자주식회사 스토리지 장치 및 상기 스토리지 장치의 동작 방법
KR102208058B1 (ko) * 2016-11-04 2021-01-27 삼성전자주식회사 저장 장치 및 이를 포함하는 데이터 처리 시스템
KR102319189B1 (ko) 2017-06-21 2021-10-28 삼성전자주식회사 스토리지 장치, 이를 포함하는 스토리지 시스템 및 스토리지 장치의 동작 방법
US10606484B2 (en) 2017-06-23 2020-03-31 Google Llc NAND flash storage device with NAND buffer
KR102427327B1 (ko) 2017-07-25 2022-08-01 삼성전자주식회사 불휘발성 메모리 장치, 그것의 동작 방법, 및 그것을 포함하는 저장 장치
JP7030463B2 (ja) * 2017-09-22 2022-03-07 キオクシア株式会社 メモリシステム
US10705590B2 (en) * 2017-11-28 2020-07-07 Google Llc Power-conserving cache memory usage
US10877686B2 (en) * 2018-04-13 2020-12-29 Intel Corporation Mass storage device with host initiated buffer flushing
US10909040B2 (en) * 2018-04-19 2021-02-02 Intel Corporation Adaptive calibration of nonvolatile memory channel based on platform power management state
CN109471596B (zh) * 2018-10-31 2022-03-18 北京小米移动软件有限公司 数据写入方法、装置、设备及存储介质
KR20210092964A (ko) * 2020-01-17 2021-07-27 삼성전자주식회사 이미지 센서 및 이를 포함하는 카메라 모듈

Also Published As

Publication number Publication date
EP4235442A2 (en) 2023-08-30
US20220350540A1 (en) 2022-11-03
ZA202110284B (en) 2023-10-25
KR20200142219A (ko) 2020-12-22
EP3751407B1 (en) 2023-09-13
CN112083876B (zh) 2022-05-24
EP3751407A1 (en) 2020-12-16
US11392318B2 (en) 2022-07-19
BR112021024998A2 (pt) 2022-01-25
CN112083876A (zh) 2020-12-15
EP4235442A3 (en) 2023-10-04
WO2020251192A1 (en) 2020-12-17
US20200393995A1 (en) 2020-12-17
CN114968093A (zh) 2022-08-30
EP3751407C0 (en) 2023-09-13
US11704072B2 (en) 2023-07-18

Similar Documents

Publication Publication Date Title
ES2965751T3 (es) Dispositivo electrónico y procedimiento de uso de su espacio de almacenamiento
US9542267B2 (en) Enhanced recovery mechanisms
KR102205745B1 (ko) Usb 전력 전송 컨트롤러 공유
CN107409056B (zh) 用于促进数据通信的装置、系统、方法和设备
CN106030525A (zh) 用于硬件平台的固件的系统内供应
EP2901245B1 (en) Efficient low power exit sequence for peripheral devices
JP6018113B2 (ja) 不揮発性メモリのデータ消失を防止する方法、コンピュータおよびホスト装置。
CN104272388A (zh) 存储器装置的超深断电模式
US20180335830A1 (en) Power management system
CN113703799A (zh) 计算设备及其bios更新方法和介质
US9292071B2 (en) Electronic device and method for setting time of timer
EP3706003B1 (en) Electronic device and method for utilizing memory space thereof
JP4846862B2 (ja) 情報処理装置および省電力制御方法
JP2007328534A (ja) 情報処理装置および情報処理装置の制御方法
RU2815054C2 (ru) Электронное устройство и его способ использования пространства для хранения
US20220116322A1 (en) Interconnect network for multi-tile system on chips
WO2019042260A1 (zh) 上电控制方法、ap芯片及移动终端
JP5378451B2 (ja) 起動時の信頼性とpost時間の短縮を図る方法およびコンピュータ
US11301166B2 (en) Flash storage device and operation control method therefor
US20130080717A1 (en) Information processing apparatus and control method
CN117724599A (zh) 一种休眠方法、电子设备和计算机可读存储介质
JP2013025332A (ja) 電子機器、電子機器の制御方法、電子機器の制御プログラム
JP2014146142A (ja) 回転式のディスクを備える記憶装置のパワー・ステートを制御する方法および携帯式コンピュータ
KR20200107716A (ko) 전자 장치 및 그의 저장 공간 이용 방법