WO2002073622A1 - Electronic memory device and methods for controlling said device - Google Patents

Electronic memory device and methods for controlling said device Download PDF

Info

Publication number
WO2002073622A1
WO2002073622A1 PCT/FR2002/000717 FR0200717W WO02073622A1 WO 2002073622 A1 WO2002073622 A1 WO 2002073622A1 FR 0200717 W FR0200717 W FR 0200717W WO 02073622 A1 WO02073622 A1 WO 02073622A1
Authority
WO
WIPO (PCT)
Prior art keywords
flash memory
memory
controlling
suspension
erasure
Prior art date
Application number
PCT/FR2002/000717
Other languages
French (fr)
Inventor
Daniel Creusot
Jean-Maurice Cueff
Mark Morgant
Original Assignee
Thomson Licensing S.A.
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 Thomson Licensing S.A. filed Critical Thomson Licensing S.A.
Publication of WO2002073622A1 publication Critical patent/WO2002073622A1/en

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits

Definitions

  • the present invention relates to electronic memory devices and a method for controlling such devices.
  • RAM Random-Access-Memory
  • ROM read-only memory
  • flash memory which can be accessed in read and write mode and which retains the data it stores even without power supply.
  • the mode of operation of this type of memory is however more restrictive: the flash memory is organized in pages; writing bit by bit only allows writing a binary value (0 or 1 depending on the type of flash memory, but not both); the other binary value (1 or 0) can only be obtained by erasing an entire page.
  • erasures and writes are relatively long and then block access to read memory.
  • reading data we mean in particular reading executable data which define a program executable by the central unit.
  • the invention aims to use such a flash memory in a memory device comprising a central unit and a random access memory of reduced size.
  • the interrupt management code makes it possible, before any code execution necessary for processing the interrupt and present in flash memory, to test its state, and to control it in order to make it accessible for reading.
  • the interrupt management code therefore includes a flash memory driver. Indicators (flags) of the memory driver are updated in order to keep in memory the information "the operation in progress has been suspended". The code corresponding to the interrupt is executed, then the task of the memory driver takes over. The indicators are tested in order to know whether the erasing or writing operation in progress has been suspended, and if so, the operation is restarted.
  • This process is activated each time an interrupt is generated by the central processing unit (CPU).
  • CPU central processing unit
  • an electronic memory device comprising a random access memory and a flash memory with write and / or erase suspension for read access, in which the random access memory contains an interrupt management program controlling said suspension.
  • a method of controlling such a device comprises the following steps:
  • Another method of controlling such a device comprises the following steps:
  • FIG. 1 shows the method used when an interruption (IT) occurs when writing to flash memory
  • - Figure 2 shows the method used when an interruption (IT) occurs during an erasure in flash memory
  • - Figure 3 shows an electronic memory device according to the teachings of the invention.
  • a digital decoder is a special electronic device with memory that converts a coded digital signal into a video signal usable by a display device (for example a television).
  • the digital decoder comprises a central unit 12 linked to a random access memory 10 by a first bus 14 and to a flash memory 2 by a second bus 16.
  • the interrupt management code 8 (stored in flash memory when the digital decoder is not in operation) is loaded into the random access memory 10.
  • the central processing unit 12 executes instructions, for the most part from executable code 6 stored in flash memory.
  • the RAM 6 can thus be reduced to a minimum.

Landscapes

  • Read Only Memory (AREA)

Abstract

The invention relates to an electronic memory device comprising a random access memory (10) and a flash memory (2) with write suspension and/or deletion for read access. The random access memory (10) contains a management program for the interruptions controlling said suspension. The invention also relates to methods for controlling one such device.

Description

DISPOSITIF ELECTRONIQUE A MEMOIRE ET PROCEDES DE COMMANDE D'UN TEL DISPOSITIF MEMORY ELECTRONIC DEVICE AND METHODS FOR CONTROLLING SUCH A DEVICE
La présente invention concerne les dispositifs électroniques à mémoire ainsi qu'un procédé de commande de tels dispositifs.The present invention relates to electronic memory devices and a method for controlling such devices.
On connaît plusieurs types de mémoire dans les dispositifs électroniques : classiquement, on oppose la mémoire vive (en anglais Random-Access-Memory ou RAM) à la mémoire morte (Read-Only-Memory ou ROM). Des données peuvent être écrites ou lues dans la mémoire vive, mais ces données ne sont pas conservées lorsque le dispositif électronique n'est plus alimenté électriquement. Au contraire, les données inscrites dans une mémoire morte sont conservées même sans alimentation électrique, mais ce type de mémoire n'est accessible qu'en lecture.Several types of memory are known in electronic devices: conventionally, the random access memory (in English Random-Access-Memory or RAM) is opposed to the read-only memory (ROM). Data can be written or read in the RAM, but this data is not kept when the electronic device is no longer supplied with electricity. On the contrary, the data written in a read-only memory is kept even without power supply, but this type of memory is only accessible in reading.
Il existe aussi un type de mémoire dénommé mémoire flash qui peut être accédée en lecture et en écriture et qui conserve les données qu'elle stocke même sans alimentation électrique. Le mode de fonctionnement de ce type de mémoire est toutefois plus contraignant : la mémoire flash est organisée en pages ; l'écriture bit à bit ne permet d'écrire qu'une valeur binaire (0 ou 1 suivant le type de mémoire flash, mais pas les deux) ; l'autre valeur binaire (1 ou 0) ne peut être obtenue que par effacement d'une page entière. De plus, les effacements et écritures sont relativement longs et bloquent alors l'accès en lecture de la mémoire.There is also a type of memory called flash memory which can be accessed in read and write mode and which retains the data it stores even without power supply. The mode of operation of this type of memory is however more restrictive: the flash memory is organized in pages; writing bit by bit only allows writing a binary value (0 or 1 depending on the type of flash memory, but not both); the other binary value (1 or 0) can only be obtained by erasing an entire page. In addition, erasures and writes are relatively long and then block access to read memory.
Il a donc été proposé de gérer la mémoire flash avec un dispositif de contrôle et une mémoire vive comme proposé dans la demande de brevet DE 196 23 853. Toutefois, l'utilisation du dispositif de contrôle complique l'architecture du système.It has therefore been proposed to manage the flash memory with a control device and a random access memory as proposed in patent application DE 196 23 853. However, the use of the control device complicates the architecture of the system.
Plus récemment, on a introduit dans les mémoires flash, par exemple dans la mémoire flash "Intel StrataFlash J3"® (références 28FxxxJ3A), une instruction permettant à la mémoire de suspendre l'effacement en cours et de lire des données dans une page autre que celle de l'effacement en cours (instruction de suspension d'effacement) ainsi qu'une instruction correspondante de suspension d'écriture.More recently, an instruction has been introduced in the flash memories, for example in the "Intel StrataFlash J3" ® flash memory (references 28FxxxJ3A), allowing the memory to suspend the erasure in progress and to read data from another page. than of the erasure in progress (instruction to suspend erasure) as well as a corresponding instruction to suspend writing.
Par lecture de données, on entend notamment lecture de données exécutables qui définissent un programme exécutable par l'unité centrale.By reading data, we mean in particular reading executable data which define a program executable by the central unit.
L'invention vise à utiliser une telle mémoire flash dans un dispositif à mémoire comprenant une unité centrale et une mémoire vive de taille réduite.The invention aims to use such a flash memory in a memory device comprising a central unit and a random access memory of reduced size.
Dans ce but, on propose d'exécuter le code directement dans la mémoire flash, sauf pour le code de gestion des interruptions qui sera placé en mémoire vive.For this purpose, we propose to execute the code directly in the flash memory, except for the interrupt management code which will be placed in RAM.
Le code de gestion des interruptions permet, avant toute exécution de code nécessaire au traitement de l'interruption et présent en mémoire flash, de tester l'état de celle-ci, et de la piloter afin de la rendre accessible en lecture. Le code de gestion des interruptions comprend donc un pilote de la mémoire flash. Des indicateurs (flags) du pilote (driver) mémoire sont mis à jour afin de garder en mémoire l'information « l'opération en cours a été suspendue ». Le code correspondant à l'interruption est exécuté, puis la tâche du pilote mémoire reprend la main. Les indicateurs sont testés afin de savoir si l'opération d'effacement ou d'écriture en cours a été suspendue, et le cas échéant, l'opération est relancée.The interrupt management code makes it possible, before any code execution necessary for processing the interrupt and present in flash memory, to test its state, and to control it in order to make it accessible for reading. The interrupt management code therefore includes a flash memory driver. Indicators (flags) of the memory driver are updated in order to keep in memory the information "the operation in progress has been suspended". The code corresponding to the interrupt is executed, then the task of the memory driver takes over. The indicators are tested in order to know whether the erasing or writing operation in progress has been suspended, and if so, the operation is restarted.
Ce processus est activé chaque fois qu'une interruption est générée par l'unité centrale (CPU).This process is activated each time an interrupt is generated by the central processing unit (CPU).
Autrement dit, on propose un dispositif électronique à mémoire comportant une mémoire vive et une mémoire flash à suspension d'écriture et/ou d'effacement pour accès en lecture, dans lequel la mémoire vive contient un programme de gestion des interruptions commandant ladite suspension. Un procédé de commande d'un tel dispositif comprend les étapes suivantes :In other words, an electronic memory device is proposed comprising a random access memory and a flash memory with write and / or erase suspension for read access, in which the random access memory contains an interrupt management program controlling said suspension. A method of controlling such a device comprises the following steps:
- commander une écriture dans la mémoire flash ;- order a write in the flash memory;
- générer une interruption ; - exécuter un programme de gestion des interruptions dans la mémoire vive qui comporte notamment les étapes de :- generate an interrupt; - execute a program for managing interruptions in the RAM which includes the steps of:
- suspension de l'écriture dans la mémoire flash ;- suspension of writing to flash memory;
- exécution d'un programme stocké dans la mémoire flash ;- execution of a program stored in the flash memory;
- reprise de l'écriture dans la mémoire flash.- resumption of writing in flash memory.
Un autre procédé de commande d'un tel dispositif comprend les étapes suivantes :Another method of controlling such a device comprises the following steps:
- commander un effacement dans la mémoire flash ;- order an erasure in the flash memory;
- générer une interruption ;- generate an interrupt;
- exécuter un programme de gestion des interruptions dans la mémoire vive qui comporte notamment les étapes de :- execute a program for managing interruptions in the RAM which includes the steps of:
- suspension de l'effacement dans la mémoire flash ;- suspension of erasure in flash memory;
- exécution d'un programme stocké dans la mémoire flash ;- execution of a program stored in the flash memory;
- reprise de l'effacement dans la mémoire flash.- resumption of erasure in flash memory.
Le mode de réalisation décrit est pris à titre d'exemple non limitatif, en référence aux dessins annexés, dans lesquels :The embodiment described is taken by way of nonlimiting example, with reference to the appended drawings, in which:
- la figure 1 représente le procédé utilisé lorsqu'une interruption (IT) se produit lors d'une écriture en mémoire flash ;- Figure 1 shows the method used when an interruption (IT) occurs when writing to flash memory;
- la figure 2 représente le procédé utilisé lorsqu'une interruption (IT) se produit lors d'un effacement en mémoire flash ; - la figure 3 représente un dispositif électronique à mémoire selon les enseignements de l'invention.- Figure 2 shows the method used when an interruption (IT) occurs during an erasure in flash memory; - Figure 3 shows an electronic memory device according to the teachings of the invention.
Un décodeur numérique est un dispositif électronique à mémoire particulier qui permet de convertir un signal codé en numérique en un signal vidéo utilisable par un dispositif d'affichage (par exemple un téléviseur). Le décodeur numérique comprend une unité centrale 12 liée à une mémoire vive 10 par un premier bus 14 et à une mémoire flash 2 par un second bus 16.A digital decoder is a special electronic device with memory that converts a coded digital signal into a video signal usable by a display device (for example a television). The digital decoder comprises a central unit 12 linked to a random access memory 10 by a first bus 14 and to a flash memory 2 by a second bus 16.
Dans un tel décodeur numérique, on propose de regrouper dans la même mémoire flash 2 des données modifiables 4 lors de l'utilisation par le client et des données exécutables 6 qui ne sont pas modifiées lors de l'utilisation par le client.In such a digital decoder, it is proposed to group in the same flash memory 2 modifiable data 4 during use by the client and executable data 6 which are not modified during use by the client.
Lors de l'initialisation du système, le code de gestion des interruptions 8 (stocké en mémoire flash lorsque le décodeur numérique n'est pas en fonctionnement) est chargé dans la mémoire vive 10.When the system is initialized, the interrupt management code 8 (stored in flash memory when the digital decoder is not in operation) is loaded into the random access memory 10.
Ensuite, l'unité centrale 12 exécute des instructions, pour la plupart issues de code exécutable 6 stocké en mémoire flash.Next, the central processing unit 12 executes instructions, for the most part from executable code 6 stored in flash memory.
Au cours du fonctionnement, il est parfois nécessaire de modifier les données modifiables 4. Dans ce cas, on peut avoir recours à l'écriture et éventuellement même à l'effacement dans la mémoire flash 2 (voir principes de fonctionnement rappelés ci-dessus), qui prennent un certain temps.During operation, it is sometimes necessary to modify the modifiable data 4. In this case, it is possible to have recourse to writing and possibly even erasing in the flash memory 2 (see operating principles recalled above) , which take a while.
Pendant ce temps, si une interruption (IT en abrégé) se produit qui nécessite la lecture de données (notamment exécutables 6) en mémoire flash 2, on a recours au code de gestion des interruptions 8 en mémoire vive 10 (donc toujours accessible) qui gère les suspensions d'écriture et d'effacement comme indiqué respectivement sur les figures 1 et 2.During this time, if an interruption (IT for short) occurs which requires the reading of data (in particular executable 6) in flash memory 2, use is made of the management code of interruptions 8 in random access memory 10 (therefore always accessible) which manages the write and erase suspensions as shown in Figures 1 and 2 respectively.
Plus précisément, comme décrit respectivement aux figure 1 et 2, si une interruption IT a lieu alors qu'une écriture (resp. un effacement) est en cours dans la mémoire flash 2, le test effectué par le code de gestion des interruptions 8 commande alors la suspension de l'écriture (resp. de l'effacement) dans la mémoire flash 8. La mémoire flash 8 est alors disponible en lecture pour accès à la partie du code exécutable 6 nécessaire au traitement de l'interruption IT. Lorsque l'interruption IT est terminée l'écriture (resp. l'effacement) en mémoire flash reprend.More precisely, as described respectively in FIGS. 1 and 2, if an IT interruption takes place while a writing (resp. An erasure) is in progress in the flash memory 2, the test carried out by the management code of the interruptions 8 commands then the suspension of writing (resp. erasure) in the flash memory 8. The flash memory 8 is then available for reading for access to the part of the executable code 6 necessary IT interruption processing. When the IT interruption is finished writing (resp. Erasing) in flash memory resumes.
Cette solution permet d'avoir accès en lecture à la mémoire flashThis solution provides read access to flash memory
2 à tout moment, et donc de stocker une très grande partie du code exécutable dans la mémoire flash 2, même quand celle-ci contient des données modifiables 4 lors de l'utilisation. La mémoire vive 6 peut ainsi être réduite au minimum. 2 at any time, and therefore to store a very large part of the executable code in the flash memory 2, even when the latter contains modifiable data 4 during use. The RAM 6 can thus be reduced to a minimum.

Claims

REVENDICATIONS
1. Dispositif électronique à mémoire comportant une mémoire vive (10) et une mémoire flash (2) à suspension d'écriture et/ou d'effacement pour accès en lecture caractérisé en ce que la mémoire vive (10) contient un programme de gestion des interruptions (8) commandant ladite suspension.1. Electronic memory device comprising a random access memory (10) and a flash memory (2) with write and / or erase suspension for read access, characterized in that the random access memory (10) contains a management program interruptions (8) controlling said suspension.
2. Dispositif électronique selon la revendication 1 , caractérisé en ce que la mémoire flash (2) comprend des données exécutables (6).2. Electronic device according to claim 1, characterized in that the flash memory (2) comprises executable data (6).
3. Dispositif électronique selon la revendication 1 , caractérisé en ce que la mémoire flash (2) comprend au moins une partie de code correspondant à une interruption (IT).3. Electronic device according to claim 1, characterized in that the flash memory (2) comprises at least a part of code corresponding to an interruption (IT).
4. Dispositif électronique selon la revendication 2 ou 3, caractérisé en ce que la mémoire flash (2) comprend des données modifiables (4).4. Electronic device according to claim 2 or 3, characterized in that the flash memory (2) comprises modifiable data (4).
5. Dispositif électronique selon la revendication 1 , caractérisé en ce que le programme de gestion des interruptions (8) comprend un pilote de la mémoire flash (2).5. Electronic device according to claim 1, characterized in that the interrupt management program (8) comprises a flash memory driver (2).
6. Procédé de commande d'un dispositif selon la revendication 1 , caractérisé par les étapes suivantes :6. Method for controlling a device according to claim 1, characterized by the following steps:
- commander une écriture dans la mémoire flash (2);- order a write in the flash memory (2);
- générer une interruption (IT); - exécuter un programme de gestion des interruptions (8) dans la mémoire vive qui comporte notamment les étapes de :- generate an interruption (IT); - Execute an interrupt management program (8) in the RAM which includes in particular the steps of:
- suspension de l'écriture dans la mémoire flash (2) ;- suspension of writing to flash memory (2);
- exécution d'un programme (6) stocké dans la mémoire flash- execution of a program (6) stored in the flash memory
(2) ; - reprise de l'écriture dans la mémoire flash (2). (2); - resumption of writing in flash memory (2).
7. Procédé de commande d'un dispositif selon la revendication 1 , caractérisé par les étapes suivantes :7. Method for controlling a device according to claim 1, characterized by the following steps:
- commander un effacement dans la mémoire flash (2) ;- order an erasure in the flash memory (2);
- générer une interruption (IT) ; - exécuter un programme de gestion des interruptions (8) dans la mémoire vive (10) qui comporte notamment les étapes de :- generate an interruption (IT); - Execute an interrupt management program (8) in the RAM (10) which notably includes the steps of:
- suspension de l'effacement dans la mémoire flash (2) ;- suspension of erasure in flash memory (2);
- exécution d'un programme (6) stocké dans la mémoire flash- execution of a program (6) stored in the flash memory
(2) ; - reprise de l'effacement dans la mémoire flash (2). (2); - resumption of erasure in flash memory (2).
PCT/FR2002/000717 2001-03-09 2002-02-27 Electronic memory device and methods for controlling said device WO2002073622A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP01400615 2001-03-09
EP01400615.9 2001-03-09

Publications (1)

Publication Number Publication Date
WO2002073622A1 true WO2002073622A1 (en) 2002-09-19

Family

ID=8182648

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2002/000717 WO2002073622A1 (en) 2001-03-09 2002-02-27 Electronic memory device and methods for controlling said device

Country Status (1)

Country Link
WO (1) WO2002073622A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3104285A1 (en) * 2019-12-05 2021-06-11 Stmicroelectronics (Grenoble 2) Sas Checking the integrity of a memory

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0905613A2 (en) * 1997-09-29 1999-03-31 Nokia Mobile Phones Ltd. Method for storing and using executable programs and apparatus therefor
US6148360A (en) * 1996-09-20 2000-11-14 Intel Corporation Nonvolatile writeable memory with program suspend command

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6148360A (en) * 1996-09-20 2000-11-14 Intel Corporation Nonvolatile writeable memory with program suspend command
EP0905613A2 (en) * 1997-09-29 1999-03-31 Nokia Mobile Phones Ltd. Method for storing and using executable programs and apparatus therefor

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3104285A1 (en) * 2019-12-05 2021-06-11 Stmicroelectronics (Grenoble 2) Sas Checking the integrity of a memory
US11650738B2 (en) 2019-12-05 2023-05-16 Stmicroelectronics (Grenoble 2) Sas Integrity check of a memory

Similar Documents

Publication Publication Date Title
US20050138283A1 (en) Writing cache lines on a disk drive
BE1007932A7 (en) Method and system for storing and ranking order clear in memory device.
US7406560B2 (en) Using multiple non-volatile memory devices to store data in a computer system
CN100474268C (en) Cache integrity apparatus, systems, and methods
KR100471053B1 (en) Computer and method for controlling the same
FR2881239A1 (en) METHOD FOR MANAGING ACCESS TO SHARED RESOURCES IN A MULTI-PROCESSOR ENVIRONMENT
TW200819976A (en) Memory system with nonvolatile semiconductor memory
US10304522B2 (en) Method for low power operation and test using DRAM device
FR2860894A1 (en) METHOD FOR USING FUNCTION INDICATORS TO DETERMINE COMPATIBILITY BETWEEN BIOS REVISIONS AND INSTALLED MATERIAL DURING FLASH MEMORY UPDATE
US7277993B2 (en) Write-back disk cache
US20060085787A1 (en) Method for providing a rapid response to an application launch request
US20100030979A1 (en) Data management method, and storage apparatus and controller thereof
US7493447B2 (en) System and method for caching sequential programs
WO2002073622A1 (en) Electronic memory device and methods for controlling said device
US7103724B2 (en) Method and apparatus to generate cache data
US20060277367A1 (en) Speculative writeback for read destructive memory
CN114443442B (en) Log storage method and electronic equipment
US20060248327A1 (en) Computer rapid boot system and method
CN100342361C (en) Method and apparatus for fast reading and writing memory data
US7337368B2 (en) System and method for shutdown memory testing
FR2925206A1 (en) DISPLAY DEVICE AND METHOD FOR OPTIMIZING MEMORY BANDWIDTH
CN101169754B (en) Computer system and control method thereof
US7412582B2 (en) Method and device for burst reading/writing memory data
EP1519270A4 (en) Information processing unit and method, recording medium, and program
WO2021073990A1 (en) Method for assisting in the identification of blank sectors of a non-volatile memory of a microcontroller

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ OM PH PL PT RO RU SD SE SG SI SK SL TJ TM TN TR TT TZ UA UG US UZ VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP

WWW Wipo information: withdrawn in national office

Country of ref document: JP