ES2650121T3 - Proporcionar cola de comandos en memorias incorporadas - Google Patents

Proporcionar cola de comandos en memorias incorporadas Download PDF

Info

Publication number
ES2650121T3
ES2650121T3 ES14772505.5T ES14772505T ES2650121T3 ES 2650121 T3 ES2650121 T3 ES 2650121T3 ES 14772505 T ES14772505 T ES 14772505T ES 2650121 T3 ES2650121 T3 ES 2650121T3
Authority
ES
Spain
Prior art keywords
command
central computer
queue
task
qsr
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
ES14772505.5T
Other languages
English (en)
Inventor
Assaf Shacham
Tom Yahalom
Aviad Zacks-Shtrauss
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Application granted granted Critical
Publication of ES2650121T3 publication Critical patent/ES2650121T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • 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
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • G06F13/4243Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with synchronous protocol
    • 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/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
    • 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/08Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers from or to individual record carriers, e.g. punched card, memory card, integrated circuit [IC] card or smart card
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2206/00Indexing scheme related to dedicated interfaces for computers
    • G06F2206/10Indexing scheme related to storage interfaces for computers, indexing schema related to group G06F3/06
    • G06F2206/1014One time programmable [OTP] memory, e.g. PROM, WORM

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Systems (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Communication Control (AREA)

Abstract

Un ordenador central (10) que comprende: un transceptor (18) configurado para transmitir señales a y recibir señales desde un dispositivo (12) compatible con una norma de Tarjeta Multimedia incorporada, eMMC; y un sistema de control (16, 20) acoplado operativamente al transceptor y caracterizado por estar configurado para: emitir un comando (60) al dispositivo (12) para determinar un estado de un registro de estado de cola, QSR, en el dispositivo; determinar un final próximo (58) a una transferencia de datos actual (56) desde el dispositivo; y recibir una respuesta (62) desde el dispositivo con información sobre el QSR del dispositivo antes del final próximo (58).

Description

5
10
15
20
25
30
35
40
45
50
55
60
65
DESCRIPCIÓN
Proporcionar cola de comandos en memorias incorporadas REIVINDICACIÓN DE PRIORIDAD
[0001] La presente solicitud reivindica la prioridad de la Solicitud de Patente Provisional de Estados Unidos N.° de serie 61/875.721 presentada el 10 de septiembre de 2013 y titulada " SYSTEMS AND METHODS FOR PROVIDING COMMAND QUEING IN THE EMBEDDED MULTI-MEDIA CONTROLLER (eMMC) STANDARD” [SISTEMAS Y PROCEDIMIENTOS PARA PROPORCIONAR COLA DE COMANDOS EN LA NORMA DEL CONTROLADOR MULTIMEDIA INCORPORADO (eMMC)].
[0002] La presente solicitud también reivindica la prioridad de la Solicitud de Patente de Estados Unidos N.° de serie 14/478.032 presentada el 5 de septiembre de 2014 y titulada " PROVIDING COMMAND QUEING IN EMBEDDED MEMORIES” [PROPORCIONAR COLA DE COMANDOS EN MEMORIAS INCORPORADAS].
ANTECEDENTES
I. Campo de la divulgación
[0003] La tecnología de la divulgación se refiere generalmente a la memoria incorporada y, por lo tanto, particularmente, a proporcionar cola de comandos.
II. Antecedentes
[0004] Muchos dispositivos móviles dependen de la memoria flash para almacenar datos y/o software para su uso por el dispositivo móvil. La memoria flash viene en dos tipos generales: fija (integrada) y extraíble. La memoria flash extraíble toma la forma típicamente de una tarjeta de memoria extraíble y se usa comúnmente en dispositivos tales como cámaras digitales o dispositivos de audio. La memoria flash incorporada está soldada en general o por el contrario fijada permanentemente a la placa de circuito o a otro medio de soporte dentro de un dispositivo móvil.
[0005] La Asociación de fabricantes de dispositivos electrónicos (JEDEC) es responsable de producir las normas de Tarjetas Multimedia incorporadas (eMMC) relativas a un tipo de memoria flash incorporada. eMMC describe una arquitectura que consta de una solución de almacenamiento incorporada con interfaz de Tarjeta Multimedia, de memoria flash y de controlador, todo en un paquete de matriz de malla de bolas (BGA) pequeño. eMMC es actualmente un protocolo síncrono donde el ordenador central envía un comando para leer desde el dispositivo o para escribir al dispositivo. El dispositivo envía una respuesta y luego se produce una transferencia de bloque de datos. Al finalizar la transferencia de datos, el ordenador central envía otro comando, recibe otra respuesta y se produce otra transferencia de datos. Esta estructura de comandos síncronos se produce para cada transferencia de datos dentro y fuera de la memoria eMMC. Normalmente, el software está implicado con cada comando y cada respuesta. Dicho software es típicamente una entidad de reacción lenta y la implicación del software en cada comando y en cada respuesta se suma al retardo en la realización de las transferencias de datos.
[0006] A diferencia de la estructura de comandos síncronos de eMMC, otra norma de memoria, el almacenamiento flash universal (UFS), adopta el conocido modelo de arquitectura de interfaz de sistema de ordenador pequeño (SCSI) y protocolos de comando que soportan múltiples comandos con funciones de cola de comandos y activan un modelo de programación de hilos múltiples. En la práctica, la cola de comandos permite que el ordenador central envíe una pluralidad de tareas al dispositivo antes de la ejecución de esas tareas por el dispositivo. Estas tareas se almacenan en una cola en el dispositivo. Luego, el dispositivo selecciona una tarea a partir de la pluralidad de tareas que ha recibido, ejecuta la tarea seleccionada e informa al ordenador central de la finalización.
[0007] La cola de comandos permite un uso más eficiente del bus en el que se produzca la transferencia de datos porque el software en el ordenador central y en el dispositivo pueden funcionar simultáneamente en lugar de tener que esperar el uno al otro. eMMC se beneficiaría de la cola de comandos y de la mejora de la eficiencia en el uso del bus de datos. Sin embargo, dado que eMMC no ha contemplado históricamente la cola de comandos, es necesario definir cómo el ordenador central puede conocer el estado de las tareas en la cola del dispositivo.
[0008] Se llama la atención en el documento US 2009/094678 (A1), que describe una tabla de indexación de modo que se usa para enumerar los modos disponibles en un dispositivo multimodo. A partir de la información en la tabla de indexación de modo, un ordenador central reconoce los modos como se enumeran en la tabla. El ordenador central tiene un modo de inicialización obligatorio que usa una técnica conocida, de tal manera que el dispositivo puede entrar en un modo de inicialización directamente o a través de una función de arranque. Durante la inicialización, el ordenador central recibe la parte restante de la tabla del dispositivo multimodo y reconoce la funcionalidad de cada uno de los modos enumerados en la tabla. Entre los modos disponibles, algunos modos tienen acceso a datos de otros modos de acuerdo con el nivel de acceso. El dispositivo multimodo tiene algunos comandos que pueden usarse para la conmutación de modo directo
5
10
15
20
25
30
35
40
45
50
55
60
65
RESUMEN DE LA DIVULGACIÓN
[0009] De acuerdo con la presente invención, se proporciona un ordenador central, un dispositivo y un procedimiento para hacer funcionar un ordenador central de Tarjeta Multimedia incorporada, como se expone en las reivindicaciones independientes. Los modos de realización de la invención se reivindican en las reivindicaciones dependientes.
[0010] Los aspectos divulgados en la descripción detallada incluyen proporcionar colas de comandos en memorias incorporadas. En particular, los aspectos divulgados en el presente documento se refieren a un proceso a través del cual el estado de la cola se comunica al ordenador central desde el dispositivo. Los aspectos de la presente divulgación usan la estructura de comando de la norma de Tarjeta Multimedia incorporada (eMMC), de tal manera que el ordenador central puede determinar el estado de la cola en el dispositivo próximo a un final conocido de una transferencia de datos en curso. De esta manera, el ordenador central puede seleccionar una tarea para comenzar después de la finalización de la transferencia de datos actual mientras la transferencia de datos actual todavía está en curso.
[0011] A este respecto, en un aspecto, se divulga un ordenador central. El ordenador central comprende un transceptor configurado para transmitir señales a y recibir señales desde un dispositivo que cumpla con una norma eMMC. El ordenador central también comprende un sistema de control acoplado operativamente al transceptor. El sistema de control está configurado para emitir un comando al dispositivo para determinar el estado de un registro de estado de cola (QSR) en el dispositivo. El sistema de control también está configurado para recibir una respuesta del dispositivo con información sobre el QSR del dispositivo.
[0012] En otro aspecto, se divulga un dispositivo. El dispositivo comprende un transceptor configurado para transmitir señales y recibir señales desde un ordenador central que cumpla con una norma eMMC. El dispositivo informático también comprende un sistema de control acoplado operativamente al transceptor. El sistema de control está configurado para recibir un comando desde el ordenador central para determinar un estado de un QSR en el dispositivo. El sistema de control está configurado además para transmitir una respuesta al ordenador central con información sobre el QSR del dispositivo.
[0013] En otro aspecto, se divulga un procedimiento para hacer funcionar un ordenador central eMMC. El procedimiento comprende transmitir señales desde el ordenador central eMMC a un dispositivo que incluya un comando para determinar el estado de un QSR en el dispositivo. El procedimiento también comprende recibir una respuesta del dispositivo con información sobre el QSR del dispositivo.
BREVE DESCRIPCIÓN DE LAS FIGURAS
[0014]
La Figura 1 es un diagrama de bloques de una conexión a modo de ejemplo entre un ordenador central y un dispositivo que usan una norma de Tarjeta Multimedia incorporada (eMMC);
la Figura 2 es un diagrama de temporización de las señales entre un ordenador central y un dispositivo que usan un pasador de interrupción.
la Figura 3 es un diagrama de temporización de señales entre un ordenador central y un dispositivo que usan una estructura de comando de acuerdo con aspectos a modo de ejemplo de la presente divulgación; la Figura 4 es un diagrama de flujo de un proceso a modo de ejemplo de la presente divulgación; y la Figura 5 es un diagrama de bloques de un sistema basado en el procesador a modo de ejemplo que puede incluir el ordenador central y el dispositivo de la Figura 1 que funcionan de acuerdo con los aspectos de la presente divulgación.
DESCRIPCIÓN DETALLADA
[0015] Con referencia a continuación a las figuras de los dibujos, se describen varios aspectos a modo de ejemplo de la presente divulgación. La expresión "a modo de ejemplo" se usa en el presente documento con el significado de "que sirve como ejemplo, caso o ilustración". Cualquier aspecto descrito en el presente documento como "a modo de ejemplo" no debe interpretarse necesariamente como preferido o ventajoso con respecto a otros aspectos.
[0016] Los aspectos divulgados en la descripción detallada incluyen proporcionar colas de comandos en memorias incorporadas. En particular, los aspectos divulgados en el presente documento se refieren a un proceso a través del cual el estado de la cola se comunica al ordenador central desde el dispositivo. Los aspectos de la presente divulgación usan la estructura de comando de la norma de Tarjeta Multimedia incorporada (eMMC), de modo que el ordenador central puede determinar el estado de la cola en el dispositivo próximo a un final conocido de una transferencia de datos en curso. De esta manera, el ordenador central puede seleccionar una tarea para comenzar después de la finalización de la transferencia de datos actual mientras la transferencia de datos actual todavía está en curso.
5
10
15
20
25
30
35
40
45
50
55
60
65
[0017] Cuando el ordenador central crea una tarea, el ordenador central sabe a priorí cuántos datos van a transferirse. Dado que el ordenador central también indica al dispositivo cuándo comenzar la transferencia de datos, el ordenador central puede determinar cuándo está a punto de finalizar una transferencia de datos asociada con una determinada tarea. Por consiguiente, el ordenador central puede programar una consulta de sondeo en algún momento antes de completar la transferencia de datos. En un aspecto a modo de ejemplo, la consulta de sondeo tiene la forma de una señal de comando SEND_QUEUE_STATUS (CMD13) desde el ordenador central al dispositivo. El dispositivo responde con información del estado de la cola. El ordenador central tiene suficiente información sobre qué tareas están listas para su ejecución en la cola. Al final de la transferencia de datos actual, el ordenador central puede emitir un comando para ejecutar una nueva tarea. Esta disposición evita la necesidad de un pasador adicional. Evitar los pasadores adicionales ahorra espacio y dinero. Del mismo modo, esta disposición reduce el número de consultas de sondeo al vincular el caso de sondeo al final próximo de la transferencia de datos en lugar de depender de un sondeo periódico. Es decir, si el sondeo se realiza periódicamente, el ordenador central puede sondear dos veces (o más) durante una única transferencia de datos. Por el contrario, la presente divulgación tiene solamente un único caso de sondeo durante una única transferencia de datos (próxima al final de la transferencia de datos). La eliminación del sondeo adicional proporciona un uso más eficiente del bus de datos.
[0018] La adición de la cola de comandos en un sistema eMMC permite que el dispositivo optimice el orden de ejecución. Dicha optimización puede prolongar la duración de la batería y/o eliminar el retardo en la ejecución de las tareas. La cola de comandos facilita que el dispositivo notifique al ordenador central el estado actual de la cola y mejora el manejo de los errores. Adicionalmente, la cola de comandos mejora los aspectos de temporización para los comandos.
[0019] A este respecto, la Figura 1 es un diagrama de bloques de un ordenador central 10 acoplado a un dispositivo 12 a través de conductores 14. Las comunicaciones entre el ordenador central 10 y el dispositivo 12 se ajustan a la norma eMMC tal como la norma eléctrica eMMC 5.0 publicada por la Asociación de fabricantes de dispositivos electrónicos (JEDEC) en junio de 2012. La revisión 5.01 se publicó en julio de 2014. Actualmente se está trabajando para completar la revisión 5.1, con una publicación objetivo de diciembre de 2014. Copias de esta norma están disponibles en la JEDEC en 3103 North 10th Street, Suite 240 South, Arlington VA 22201 -2107. El ordenador central 10 incluye un controlador de ordenador central 16 que es un sistema basado en hardware con una interfaz de comunicación 18 apropiada. El controlador de ordenador central 16 interactúa con el software de ordenador central 20. En conjunto, el controlador de ordenador central 16 y el software de ordenador central 20 son un sistema de control.
[0020] Con referencia continua a la Figura 1, el dispositivo 12 incluye un controlador 22 que es un sistema basado en hardware con una interfaz de comunicación 24 apropiada. El dispositivo 12 incluye además una unidad de memoria 26 (por ejemplo, un dispositivo de almacenamiento Flash AND y NOT AND (NAND) negado). El dispositivo 12 comprende además una cola de tareas 28. En conjunto, el controlador 22 y cualquier software y firmware asociado con el funcionamiento del controlador 22 son un sistema de control.
[0021] Hubo una propuesta conjunta de Samsung, SanDisk y Qualcomm antes de la JEDEC para incluir colas de comandos a través de un pasador QRDY. El uso de dicho pasador QRDY puede permitir la cola de comandos, pero puede aumentar los costes y/o imponer una penalización de espacio. Sin embargo, para ayudar a los aspectos de contraste de la presente divulgación, los aspectos de un pasador QRDY se establecen en la Figura 2. En particular, la Figura 2 proporciona una progresión de señal contra el flujo de tiempo 30 para un pasador QRDY.
[0022] En este sentido, la Figura 2 ilustra el diagrama de temporización. En particular, el ordenador central 10 envía un comando 32 (C) y recibe una respuesta (R) 34. El comando 32 da instrucciones al dispositivo 12 para comenzar la ejecución de una tarea en la cola en el dispositivo 12. Después de la respuesta 34, comienza el flujo de datos 36. Mientras el flujo de datos 36 está en progreso, el dispositivo 12 termina de preparar una tarea en la cola de tareas 28 para su ejecución. El pin QRDY 38 pasa de un nivel alto a uno bajo (véase la transición 40). El cambio en el nivel del pasador QRDY 38 causa que el ordenador central 10 envíe un comando 42 al dispositivo 12. En un aspecto a modo de ejemplo, el comando 42 es una CMD13. El dispositivo 12 devuelve una respuesta 44, que puede incluir el estado de cola (QS) que incluya la tarea recién preparada. Al final del flujo de datos 36, el ordenador central envía un nuevo comando 46 que da instrucciones al dispositivo 12 para comenzar la ejecución de una de las tareas preparadas en la cola de tareas 28. El uso del pin QRDY 38 permite al ordenador central 10 saber cuándo están las tareas para su ejecución. El ordenador central 10 puede emitir los comandos de ejecución apropiados al final de un flujo de datos existente en lugar de tener que esperar al final de un flujo de datos, consultar el estado de cola al final del flujo de datos y luego emitir un comando de ejecución de tareas después de la consulta.
[0023] Aunque la adición del pasador QRDY 38 facilita la cola de comandos y su ahorro de tiempo correspondiente y el uso eficiente del bus de datos, la adición de un pasador se añade al gasto de fabricación e impone una penalización de diseño ya que un conductor adicional debe enrutarse al nuevo pasador. Además, la adición de un pasador aumenta la huella del dispositivo y del ordenador central con el pasador en relación con un dispositivo similar (y ordenador central) sin el pasador adicional. Por tanto, la adición del pasador QRDY 38 no es en general deseable.
5
10
15
20
25
30
35
40
45
[0024] Aspectos de la presente divulgación evitan el uso del pasador QRDY 38 utilizando el conocimiento que el ordenador central 10 tiene con respecto a la transferencia de datos actualmente activa acoplada con un CMD13 para garantizar una actualización puntual en cuanto al estado de cola en el dispositivo 12. Se pueden añadir registros adicionales en el rango específico del proveedor del mapa de registro de la interfaz de controlador de ordenador central (HCI) para ayudar a facilitar los procesos de la presente divulgación. Antes de abordar los registros añadidos, se proporciona una visión general del proceso.
[0025] A este respecto, la Figura 3 ilustra una progresión de señal contra el flujo de tiempo 50. Las señales comienzan con el ordenador central 10 enviando un comando 52 al dispositivo 12 y recibiendo una respuesta 54. El comando 52 da instrucciones al dispositivo 12 para ejecutar una tarea preparada. El dispositivo 12 ejecuta la tarea de listo y comienza la transferencia de datos 56. El ordenador central 10 sabe a priori cuántos datos se transferirán como parte de la transferencia de datos 56 y sabe por tanto (o puede calcular) cuándo se producirá el final 58 de la transferencia de datos 56. Por tanto, dado que el sistema de control del ordenador central 10 puede saber cuándo se producirá el final 58 de la transferencia de datos 56, el sistema de control del ordenador central 10 puede seleccionar un tiempo anterior a, pero próximo al final 58. El sistema de control del ordenador central 10 envía un CMD13 60 al dispositivo 12 en este momento seleccionado. El CMD13 60 incluye una consulta sobre el estado de la cola de tareas 28. El dispositivo 12 responde con una señal QS 62 que tiene información sobre el estado de la cola de tareas 28, que incluye información sobre todas las tareas que están listas para su ejecución. En base a las tareas listas, el ordenador central 10 emite un comando 64 para ejecutar una tarea, y el proceso se repite.
[0026] Un diagrama de flujo más robusto de un proceso 98 detrás de la progresión de la señal contra el flujo de tiempo 50 se presenta con referencia a la Figura 4. El proceso 98 comienza con el ordenador central 10 creando una o más tareas para su ejecución por el dispositivo 12 (bloque 100). El ordenador central 10 pone en cola las tareas (bloque 102) y pasa una o más tareas al dispositivo 12 (bloque 104) con un comando para poner en cola la(s) tarea(s). El dispositivo 12 pone en cola las tareas y comienza a preparar las tareas para su ejecución (bloque 106). En algún punto, el dispositivo 12 termina de preparar una o más tareas para su ejecución (bloque 108) y el dispositivo 12 actualiza la cola de tareas 28.
[0027] Inicialmente, el ordenador central 10 envía un CMD13 al dispositivo 12 y se entera de que una tarea está lista (bloque 110). El ordenador central 10 ordena al dispositivo 12 ejecutar la tarea preparada (bloque 112). El dispositivo 12 ejecuta la tarea y se produce la transferencia de datos 56. Mientras tanto, el dispositivo 12 continúa preparando tareas en la cola para su ejecución (bloque 114). Una o más tareas adicionales pueden prepararse de esta manera.
[0028] El ordenador central 10, en base a su conocimiento a priori de cuándo se producirá el final 58 de la transferencia de datos 56, envía un CMD13 60 antes pero próximo al extremo 58 de la transferencia de datos 56 (bloque 116). El dispositivo 12 responde con un mensaje de estado de cola (bloque 118) que incluye las tareas que se han preparado para su ejecución desde la última actualización proporcionada al ordenador central 10. Si no hay una tarea lista para su ejecución en el bloque 118, el sistema vuelve al bloque 108 y ejecuta un sondeo periódico hasta que una tarea esté lista. Sin embargo, si hay una tarea lista para su ejecución, la transferencia de datos 56 se completa (bloque 120) y el ordenador central 10 envía un comando (CMD46 o CMD47) 64 al dispositivo 12 para ejecutar una tarea preparada (bloque 122). El proceso 98 luego se repite como se indica con el dispositivo 12 que ejecuta la tarea.
[0029] Como se indicó anteriormente, pueden incluirse varios registros como Cola de Comandos HCI. Estos registros se resumen en la Tabla 1 a continuación:
Desplazamiento desde CQBASE Símbolo Nombre de registro
CFG y CAP
00h CQVER Versión de Cola de Comandos
04h
CQCAP Capacidades de Colas de Comandos (reservadas)
08h
CQCFG Configuración de Cola de comandos
0Ch
CQCTL Control de Cola de comandos
Control de Interrupción
10h CQIS Estado de Interrupción de Cola de comandos
14h
CQISTE Estado de Interrupción de Cola de Comandos Activado
Desplazamiento desde CQBASE Símbolo Nombre de registro
18h CQISGE Señal de Interrupción de Cola de Comandos Activada
1CH
CQIC Interrupción de Cola de Comandos Coalescente
Presentación de Tarea
20h CQTDLBA Dirección Base de Lista de Descriptores de Tareas de Cola de Comandos
24h
CQTDLBAU Dirección Base de Lista de Descriptores de Tareas de Cola de Comandos de más de 32 bits
28h
CQTDBR Timbre de Tarea de Cola de Comandos
2C h
CQTCN Notificación de Finalización de Tareas de Cola de Comandos
Administración de Tareas
30h CQDQS Estado de Cola de Dispositivo de Cola de Comandos
34h
CQDPT Tareas Pendientes de Dispositivo de Cola de Comandos
38h
CQTCLR Tarea de Cola de Comandos Clara
SQSy DCMD
40h CQSSC1 Configuración de Estado de Envío de Cola de Comandos 1
44h
CQSSC2 Configuración de Estado de Envío de Cola de Comandos 2
48h
CQCRDCT Respuesta de Comando de Cola de Comandos para Tarea de Comando Directo
Manejo de los Errores
50h CQRMEM Máscara de Error de Modo de Respuesta de Cola de Comandos
54h
CQTERRI Información de Error de Tarea de Cola de Comandos
58h
CQCRI Índice de Respuesta de Comando de Cola de Comandos
5Ch
CQCRA Argumento de Respuesta de Comando de Cola de Comandos
Tabla 1: lista de registros
[0030] Mientras que estos se describen con detalle en la solicitud provisional principal, es de particular interés el
5 campo Temporizador Inactivo de Comando de Estado de Envío del Registro de la Configuración de Estado de Envío
1, que permite que el controlador de ordenador central 16 conozca el período de tiempo para sondear el dispositivo 12 que use el comando ESTADO para verificar el estado de la cola de comandos. El sondeo periódico se usa cuando las tareas están pendientes en el dispositivo 12, pero no se realiza transferencia de datos. Adicionalmente, obsérvese que las diferentes implementaciones pueden referirse a diferentes registros por diferentes nombres (por 10 ejemplo, "Configuración de Estado de Envío de Cola de Comandos 1") sin apartarse del alcance de la presente divulgación.
[0031] También es de particular interés el campo Contador de Bloque de Comando de Estado de Envío del Registro de la Configuración de Estado de Envío 1, que indica al controlador de ordenador central 16 en qué bloque enviar el
15 comando ESTADO para verificar el estado de la cola de comandos. El ordenador central 10 enviará el comando de
estado BLOCK CNT-1 antes del final de la transferencia.
5
10
15
20
25
30
35
40
45
50
55
60
65
[0032] Aunque no se muestre, el sistema de control puede emitir una petición de administración de cola, que puede incluir un comando para descartar una tarea.
[0033] Los sistemas y los procedimientos para proporcionar colas de comandos en la norma eMMC de acuerdo con los aspectos divulgados en el presente documento pueden proporcionarse o integrarse en cualquier dispositivo basado en procesador. Los ejemplos, sin limitación, incluyen: un módulo de conexión, una unidad de entretenimiento, un dispositivo de navegación, un dispositivo de comunicaciones, una unidad de datos de ubicación fija, una unidad de datos de ubicación móvil, un teléfono móvil, un teléfono celular, un ordenador, un ordenador portátil, un ordenador de sobremesa, un asistente digital personal (PDA), un monitor, un monitor de ordenador, un televisor, un sintonizador, una radio, una radio por satélite, un reproductor de música, un reproductor de música digital, un reproductor de música portátil, un reproductor de vídeo digital, un reproductor de vídeo, un reproductor de discos de vídeo digital (DVD) y un reproductor de vídeo digital portátil.
[0034] A este respecto, la Figura 5 ilustra un ejemplo de un sistema basado en procesador 140 que puede emplear el ordenador central 10 y el dispositivo 12 ilustrados en la Figura 1. En este ejemplo, el sistema basado en procesador 140 incluye una o más unidades centrales de procesamiento (CPU) 142, que incluyen cada una uno o más procesadores 144. La o las CPU 142 puede(n) ser un dispositivo maestro y ejecutar el software 20. La o las CPU 142 puede(n) tener una memoria caché 146 acoplada al/a los procesador(es) 144 para un rápido acceso a datos almacenados temporalmente. La(s) CPU 142 está(n) acoplada(s) a un bus de sistema 148 y puede(n) interacoplar dispositivos maestros y dispositivos esclavos, incluidos en el sistema 140 basado en procesador. Como es bien sabido, la o las CPU 142 se comunica(n) con estos otros dispositivos intercambiando información de dirección, control y datos por el bus del sistema 148. Por ejemplo, la(s) CPU 142 puede(n) comunicar peticiones de transacción de bus al sistema de memoria 150 que puede ser el dispositivo 12. Las peticiones de transacción pueden pasar a través de un controlador de memoria 149, que puede ser un controlador de ordenador central 16. Aunque no se ilustra en la Figura 5, podrían proporcionarse múltiples buses de sistema 148, donde cada bus de sistema 148 constituye una estructura diferente.
[0035] Otros dispositivos pueden conectarse al bus de sistema 148. Como se ilustra en la Figura 5, estos dispositivos pueden incluir un sistema de memoria 150, uno o más dispositivos de entrada 152, uno o más dispositivos de salida 154, uno o más dispositivos de interfaz de red 156 y uno o más controladores de visualización 158, como ejemplos. El/los dispositivo(s) 152 puede(n) incluir cualquier tipo de dispositivo de entrada, incluyendo, pero sin limitarse a, teclas de entrada, conmutadores, procesadores de voz, etc. El/los dispositivo(s) de salida 154 puede(n) incluir cualquier tipo de dispositivo de salida, incluyendo, pero sin limitarse a, audio, vídeo, otros indicadores visuales, etc. El/los dispositivo(s) de interfaz de red 156 puede(n) ser cualquier dispositivo configurado para permitir el intercambio de datos a y desde una red 160. La red 160 puede ser cualquier tipo de red, incluyendo, pero sin limitarse a, una red alámbrica o inalámbrica, una red privada o pública, una red de área local (LAN), una LAN amplia, una LAN inalámbrica e Internet. El/los dispositivo(s) de interfaz de red 156 puede(n) configurarse para admitir cualquier tipo de protocolo de comunicación deseado.
[0036] La(s) CPU 142 también puede(n) configurarse para acceder al/a los controlador(es) de visualización 158 por el bus de sistema 148, para controlar información enviada a una o más pantallas 162. El/los controlador(es) de visualización 158 envía(n) información a la(s) pantalla (s) 162, para que se visualice(n) a través de uno o más procesadores de vídeo 164, que procesan la información que vaya de visualizarse a un formato adecuado para la(s) pantalla(s) 162. La(s) pantalla(s) 162 puede(n) incluir cualquier tipo de pantalla, incluyendo, pero sin limitarse a, un tubo de rayos catódicos (CRT), una pantalla de cristal líquido (LCD), una pantalla de plasma, etc.
[0037] Los expertos en la técnica apreciarán además que los diversos bloques lógicos ilustrativos, módulos, circuitos y algoritmos descritos en conexión con los aspectos divulgados en el presente documento puedan implementarse como hardware electrónico, instrucciones almacenadas en la memoria o en otro medio legible por ordenador y ejecutarse por un procesador u otro dispositivo de procesamiento, o combinaciones de ambos. Los servidores y los dispositivos descritos en el presente documento pueden emplearse en cualquier circuito, componente de hardware, circuito integrado (IC) o chip de IC, como ejemplos. La memoria divulgada en el presente documento puede ser una memoria de cualquier tipo y tamaño y puede configurarse para almacenar cualquier tipo de información deseada. Para ilustrar claramente esta intercambiabilidad, anteriormente se han descrito diversos componentes, bloques, módulos, circuitos y etapas ilustrativos, generalmente en términos de su funcionalidad. Cómo se implementa dicha funcionalidad depende de la aplicación en particular, de las elecciones de diseño y/o de las limitaciones de diseño que se imponen en el sistema general. Los expertos en la técnica pueden implementar la funcionalidad descrita de diferentes maneras para cada aplicación particular, pero no debería interpretarse que dichas decisiones de implementación suponen apartarse del alcance de la presente divulgación.
[0038] Los diversos bloques lógicos ilustrativos, módulos y circuitos descritos con relación a los modos de realización divulgados en el presente documento pueden implementarse o realizarse con un procesador, un procesador de señales digitales (DSP), un circuito integrado específico de la aplicación (ASIC), una matriz de puertas programables por campo (FPGA) u otro dispositivo lógico programable, compuerta discreta o lógica de transistor, componentes discretos de hardware o cualquier combinación de los mismos diseñada para realizar las funciones descritas en el presente documento. Un procesador puede ser un microprocesador, pero, como
5
10
15
20
25
30
35
alternativa, el procesador puede ser cualquier procesador, controlador, microcontrolador o máquina de estado convencional. Un procesador también puede implementarse como una combinación de dispositivos informáticos, por ejemplo, una combinación de un DSP y un microprocesador, una pluralidad de microprocesadores, uno o más microprocesadores junto con un núcleo de DSP o cualquier otra configuración de este tipo.
[0039] Los aspectos divulgados en el presente documento pueden realizarse en hardware y en instrucciones que estén almacenadas en hardware, y pueden residir, por ejemplo, en Memoria de Acceso Aleatorio (RAM), memoria flash, Memoria de Solo Lectura (ROM), ROM Eléctricamente Programable (EPROM), ROM Programable Eléctricamente Borrable (EEPROM), registros, un disco duro, un disco extraíble, un CD-ROM o cualquier otra forma de medio legible por ordenador conocido en la técnica. Un medio de almacenamiento a modo de ejemplo está acoplado al procesador de tal manera que el procesador puede leer información de, y escribir información en, el medio de almacenamiento. De forma alternativa, el medio de almacenamiento puede estar integrado en el procesador. El procesador y el medio de almacenamiento pueden residir en un ASIC. El ASIC puede residir en una estación remota. Como alternativa, el procesador y el medio de almacenamiento pueden residir como componentes discretos en una estación remota, una estación base o un ordenador central.
[0040] También se observa que las etapas operativas descritas en cualquiera de los modos de realización ejemplares en el presente documento están descritas para proporcionar ejemplos y análisis. Las operaciones descritas pueden realizarse en numerosas secuencias diferentes distintas de las secuencias ilustradas. Además, las operaciones descritas en una única etapa operativa pueden realizarse realmente en varias etapas diferentes. Adicionalmente, pueden combinarse una o más etapas operativas analizadas en los aspectos a modo de ejemplo. Se entenderá que las etapas operativas ilustradas en los diagramas de flujo pueden someterse a numerosas modificaciones diferentes como resultará evidente fácilmente por un experto en la técnica. Los expertos en la técnica también entenderán que la información y las señales pueden representarse usando cualquiera entre una amplia variedad de distintas tecnologías y técnicas. Por ejemplo, los datos, las instrucciones, los comandos, la información, las señales, los bits, los símbolos y los chips que puedan haberse mencionado a lo largo de la descripción anterior pueden representarse mediante tensiones, corrientes, ondas electromagnéticas, campos o partículas magnéticos, campos o partículas ópticos o cualquier combinación de los mismos.
[0041] La descripción anterior de la divulgación se proporciona para permitir que cualquier experto en la técnica realice o use la divulgación. Diversas modificaciones a la divulgación resultarán inmediatamente evidentes para los expertos en la técnica, y los principios genéricos definidos en el presente documento pueden aplicarse a otras variantes sin apartarse del alcance de la divulgación. Por tanto, la divulgación no está prevista para limitarse a los ejemplos y diseños descritos en el presente documento, sino que se le concede el alcance más amplio compatible con las reivindicaciones adjuntas.

Claims (11)

1.
10
15
2.
20
3.
25
30 4.
35
40
5.
45
6.
50 7.
8.
55
9.
60 10.
REIVINDICACIONES
Un ordenador central (10) que comprende:
un transceptor (18) configurado para transmitir señales a y recibir señales desde un dispositivo (12) compatible con una norma de Tarjeta Multimedia incorporada, eMMC; y
un sistema de control (16, 20) acoplado operativamente al transceptor y caracterizado por estar configurado para:
emitir un comando (60) al dispositivo (12) para determinar un estado de un registro de estado de cola, QSR, en el dispositivo; determinar un final próximo (58) a una transferencia de datos actual (56) desde el dispositivo; y
recibir una respuesta (62) desde el dispositivo con información sobre el QSR del dispositivo antes del final próximo (58).
El ordenador central (10) de la reivindicación 1, en el que el sistema de control (16, 20) está configurado además para emitir el comando próximo en el tiempo a y antes del final próximo.
El ordenador central (10) de la reivindicación 1, integrado en un dispositivo seleccionado a partir del grupo que consta de: un decodificador, una unidad de entretenimiento, un dispositivo de navegación, un dispositivo de comunicaciones, una unidad de datos de ubicación fija, una unidad de datos de ubicación móvil, un teléfono móvil, un teléfono celular, un ordenador, un ordenador portátil, un ordenador de sobremesa, un asistente digital personal, PDA, un monitor, un monitor de ordenador, un televisor, un sintonizador, una radio, una radio por satélite, un reproductor de música, un reproductor de música digital, un reproductor de música portátil, un reproductor de vídeo digital, un reproductor de vídeo, un reproductor de disco de vídeo digital, DVD, y un reproductor de vídeo digital portátil.
Un dispositivo (12) que comprende:
un transceptor (24) configurado para transmitir señales a y recibir señales desde un ordenador central (10) compatible con una norma de Tarjeta Multimedia incorporada, eMMC; y
un sistema de control (22) acoplado operativamente al transceptor y caracterizado por estar configurado para:
recibir un comando (60) desde el ordenador central (10) para determinar un estado de un registro de estado de cola, QSR, en el dispositivo; y
transmitir una respuesta (62) al ordenador central con información sobre el QSR del dispositivo antes de un final próximo (58) a una transferencia de datos actual (56) desde el dispositivo (12).
El dispositivo (12) de la reivindicación 4, en el que el sistema de control (22) está configurado además para determinar el estado del QSR en el dispositivo antes de transmitir la respuesta.
El dispositivo (12) de la reivindicación 4 o el ordenador central (10) de la reivindicación 1, en el que el sistema de control está configurado además para recibir un comando para poner en cola una tarea.
El dispositivo (12) de la reivindicación 4 o el ordenador central (10) de la reivindicación 1, en el que el sistema de control está configurado además para recibir una petición de gestión de cola.
El dispositivo (12) u ordenador central (10) de la reivindicación 7, en el que la petición de gestión de cola es un comando para descartar una tarea.
El dispositivo (12) de la reivindicación 4 o el ordenador central (10) de la reivindicación 1, en el que el sistema de control está configurado además para recibir un comando de ejecución de tarea de lectura o un comando de ejecución de tarea de escritura.
Un procedimiento (98) para hacer funcionar un ordenador central de Tarjeta Multimedia incorporada, eMMC, (10), que comprende:
transmitir (116) señales desde el ordenador central eMMC (10) a un dispositivo (12) que incluya un comando (60) para determinar un estado de un registro de estado de cola, QSR, en el dispositivo (12);
determinar un final próximo (58) a una transferencia de datos actual (56) desde el dispositivo (12); y
recibir (118) una respuesta (62) del dispositivo (12) con información sobre el QSR del dispositivo antes del final próximo (58).
5 11. El procedimiento (98) de la reivindicación 10, que comprende además emitir el comando próximo en el tiempo
hasta y antes del final próximo (58).
12. El procedimiento (98) de la reivindicación 10, que comprende además emitir un comando para poner en cola una tarea.
10
13. El procedimiento (98) de la reivindicación 10, que comprende además emitir una petición de gestión de cola.
14. El procedimiento (98) de la reivindicación 13, en el que emitir la petición de gestión de cola comprende ordenar al dispositivo (12) descartar una tarea.
15
15. El procedimiento (98) de la reivindicación 10, que comprende además emitir un comando de ejecución de tarea de lectura o un comando de ejecución de tarea de escritura.
ES14772505.5T 2013-09-10 2014-09-08 Proporcionar cola de comandos en memorias incorporadas Active ES2650121T3 (es)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361875721P 2013-09-10 2013-09-10
US201361875721P 2013-09-10
US14/478,032 US9519440B2 (en) 2013-09-10 2014-09-05 Providing command queuing in embedded memories
US201414478032 2014-09-05
PCT/US2014/054527 WO2015038468A1 (en) 2013-09-10 2014-09-08 Providing command queuing in embedded memories

Publications (1)

Publication Number Publication Date
ES2650121T3 true ES2650121T3 (es) 2018-01-17

Family

ID=52626671

Family Applications (1)

Application Number Title Priority Date Filing Date
ES14772505.5T Active ES2650121T3 (es) 2013-09-10 2014-09-08 Proporcionar cola de comandos en memorias incorporadas

Country Status (22)

Country Link
US (1) US9519440B2 (es)
EP (1) EP3044688B1 (es)
JP (1) JP6165342B2 (es)
KR (1) KR101817932B1 (es)
CN (1) CN105518640B (es)
AR (1) AR099265A1 (es)
AU (1) AU2014318040B2 (es)
BR (1) BR112016005365B1 (es)
CA (1) CA2920900C (es)
CL (1) CL2016000559A1 (es)
ES (1) ES2650121T3 (es)
HK (1) HK1222006A1 (es)
HU (1) HUE037357T2 (es)
MX (1) MX349240B (es)
MY (1) MY176801A (es)
NZ (1) NZ717269A (es)
PH (1) PH12016500353B1 (es)
RU (1) RU2640652C2 (es)
SA (1) SA516370692B1 (es)
SG (1) SG11201600762WA (es)
TW (1) TWI588662B (es)
WO (1) WO2015038468A1 (es)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9824004B2 (en) * 2013-10-04 2017-11-21 Micron Technology, Inc. Methods and apparatuses for requesting ready status information from a memory
KR102111741B1 (ko) * 2014-01-10 2020-05-15 삼성전자주식회사 임베디드 멀티미디어 카드 및 이의 동작 방법
US10108372B2 (en) * 2014-01-27 2018-10-23 Micron Technology, Inc. Methods and apparatuses for executing a plurality of queued tasks in a memory
US9454310B2 (en) * 2014-02-14 2016-09-27 Micron Technology, Inc. Command queuing
KR102254099B1 (ko) * 2014-05-19 2021-05-20 삼성전자주식회사 메모리 스와핑 처리 방법과 이를 적용하는 호스트 장치, 스토리지 장치 및 데이터 처리 시스템
US10073714B2 (en) 2015-03-11 2018-09-11 Western Digital Technologies, Inc. Task queues
KR20160111222A (ko) * 2015-03-16 2016-09-26 에스케이하이닉스 주식회사 반도체 메모리 장치 및 메모리 컨트롤러를 포함하는 메모리 시스템, 그것을 포함하는 컴퓨팅 시스템
KR20160118836A (ko) * 2015-04-03 2016-10-12 에스케이하이닉스 주식회사 호스트 커맨드 큐를 포함하는 메모리 컨트롤러 및 그것의 동작 방법
GB2539443B (en) * 2015-06-16 2020-02-12 Advanced Risc Mach Ltd A transmitter, a receiver, a data transfer system and a method of data transfer
US10318193B2 (en) 2015-09-14 2019-06-11 Sandisk Technologies Llc Systems and methods of command authorization
US10379781B2 (en) * 2016-04-20 2019-08-13 Sandisk Technologies Llc Storage system and method for improved command flow
TWI587214B (zh) * 2016-04-21 2017-06-11 慧榮科技股份有限公司 資料儲存裝置、其控制單元及其任務排序方法
KR20190032809A (ko) * 2017-09-20 2019-03-28 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
CN107729140B (zh) * 2017-09-22 2020-07-28 华南理工大学 一种并行实现多个eMMC主机接口命令排队功能的装置及方法
US10303384B1 (en) 2017-11-28 2019-05-28 Western Digital Technologies, Inc. Task readiness for queued storage tasks
CN108397046B (zh) * 2018-04-23 2023-08-29 深圳市易联网络技术有限公司 智能钥匙扣联合管理系统与方法
CN108958950A (zh) * 2018-05-29 2018-12-07 联发科技(新加坡)私人有限公司 电子存储设备的任务管理方法、主机和存储装置
KR20220048303A (ko) 2020-10-12 2022-04-19 삼성전자주식회사 크레딧을 이용하는 호스트 장치와 스토리지 장치의 동작 방법
CN114116008B (zh) * 2022-01-26 2022-05-27 深圳佰维存储科技股份有限公司 命令队列管理方法、装置、可读存储介质及电子设备
CN117827704A (zh) * 2022-07-19 2024-04-05 荣耀终端有限公司 命令发送方法及电子设备

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6751606B1 (en) 1998-12-23 2004-06-15 Microsoft Corporation System for enhancing a query interface
WO2005050432A1 (ja) * 2003-11-19 2005-06-02 Matsushita Electric Industrial Co., Ltd. 記録媒体アクセス装置及び記録媒体アクセス方法
US20090094678A1 (en) 2007-10-05 2009-04-09 Nokia Corporation Mulimode device
KR101486987B1 (ko) * 2008-05-21 2015-01-30 삼성전자주식회사 불휘발성 메모리를 포함하는 반도체 메모리 장치 및 불휘발성 메모리를 위한 커맨드 스케줄링 방법
TWI424435B (zh) * 2009-08-31 2014-01-21 Phison Electronics Corp 對快閃記憶體下達程式化指令的方法、控制器與儲存系統
US9779057B2 (en) 2009-09-11 2017-10-03 Micron Technology, Inc. Autonomous memory architecture
US8356131B2 (en) * 2009-10-25 2013-01-15 Sony Mobile Communications Ab System and method for controlling interruption of a process in electronic equipment based on priority of the process, and program
US8615621B2 (en) * 2009-12-24 2013-12-24 St-Ericsson Sa Memory management
US8966176B2 (en) * 2010-05-27 2015-02-24 Sandisk Il Ltd. Memory management storage to a host device
US10026458B2 (en) 2010-10-21 2018-07-17 Micron Technology, Inc. Memories and methods for performing vector atomic memory operations with mask control and variable data length and data unit size
JP5762930B2 (ja) * 2011-11-17 2015-08-12 株式会社東芝 情報処理装置および半導体記憶装置
TWI521343B (zh) * 2011-08-01 2016-02-11 Toshiba Kk An information processing device, a semiconductor memory device, and a semiconductor memory device
TWI443513B (zh) * 2011-08-05 2014-07-01 Phison Electronics Corp 記憶體儲存裝置、記憶體控制器與資料寫入方法
JP5547154B2 (ja) 2011-09-21 2014-07-09 株式会社東芝 メモリ・デバイス
CN103946816B (zh) * 2011-09-30 2018-06-26 英特尔公司 作为传统大容量存储设备的替代的非易失性随机存取存储器(nvram)
JP5505456B2 (ja) * 2012-05-08 2014-05-28 ブラザー工業株式会社 デバイス制御システム及びプログラム
RU2486581C1 (ru) * 2012-07-11 2013-06-27 Открытое акционерное общество "Научно-исследовательский институт "Субмикрон" Параллельная вычислительная система с программируемой архитектурой

Also Published As

Publication number Publication date
JP2016529638A (ja) 2016-09-23
BR112016005365B1 (pt) 2022-01-11
JP6165342B2 (ja) 2017-07-19
PH12016500353A1 (en) 2016-07-04
TW201523271A (zh) 2015-06-16
MY176801A (en) 2020-08-21
HUE037357T2 (hu) 2018-08-28
WO2015038468A1 (en) 2015-03-19
PH12016500353B1 (en) 2016-07-04
EP3044688B1 (en) 2017-10-18
HK1222006A1 (zh) 2017-06-16
KR101817932B1 (ko) 2018-01-12
AU2014318040A1 (en) 2016-03-10
TWI588662B (zh) 2017-06-21
AR099265A1 (es) 2016-07-13
CN105518640A (zh) 2016-04-20
BR112016005365A2 (es) 2017-08-01
EP3044688A1 (en) 2016-07-20
CA2920900A1 (en) 2015-03-19
MX349240B (es) 2017-07-18
CA2920900C (en) 2018-05-15
CN105518640B (zh) 2018-11-27
AU2014318040B2 (en) 2018-09-13
US9519440B2 (en) 2016-12-13
KR20160053942A (ko) 2016-05-13
SG11201600762WA (en) 2016-03-30
MX2016002986A (es) 2016-06-02
NZ717269A (en) 2018-03-23
RU2640652C2 (ru) 2018-01-10
CL2016000559A1 (es) 2016-11-18
RU2016107809A (ru) 2017-10-16
SA516370692B1 (ar) 2018-10-04
US20150074294A1 (en) 2015-03-12

Similar Documents

Publication Publication Date Title
ES2650121T3 (es) Proporcionar cola de comandos en memorias incorporadas
JP6599397B2 (ja) フラッシュメモリにおけるコマンド完了の確認
EP3216172B1 (en) Predefined static enumeration for dynamic enumeration buses
US9881680B2 (en) Multi-host power controller (MHPC) of a flash-memory-based storage device
US9632953B2 (en) Providing input/output virtualization (IOV) by mapping transfer requests to shared transfer requests lists by IOV host controllers
US20160371222A1 (en) COHERENCY DRIVEN ENHANCEMENTS TO A PERIPHERAL COMPONENT INTERCONNECT (PCI) EXPRESS (PCIe) TRANSACTION LAYER
US9891945B2 (en) Storage resource management in virtualized environments
US9760515B2 (en) Shared control of a phase locked loop (PLL) for a multi-port physical layer (PHY)
ES2870516T3 (es) Proporcionar una gestión escalable de la caché de la memoria dinámica de acceso aleatorio (DRAM) mediante el uso de las cachés indicadoras de la caché DRAM
WO2016130256A1 (en) Bifurcated memory management for memory elements