ES2671336T3 - Método de gestión de la asignación de memoria flash en un token electrónico - Google Patents

Método de gestión de la asignación de memoria flash en un token electrónico Download PDF

Info

Publication number
ES2671336T3
ES2671336T3 ES08776262.1T ES08776262T ES2671336T3 ES 2671336 T3 ES2671336 T3 ES 2671336T3 ES 08776262 T ES08776262 T ES 08776262T ES 2671336 T3 ES2671336 T3 ES 2671336T3
Authority
ES
Spain
Prior art keywords
fragment
free memory
entry
memory fragment
memory
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
ES08776262.1T
Other languages
English (en)
Inventor
Franck Dehlinger
François-Xavier Marseille
Laurent Castillo
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.)
Thales DIS France SA
Original Assignee
Gemalto SA
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 Gemalto SA filed Critical Gemalto SA
Application granted granted Critical
Publication of ES2671336T3 publication Critical patent/ES2671336T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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

Landscapes

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

Abstract

Un método para gestionar la asignación de memoria flash en un token electrónico (ET), disponiendo dicho token (ET) de una memoria (ME) que comprende un área de lista (LA) y un área administrada (MA), comprendiendo dicha área administrada (MA) espacios asignados (AS1, AS2, AS3) y al menos un fragmento de memoria libre (FC1, FC2), comprendiendo dicha área de lista (LA) al menos una entrada válida (EN 1, EN3) que referencia un fragmento de memoria libre (FC1, FC2) comprendiendo dicha entrada válida (EN1, EN3) un campo de estado (SF), dicho método comprende los siguientes pasos: - seleccionar (S5) un fragmento de memoria libre (FC2) adicional a una solicitud de asignación, estando referenciado dicho fragmento de memoria libre (FC2) por un entrada válida anterior (EN3), - identificar (S6) un nuevo espacio asignado (AS5) en el fragmento de memoria libre seleccionado (FC2), caracterizado porque el campo de estado (SF) de dicha entrada válida (EN1, EN3) es p re-configurad o como estado virgen, y porque dicho método comprende el paso adicional de invalidar (S9) la entrada válida anterior (EN3) que referencia al fragmento de memoria libre seleccionado (FC2).

Description

5
10
15
20
25
30
35
40
45
50
55
60
65
DESCRIPCION
Método de gestión de la asignación de memoria flash en un token electrónico (Campo de la invención)
La presente Invención se refiere a métodos para gestionar la asignación de memoria flash en un token electrónico. Se refiere particularmente a los métodos de gestión de la asignación de espacios en memoria flash como la memoria flash ÑOR.
(Técnica anterior)
Los mecanismos de asignación y recolección de basura utilizados con una memoria flash deben cumplir con las restricciones especificas de este tipo de memoria. Por ejemplo, el componente de memoria flash ÑOR tiene las siguientes características Una flash ÑOR se divide en bancos que normalmente tienen un tamaño de 256 Kbytes. Cada banco se divide generalmente en sectores que normalmente tienen un tamaño de 4 Kbytes Cada sector está dividido en páginas, que normalmente tiene un tamaño de 256 Bytes. Reescribir un byte en una página obliga a borrar primero la página completa que lo contiene. El acceso a la lectura de un byte es directo, ya que no es necesario cargar toda la página para acceder al byte. Para la operación de escritura, la granularidad de acceso es muy alta ya que se puede escribir un único bit Una operación de escritura corresponde a convertir un bit de 1 a 0. Además, una página se puede programar/borrar un número limitado de veces.
Al comienzo del ciclo de vida, el contenido de dicha memoria flash se predetermina en un estado virgen, es decir, todos los bytes se inicializan con un único valor preestablecido. En general, este estado virgen corresponde al valor más pequeño o más grande que tomar un byte (OxOOh o OxFFh).
Las memorias Flash y EEPROM difieren mucho una de otra. Las EEPROM son lentas, de acceso por bytes para lecturas y escrituras, tipos de memorias, mientras que las memorias flash se pueden programar más rápidamente, pero solo se pueden borrar página a página, y su tamaño de página puede variar mucho.
El sistema de asignación diseñado para EEPROM no es adecuado para memorias flash, lo que provoca una gran cantidad de borrados innecesarios y conduce a bajos rendimientos tanto para asignaciones como para liberaciones. Además, esos sistemas de asignación no pueden usar las características de las memorias flash para lograr asignaciones más rápidas.
La invención tiene como objetivo minimizar el número de borrados requeridos para la asignación de espacio en una memoria administrada.
La WOOQ/49488 se refiere a un modo de gestión de asignación de memoria flash.
(Sumario de la invención)
El objeto de la presente invención es un método para gestionar la asignación de memoria flash en un token electrónico. Dicho token tiene una memoria que comprende un área de lista y un área administrada. Dicha área administrada comprende espacios asignados y al menos un fragmento de memoria libre Dicha área de lista comprende al menos una entrada válida que referencia a un fragmento de memoria libre Dicha entrada válida comprende un campo de estado.
Dicho método comprende los siguientes pasos:
- seleccionar un fragmento de memoria libre además de una solicitud de asignación, estando dicho fragmento de memoria libre referenciado por una entrada válida anterior,
identificar un nuevo espacio asignado en el fragmento de memoria libre seleccionado.
Se predetermina el campo de estado de dicha entrada válida a estado virgen, y dicho método comprende el paso adicional de invalidar la entrada válida anterior que referencia al fragmento de memoria libre seleccionado.
La entrada válida anterior que referencia al fragmento de memoria libre seleccionado se puede invalidar escribiendo un valor predefinido en el campo de estado de dicha entrada válida anterior.
Dicho método puede comprender la etapa adicional de solicitar una compactación del área de la lista cuando dicha área de la lista contiene un número predefinido de entradas
Dichas entradas pueden inicializarse, de forma secuencial, en el área de la lista
Cada uno de los espacios asignados y cada fragmento de memoria libre se pueden definir por su propio tamaño.
5
10
15
20
25
30
35
40
45
50
55
60
65
Una entrada válida anterior puede comprender un identificador de fragmento de memoria asociado a un primer fragmento de memoria libre. Dicho método puede comprender el paso adicional de inicializar una nueva entrada válida en el área de la lista si el tamaño del nuevo espacio asignado es menor que el tamaño del primer fragmento de memoria libre seleccionado. En este caso, dicha nueva entrada válida referencia a un segundo fragmento de memoria libre y tiene el mismo identificador de fragmento de memoria que el identificador asociado al primer fragmento de memoria libre.
La solicitud de asignación puede definirse por un tamaño Dicho método puede comprender la etapa adicional de solicitar una compactación del área administrada cuando el tamaño de la solicitud de asignación es mayor que el tamaño de cada fragmento de memoria libre.
Otro objeto de la invención es un token electrónico que contiene un microprocesador y una memoria. Dicha memoria comprende un área de lista y un área administrada. Dicha área administrada comprende espacios asignados y al menos un fragmento de memoria libre Dicha área de la lista comprende al menos una entrada válida que referencia a un fragmento de memoria libre. Dicha entrada válida comprende un campo de estado. El campo de estado de dicha entrada válida está predeterminado como en estado virgen Dicho token comprende medios para identificar un nuevo espacio asignado en el área administrada, para inicializar una nueva entrada en el fragmento de memoria libre, y para invalidar la anterior entrada válida que referencia al fragmento de memoria libre donde se asigna el nuevo espacio.
Una entrada válida del área de lista puede comprender un identificador de fragmento de memoria asociado a un primer fragmento de memoria libre. Cuando se asigna un nuevo espacio en el primer fragmento de memoria libre, se puede inicializar una nueva entrada en el área de la lista. La nueva entrada puede referenciar a un segundo fragmento de memoria libre y tener el mismo identificador de fragmento de memoria que el identificador asociado al primer fragmento de memoria libre.
Cada entrada puede comprender al menos un campo de disponibilidad que indique si dicha entrada se utiliza o no. El valor no utilizado puede corresponder a un estado virgen del campo de disponibilidad
El número de entradas inicializadas en el área de lista puede limitarse a un umbral preestablecido
La memoria puede ser una memoria flash ÑOR.
El token puede ser una tarjeta inteligente, un teléfono móvil, un dispositivo de audio portátil, un dispositivo de navegación portátil o un token de memoria.
{Breve descripción de los dibujos)
Otras características y ventajas de la presente invención surgirán más claramente tras una lectura de la siguiente descripción de varias realizaciones preferidas de la invención con referencia a los correspondientes dibujos adjuntos, en los que:
la Figura 1 representa esquemáticamente la estructura de un token electrónico de tipo de tarjeta inteligente según la Invención;
la Figura 2 representa un ejemplo de estructura para una entrada del área de lista según la invención; la Figura 3 es un algoritmo para gestionar la asignación de espacio en la memoria flash según la invención;
La Figura 4 representa un ejemplo del estado de una memoria flash antes y después de una asignación de espacio de memoria en el área administrada;
La Figura 5 representa un ejemplo del estado de una memoria flash antes y después de una compactación del área de la lista.
(Descripción detallada de las realizaciones preferidas)
La invención se puede aplicar a cualquier tipo de token electrónico. En esta descripción, el token electrónico es una tarjeta inteligente pero podría ser cualquier otro tipo de token electrónico o dispositivo portátil que utilice una memoria flash El área de la lista se gestiona como una lista de entrada anotada en diario donde las entradas se imcializan secuencialmente en dicha lista
La Figura 1 muestra la estructura de una tarjeta inteligente como un ejemplo de un token electrónico de acuerdo con una realización preferida de la invención La tarjeta inteligente ET contiene un microprocesador MP, una interfaz de comunicación IN y una memoria flash ME. La memoria flash ME contiene un área de lista LA y un área administrada MA.
La memoria ME puede consistir en un único circuito o varios circuitos que pueden ser de diferentes tipos.
Como se muestra en la Figura 2, cada entrada del área de la lista puede tener una estructura que comprenda un
5
10
15
20
25
30
35
40
45
50
55
60
65
campo de estado SF, un campo de disponibilidad AF, un identificador de fragmento de memoria ID, una tamaño de fragmento de memoria CL y un intervalo de fragmento de memoria CO.
En una realización preferida, una entrada se codifca en cinco bytes. El campo de disponibilidad AF está codificado en un bit que indica si la entrada se utiliza o no Por ejemplo, 1 significa que la entrada no se utiliza y 0 significa que se utiliza la entrada El campo de estado SF se puede codificar en un bit que indica si la entrada es válida o inválida. Por ejemplo, 1 significa que la entrada es válida y 0 significa que la entrada no es válida.
El identificador de fragmento de memoria ID se puede codificar en seis bits. Cada entrada válida tiene un identificador único.
El tamaño del fragmento de memoria CL corresponde al tamaño del fragmento de memoria libre referenciado. El tamaño del fragmento de memoria CL puede codificarse en dos bytes y el intervalo del fragmento de memoria CO puede codificarse en dos bytes. El intervalo del fragmento de memoria CO corresponde al intervalo en el que se encuentra el fragmento de memoria libre referenciado en el área administrada MA.
La Figura 2 muestra un ejemplo de una entrada válida que tiene un identificador de fragmento de memoria ID igual a 5, y que refiere un fragmento de memoria libre de 11 bytes en un intervalo de 38 bytes desde el comienzo del área administrada MA.
La Figura 3 muestra un algoritmo para gestionar la asignación de espacio en la memoria flash de acuerdo con la invención. Primero, en el paso S1, se emite una solicitud de asignación. Esta solicitud contiene un tamaño solicitado. Posteriormente, en el paso S2 se realiza una comprobación para verificar si el área de la lista LA se encuentra llena y permite inlcializar una nueva entrada.
Si el área de la lista LA está llena, se emite entonces una solicitud de compactaclón del área de lista LA en el paso S10.
Si el área de la lista LA no está llena, en la etapa S3 se inicia una búsqueda de un fragmento de memoria libre que tenga un tamaño igual o superior al tamaño solicitado.
Cuando se busca un fragmento de memoria libre, se realiza un escaneo del área de la lista LA. Para cada entrada, primero se verifica el campo de disponibilidad AF. SI el campo de disponibilidad AF se establece en el valor "usado", entonces se realiza una comprobación en el campo de estado SF Si el campo de estado SF se establece en el valor "válido", se realiza entonces una comparación entre el tamaño del fragmento de memoria CL y el tamaño solicitado El escaneo gira en bucle en el área de la lista LA hasta que se encuentre una entrada relevante o se llegue al final del área de la lista LA.
En el paso S4, si no se ha encontrado ningún fragmento de memoria libre, entonces se emite una solicitud de compactación del área administrada MA durante el paso S11. El área administrada MA puede estar muy fragmentada y potencialmente contiene muchos pequeños fragmentos libres
Si se encuentra un fragmento de memoria libre, entonces el fragmento de memoria encontrado se selecciona en el paso S5.
Seguidamente, en el paso S6, se identifica un nuevo espacio asignado que tiene el tamaño solicitado en el fragmento seleccionado.
En el paso S7, se realiza una comprobación para verificar si queda memoria libre en el fragmento de memoria seleccionado que no resulte necesaria para el nuevo espacio de memoria asignado.
SI el tamaño del fragmento de memoria seleccionado es mayor que el tamaño requerido, entonces se inicializa una nueva entrada en el área de la lista LA en el paso S8.
A continuación, la entrada anterior que referencia al fragmento seleccionado se invalida en el paso S9, cualquiera que sea el resultado de la comprobación del paso S7.
En una realización alternativa, la comprobación del paso S2 se puede realizar después del paso S7 si el tamaño del fragmento seleccionado es mayor que el tamaño solicitado.
En la figura 4 se muestra un ejemplo de la división de un fragmento de memoria libre seleccionado. En un primer estado, el área de lista LA contiene dos entradas válidas EN1 y EN3 y una entrada Inválida EN2 En este ejemplo, la cantidad máxima de entradas del área de la lista está limitada a cinco. El área administrada MA contiene dos fragmentos de memoria libres FC1 y FC2 y cuatro espacios de memoria asignados AS1, AS2, AS3 y AS4. Si el segundo fragmento libre FC2 se selecciona en el paso S5, y si el fragmento libre seleccionado tiene un tamaño superior al tamaño solicitado, la primera parte del fragmento seleccionado se puede dedicar al espacio AS5
5
10
15
20
25
30
35
40
45
50
asignado recientemente y la última parte del fragmento seleccionado permanece siendo un fragmento de memoria libre FC2. La entrada anterior EN3 que referencia al fragmento seleccionado FC2 se invalida al cambiar el valor de bit del campo de estado SF a 0. Una nueva entrada EN4 se inicializa en el área de lista LA al cambiar el valor de bit del campo de disponibilidad AF a 0. Esta nueva entrada EN4 referencia al fragmento libre restante FC2 con un tamaño de fragmento de memoria CL fijado en el tamaño anterior FC2 - el tamaño solicitado. La nueva entrada EN4 tiene el intervalo de fragmento de memoria CO fijado en el intervalo anterior FC2 + el tamaño solicitado.
La Figura 5 muestra un ejemplo de compactación del área de lista LA. En un primer estado, el área de lista LA contiene dos entradas válidas EN1 y EN5 y tres entradas inválidas EN2, EN3 y EN4. El área administrada MA contiene dos fragmentos de memoria libres FC1 y FC2 y cinco espacios de memoria asignados AS1, AS2, AS3, AS4 y AS5.
La compactación del área de la lista LA se puede realizar en una memoria de almacenamiento temporal volátil previamente inlcializada a OxFF. Cada entrada válida se carga entonces en la memoria de almacenamiento temporal y se contrae con otras si es necesario. Durante la operación de carga, las entradas se pueden organizar por Intervalo referenclado en orden ascendente. El identificador de fragmento de memoria libre ID de cada entrada se modifica para reflejar su posición en la lista ordenada Seguidamente, la memoria de almacenamiento temporal se vacia en el área de lista LA.
En el ejemplo de la figura 5, el área de lista LA contiene finalmente dos entradas válidas EN1 y EN2 y ninguna entrada no válida. El área administrada MA permanece sin cambios. La compactación del área de la lista LA evita el problema de saturación debido al número limitado de entradas en el área de lista LA.
Cada vez que se inicializa una nueva entrada en el área de la lista LA, se debe calcular un nuevo identificador de fragmento de memoria libre ID
Si la nueva entrada corresponde a un nuevo fragmento memoria libre, entonces se calcula un nuevo identificador de fragmento de memoria libre ID para que el nuevo identificador de fragmento de memoria libre ID sea más alto que todos los identificadores de fragmentos de memoria libres existentes.
Si la nueva entrada corresponde a un fragmento de memoria libre previamente existente cuyo tamaño ha cambiado, entonces el nuevo identificador de fragmento de memoria libre ID es igual al nuevo identificador de fragmento de memoria libre ID correspondiente al fragmento de memoria libre existente previamente. En otras palabras, incluso si el tamaño de un fragmento de memoria libre cambia, el identificador de fragmento de memoria libre asociado ID permanece inalterado.
Alternativamente, la consistencia del área de lista LA se puede verificar al reiniciar la tarjeta inteligente o antes de acceder al área de lista LA. Se realiza un escaneo de todas las entradas válidas. SI dos entradas válidas poseen el mismo identificador de fragmento de memoria libre ID, entonces la entrada válida que se ¡nlclalizó más recientemente en el área de lista LA debe considerarse como Inválida En consecuencia, su indicador de validez se borra a 0. Tal control de la consistencia del área de la lista LA permite evitar los efectos incómodos de una rotura o un corte de corriente
Una ventaja de la invención es permitir un sistema de asignación que está diseñado para asignar atómicamente un nuevo espacio de memoria. En otras palabras, una única operación de programación básica permite validar la asignación de un espacio de memoria. En particular, dicho sistema de asignación evita la apertura de una transacción para garantizar la coherencia del sistema de asignación y evita fugas de memoria en caso de rotura.
Cuando el área administrada MA es una cantidad considerable de Java, otra ventaja de la invención es permitir el uso de fragmentos de memoria libres liberados durante la recolección de basura sin requerir una operación de compactación del área administrada.

Claims (9)

  1. 5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    55
    60
    65
    REIVINDICACIONES
    1. Un método para gestionar la asignación de memoria flash en un token electrónico (ET), disponiendo dicho token (ET) de una memoria (ME) que comprende un área de lista (LA) y un área administrada (MA), comprendiendo dicha área administrada (MA) espacios asignados (AS1, AS2, AS3) y al menos un fragmento de memoria libre (FC1, FC2), comprendiendo dicha área de lista (LA) al menos una entrada válida (EN1, EN3) que referencia un fragmento de memoria libre (FC1, FC2) comprendiendo dicha entrada válida (EN1, EN3) un campo de estado (SF), dicho método comprende los siguientes pasos:
    - seleccionar (S5) un fragmento de memoria libre (FC2) adicional a una solicitud de asignación, estando referenciado dicho fragmento de memoria libre (FC2) por un entrada válida anterior (EN3),
    - identificar (S6) un nuevo espacio asignado (AS5) en el fragmento de memoria libre seleccionado (FC2),
    caracterizado porque el campo de estado (SF) de dicha entrada válida (EN1, EN3) es pre-configurado como estado virgen, y porque dicho método comprende el paso adicional de invalidar (S9) la entrada válida anterior (EN3) que referencia al fragmento de memoria libre seleccionado (FC2)
    2 Un método según la reivindicación 1, en el que la entrada anterior (EN3) que referencia al fragmento de memoria libre seleccionado (FC2) se invalida escribiendo un valor predefinido en el campo de estado (SF) de dicha entrada anterior (EN3).
  2. 3. Un método según las reivindicaciones 1 o 2, en el que dicho método comprende el paso adicional de solicitar (S10) una compactación del área de lista (LA) cuando dicha área de lista (LA) contiene un número predefinido de entradas
  3. 4. Un método según las reivindicaciones 1, 2 o 3, en el que dichas entradas (EN1, EN2, EN3) son ¡nicializadas secuencialmente en el área de lista (LA).
  4. 5. Un método según las reivindicaciones 1, 2, 3 o 4, en el que cada espacio asignado (AS1, AS2, AS3) y cada fragmento de memoria libre (FC1, FC2) están definidos por su propio tamaño, en el que una entrada válida anterior (EN3) comprende un identificador de fragmento de memoria (ID) asociado a un primer fragmento de memoria libre (FC2), y en que dicho método comprende el paso adicional de inicializar (S8) una nueva entrada válida (EN4) en el área de lista (LA) si el tamaño del nuevo espacio asignado (AS5) es más pequeño que el tamaño del primer fragmento de memoria libre (FC2). dicha nueva entrada válida (EN4) referenciando a un segundo fragmento de memoria libre (FC2) y teniendo el mismo identificador de fragmento de memoria (ID) que el identificador asociado al primero fragmento de memoria libre (FC2).
  5. 6. Un método según la reivindicación 5, en el que la solicitud de asignación se encuentra definida por un tamaño, y en el que dicho método comprende el paso adicional de solicitar (S11) una compactación del área administrada (MA) cuando el tamaño de la solicitud de asignación es mayor que el tamaño de cada fragmento de memoria libre (FC1, FC2)
  6. 7. Un token electrónico (ET) que contiene
    - un microprocesador (MP),
    - una memoria (ME) que comprende un área de lista (LA) y un área administrada (MA), comprendiendo dicha área administrada (MA) espacios asignados (AS1, AS2, AS3) y al menos un fragmento de memoria libre (FC2), comprendiendo dicha área de lista (LA) al menos una entrada válida (EN3) que referencia a un fragmento de memoria libre (FC2), comprendiendo dicha entrada válida (EN3) un campo de estado (SF),
    caracterizado porque el campo de estado (SF) de dicha entrada válida (EN3) está pre-configurado como estado virgen, y porque dicho token (ET) comprende medios para identificar un nuevo espacio asignado (AS5) en el fragmento de memoria libre (FC2), y para invalidar la entrada válida anterior (EN3) que referencia al fragmento de memoria libre (FC2) donde el nuevo espacio (AS5) es asignado
    8 Un token electrónico (ET) según la reivindicación 7, en el que una entrada válida (EN3) del área de lista (LA) comprende un identificador de fragmento de memoria (ID) asociado a un primer fragmento de memoria libre (FC2), y en el que cuando un nuevo espacio (AS5) es asignado en el primer fragmento de memoria libre (FC2), se inicializa una nueva entrada (EN4) en el área de lista (LA), referenciando dicha nueva entrada (EN4) un segundo fragmento de memoria libre (FC2) y teniendo el mismo identificador de fragmento de memoria (ID) que el identificador asociado al primer fragmento de memoria libre (FC2)
  7. 9. Un token electrónico (ET) según las reivindicaciones 7 u 8, en el que cada entrada comprende al menos un campo de disponibilidad (AF) que indica si dicha entrada se utiliza o no y en el que el valor no utilizado corresponde a un estado virgen del campo de disponibilidad (AF).
    10 Un token electrónico (ET) según las reivindicaciones 7, 8 o 9, en el que el número de entradas inicializadas en el área de lista (LA) está limitado a un umbral pre-establecido.
  8. 11. Un token electrónico (ET) según las reivindicaciones 7, 8, 9 o 10, en el que la memoria (ME) es una memoria flash ÑOR.
  9. 12. Un token electrónico (ET) según las reivindicaciones 7, 8, 9, 10 u 11, caracterizado porque el token (ET) es una tarjeta inteligente, un teléfono móvil, un dispositivo de audio portátil, un dispositivo de navegación portátil o un token de memoria.
    IN
    MP
    imagen1
    ET
    FIG. 1
    AF
    r
    CL
    A
    A
    1
    0 000101 oooooooo 00001011 oooooooo 00100110
    SF
    I
    ID
    Vv.
    ~Y"
    co
    j
    FIG. 2
ES08776262.1T 2007-06-08 2008-05-30 Método de gestión de la asignación de memoria flash en un token electrónico Active ES2671336T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP07301094 2007-06-08
EP07301094A EP2000913A1 (en) 2007-06-08 2007-06-08 Method of managing flash memory allocation in an electronic token
PCT/IB2008/001397 WO2008149194A1 (en) 2007-06-08 2008-05-30 Method of managing flash memory allocation in an electroni token

Publications (1)

Publication Number Publication Date
ES2671336T3 true ES2671336T3 (es) 2018-06-06

Family

ID=38565543

Family Applications (1)

Application Number Title Priority Date Filing Date
ES08776262.1T Active ES2671336T3 (es) 2007-06-08 2008-05-30 Método de gestión de la asignación de memoria flash en un token electrónico

Country Status (5)

Country Link
US (1) US8200937B2 (es)
EP (2) EP2000913A1 (es)
ES (1) ES2671336T3 (es)
NO (1) NO2156298T3 (es)
WO (1) WO2008149194A1 (es)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11797344B2 (en) * 2020-10-30 2023-10-24 Red Hat, Inc. Quiescent state-based reclaiming strategy for progressive chunked queue

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6182188B1 (en) * 1997-04-06 2001-01-30 Intel Corporation Method of performing reliable updates in a symmetrically blocked nonvolatile memory having a bifurcated storage architecture
AUPP638698A0 (en) * 1998-10-06 1998-10-29 Canon Kabushiki Kaisha Efficient memory allocator utilising a dual free-list structure
US6741593B1 (en) * 1998-12-18 2004-05-25 Cypress Semiconductor Corporation Circuit architecture and method for displaying port status in data communications switching system
GB9903490D0 (en) * 1999-02-17 1999-04-07 Memory Corp Plc Memory system
US20040001492A1 (en) * 2002-07-01 2004-01-01 Johnson Erik J. Method and system for maintaining a MAC address filtering table
KR100725410B1 (ko) * 2006-01-20 2007-06-07 삼성전자주식회사 전원 상태에 따라 비휘발성 메모리의 블록 회수를 수행하는장치 및 그 방법
KR100706808B1 (ko) * 2006-02-03 2007-04-12 삼성전자주식회사 쓰기 버퍼로서 동작하는 불 휘발성 메모리를 구비한 데이터저장 장치 및 그것의 블록 회수 방법
US7610468B2 (en) * 2006-10-26 2009-10-27 Hewlett-Packard Development Company, L.P. Modified buddy system memory allocation
US7716448B2 (en) * 2007-02-28 2010-05-11 Red Hat, Inc. Page oriented memory management

Also Published As

Publication number Publication date
US20100199030A1 (en) 2010-08-05
US8200937B2 (en) 2012-06-12
WO2008149194A1 (en) 2008-12-11
EP2156298A1 (en) 2010-02-24
EP2156298B1 (en) 2017-12-27
EP2000913A1 (en) 2008-12-10
NO2156298T3 (es) 2018-05-26

Similar Documents

Publication Publication Date Title
US8819385B2 (en) Device and method for managing a flash memory
JP5317689B2 (ja) メモリシステム
US9977623B2 (en) Detection of a sequential command stream
JP4188744B2 (ja) メモリカード
KR101200240B1 (ko) 메모리 시스템, 메모리 시스템의 제어 방법, 및 정보 처리 장치
US7711923B2 (en) Persistent flash memory mapping table
KR101186788B1 (ko) 메모리 시스템 및 메모리 시스템의 제어 방법
US7680977B2 (en) Page and block management algorithm for NAND flash
US8321652B2 (en) Process and method for logical-to-physical address mapping using a volatile memory device in solid state disks
US7594067B2 (en) Enhanced data access in a storage device
KR20080063466A (ko) 플래시 메모리 관리
KR101662969B1 (ko) 동적으로 할당된 더티 마스크 공간을 이용한 메모리 관리
CN101681307A (zh) 存储器系统
US20200412379A1 (en) Data storage device and non-volatile memory control method
ES2671336T3 (es) Método de gestión de la asignación de memoria flash en un token electrónico
US8068363B2 (en) Flash memory apparatus and read operation control method therefor
KR100977709B1 (ko) 플래시메모리 저장장치 및 그에 따른 관리 방법
ES3056947T3 (en) An apparatus, method and computer program for managing memory page updates within non-volatile memory
TWI867597B (zh) 借助隨機特性控制來進行記憶體裝置的資料存取管理的方法、記憶體裝置、電子裝置以及記憶體裝置的記憶體控制器
KR20260057916A (ko) 가상주소를 사용하는 데이터 저장 장치 및 그 동작 방법과, 이를 위한 메모리 컨트롤러
JP6015461B2 (ja) 情報記録媒体、データ読み書き方法、及びデータ読み書きプログラム
KR20090107309A (ko) 플래시 메모리 데이터 기록방법 및 플래시 메모리