WO2007104649A1 - Method of operating and managing unrestricted memory in a rewritable non-volatile memory, and associated memory - Google Patents

Method of operating and managing unrestricted memory in a rewritable non-volatile memory, and associated memory Download PDF

Info

Publication number
WO2007104649A1
WO2007104649A1 PCT/EP2007/051911 EP2007051911W WO2007104649A1 WO 2007104649 A1 WO2007104649 A1 WO 2007104649A1 EP 2007051911 W EP2007051911 W EP 2007051911W WO 2007104649 A1 WO2007104649 A1 WO 2007104649A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
memory
sectors
state
type
Prior art date
Application number
PCT/EP2007/051911
Other languages
French (fr)
Inventor
Pierre Girard
Frédéric Faure
Pascal Di Girolamo
Original Assignee
Gemplus
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 Gemplus filed Critical Gemplus
Publication of WO2007104649A1 publication Critical patent/WO2007104649A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory

Definitions

  • the present invention relates to the field of non-volatile rewritable memories, such as EPROM memories (reprogrammable read-only memory), EEPROM (electrically erasable and programmable read-only memory) or flash.
  • EPROM memories reprogrammable read-only memory
  • EEPROM electrically erasable and programmable read-only memory
  • flash electrically erasable and programmable read-only memory
  • Flash memory management methods are known for recovering memory space.
  • the flash memories are organized into erasable memory blocks, themselves structured in memory sectors. Only memory blocks can be reset or cleared.
  • the memory sectors are either free or unused if no data has been recorded, or used when the data stored in the sector are used, or expired when the data recorded in the sector are no longer used and more accessible by programs. computer.
  • US Pat. No. 6,621,746 proposes a management of the flash memory in which memory blocks are reset or erased when the number of expired memory sectors is greater than the number of free memory sectors or when these expired memory sectors have a space. memory less than that required for writing data.
  • the method described by US Pat. No. 5,337,275 is based on the listing of expired sectors, the evaluation of the number of free sectors and then the transmission of warning signals to a host equipment when this number of free sectors falls under certain conditions. critical thresholds. In response to these signals, the host equipment controls the reset of blocks including expired sectors listed.
  • An object of the present invention is therefore to provide efficient management of the memory in which data exploited in several modes are recorded.
  • PCT patent application WO 02/084610 discloses a method for managing data stored in a rewritable non-volatile memory and intended to be managed according to two modes.
  • the storage and exploitation of this data is based on an identification provided for each of them.
  • the exploitation of the data is based on the assumption that some of the data, called administrative data, have a useful life.
  • administrative data some of the data
  • the system can authorize their erasure.
  • this solution is similar to the two solutions mentioned above in that the data at the end of utility are comparable to outdated data.
  • this solution is not appropriate for managing and exploiting data that does not necessarily have a useful life.
  • Another object of the present invention is therefore to enable the management of non-volatile rewritable memories for the exploitation of data of various types that do not necessarily have an end of utility.
  • Another object of the present invention is to make this management dynamic, automatic, and transparent to the user.
  • Another object of the present invention is then to provide a solution for optimizing the use of the memory by making it possible to store data of a first type, for example advertising, without altering the operation, for the user, memory as to the recording and exploitation of user data, and to release this advertising data when the memory space is required.
  • a first type for example advertising
  • the invention aims to meet at least one of these aims and to solve the disadvantages of the prior art.
  • the invention makes it possible to use the free space of the memories by recording therein non-personal data, data of advertising (eg, preloaded web pages, advertising, game-type applications, information or announcements, film or music excerpts, etc.) and to ensure the management of this data, which can continue in the future. time, as the so-called personal data, that is to say generated by the user during the operation of the computer system, are manipulated (written, read, erased, ...) in this memory.
  • the invention makes it possible to dynamically manage these advertising data in a manner that is transparent to the user and to avoid any conflict with the computer system for the manipulation of personal data and advertising data.
  • An application of the present invention is to maximize the use of all memory sectors free memory of a portable personal device such as a USB key (universal serial bus), a SIM card (identification module of the subscriber) or a mobile phone card MMC (multimedia card) for the dissemination of advertising data to users while allowing the conventional use of these memories.
  • a portable personal device such as a USB key (universal serial bus), a SIM card (identification module of the subscriber) or a mobile phone card MMC (multimedia card) for the dissemination of advertising data to users while allowing the conventional use of these memories.
  • These can be filled with advertising data until there remains only a negligible portion of free sectors (for example the free memory space is less than a threshold value).
  • the invention firstly relates to a method for managing a rewritable non-volatile memory comprising a plurality of erasable data sectors, the method comprising:
  • a subsequent step of writing data of a second type into the memory consisting, if the free sectors of the memory have a space less than a threshold value, to record said data of the second type on a part of said sectors associated with an E PUB state, and to modify the state of these sectors.
  • Non-user generated advertising data is stored in the free memory sectors in order to take advantage of them rather than not exploiting them.
  • In order subsequently to identify those sectors now occupied by advertising data they have been assigned a state of E PU B.
  • the conventional exploitation of the memory by the user requires the recording of data in this memory. for example the copy of a file, the saving of parameters, the registration of registers for an application used by the user ... At first glance, this personal data may be recorded on the free space of the memory, so to keep a maximum of data.
  • the purpose of recording advertising data is to exploit a large part of the free space of the memory and that the free space may be less than a threshold value, for example space required to register personal data.
  • said erasable memory data sectors comprise a header comprising at least one B PUB bit
  • said assignment of the E PUB state to a sector consists in setting said B P UB bit to a predefined V PUB value
  • said modification of the state of a sector consists in inverting or modifying the value of said bit.
  • said assignment of the state E PUB to a sector comprises the recording of identification data of said sector in a table T PUB
  • said modification of the state of the sector comprises the withdrawal of said identification data of said table .
  • This table can be initialized when the memory is turned on and can be a complement to the binary marking.
  • This table includes, for example, the virtual sector numbers, the physical addresses of the sectors including advertising data of the first type or pointers to these sectors.
  • the memory sectors are of determined size, for example 512 bytes.
  • the digital contents generally exceed this size and their recording is then performed on a set of memory sectors that are not necessarily contiguous.
  • advertising data data of the first type
  • all the digital content is no longer usable. It is then necessary to free the other uncrushed sectors and related to the same digital content.
  • several sectors storing data of the first type are linked to the same digital content consisting of these stored data and the method comprises, during said subsequent write step, the modification of the state of the sectors linked to said associated sectors. to a state E P U B which are overwritten.
  • a state E P U B which are overwritten.
  • an image file The size of a sector larger than the size of a sector is recorded in more than one related sector, and the E PUB state is preferably changed from all sectors of the image file when one of them is overwritten.
  • file systems makes it possible in particular to maintain a table referencing these dependencies of several memory sectors to the same digital file.
  • the device comprising the memory has means for determining the list of linked memory sectors, that is to say composing the same digital content file. It may then appear appropriate, during the subsequent step of writing data of the second type, to constitute said portion of said sectors associated with a state E PUB , that is to say the part of the sectors that will be overwritten , by linked memory sectors belonging to the same digital content or to a minimum of digital contents. This alters a minimum of digital content and minimizes the loss of exploitable data.
  • the conventional operation of a memory involves data access commands, for example a write WRITE command, a read READ command, an erase ERASE command, etc. These commands allow the manipulation of personal data. of the user and act on memory sectors identified as having data in operation.
  • a second set of commands for example WRITE PUB for writing data by assigning the state E PU B to the modified sector, READ PUB to read the sectors to the state E PU B, ERAS E PU B, .- •
  • WRITE PUB for writing data by assigning the state E PU B to the modified sector, READ PUB to read the sectors to the state E PU B, ERAS E PU B, .- •
  • the steps of recording the data of the first type use commands different from those used for the recording of the data of the second type, these different commands automatically affecting the state E PUB to the written data.
  • Classic commands modify the state E PUB when applied to advertising data areas in order to remove the E PUB assignment to newly written areas with personal data.
  • a device comprising said memory comprises data manipulation commands and has at least two operating states, a first state in which said commands automatically assign the state E PUB to the manipulated data and a second state in which said commands deactivate or deny do not affect the E PUB state of the manipulated data,
  • the method comprises a step of changing the state of the device comprising the memory in said first state and, prior to the recording of the data of the second type, a subsequent step of changing the state of the device including the memory in said second state.
  • This change of state is controlled by the computer system to which the device comprising the memory is connected.
  • the assignment or the decommissioning of the state E PUB is not carried out by a command in itself but it is the call to this command which conditions the modification of state.
  • a priority parameter for example a bit field in the header of the sectors, is associated with the said sectors used, and the method comprises a step of selecting the said part of the data. sectors associated with an E PUB state for recording the data of the second type, according to said sector priority parameters. More efficient management of the memory is thus obtained since the sectors linked to the same content have the same priority parameter and are therefore overwritten at substantially the same time, thus reducing the number of partially overwritten and unusable digital contents.
  • the subject of the invention is also a rewritable non-volatile memory device comprising a plurality of erasable data sectors, a device in which part of said sectors is initialized by the recording of data of a first type and each of these sectors used. is assigned to a state E P U B , and the device comprises means arranged to record data of a second type in at least a portion of said used sectors assigned to a state E PU B when the free sectors of the memory have a space less than a threshold value and, to change the state of the sectors of said part.
  • said erasable data sectors of the memory comprise a header comprising a bit B PUB , said bit B PUB taking a value V P U B for a sector in the state E P U B and another value for another state, for example an inverse value V PUB if there are two states E PUB and E PUB .
  • said means adapted to modify the state of the sectors comprise a table T PUB in which data of identification of the sectors of memory in the state E PUB are recorded and are removed the identification data of the sectors that are no longer in the state E PU B-
  • said means capable of modifying the state of the sectors comprise:
  • a memory microcontroller connected to said memory and able to drive said memory for data manipulation operations; and an application processor arranged to access said memory and said microcontroller and able to store said PUB table.
  • Either the application processor is physically connected to the memory (to manipulate the advertisement data) and the microcontroller (to receive or issue requests concerning the advertisement data), or the application processor is physically connected to the microcontroller and accesses the memory via the microcontroller.
  • the microcontroller memory is a conventional microcontroller for memory management as there are many in the state of the art: it receives data access commands, translates them, accesses the memory and returns the data. accessed data.
  • the latter has conventional commands for accessing data in memory and constitutes the interface between the non-volatile memory and a host device desiring to access this data, for example a personal computer to which the device comprising the memory is connected.
  • the application processor executes a firmware for the management of the personal data marked with the state E P U B - H stores the advertisement sectors via the table T PUB and then carries out the operations of management of this data when access requests are issued or to record new advertising data in memory sectors left free.
  • the memory microprocessor and the application processor may be implemented by the same physical processor offering the two previously described features.
  • the means arranged for recording the data and modifying the state of the sectors may be implemented by a single processor, for example a smart card processor.
  • the application processor can also be implemented by a chip card processor independently of the microcontroller.
  • the use of a smart card processor is advantageous in that it makes it possible to integrate mechanisms for securing access and processing the data stored in the memory.
  • said means capable of modifying the state of the sectors can comprise two sets of commands, a first for the manipulation of the data of the first type affecting said E PUB state to the manipulated data, and a second set for handling data of the second type without affecting said E PUB state to the manipulated data.
  • the two sets of commands can be available by the microcontroller only, or the set of conventional commands is accessible by the microcontroller and the set of commands affecting the advertising data (of the first type) is managed by the processor. application.
  • said means capable of modifying the state of the sectors comprise: a memory microcontroller connected to said memory and having commands able to manipulate the data in the memory ,
  • the sectors comprising data of the first type further include priority data, and said device is arranged to select said portion of used sectors assigned to the state E PUB according to said sector priority data.
  • the object of the invention is:
  • USB key comprising a previously described device and a bus interface between said memory and an external device
  • a chip card comprising an identical device, the application processor being a smart card module and the interface between the card and the host equipment being made by a reader with contacts or by wireless communication (“on the air”)
  • SDCard Secure Digital Card
  • MMC Multimedia Card
  • the invention also relates to a system comprising a memory device previously described and connected to a host device by means of a communication protocol, and a memory microcontroller, said host device comprising a file system for the management of said data of the second type and being able to manipulate said data of the second type by the use of said file system through usual commands of said memory microcontroller; and said host device being able to transmit to the memory device a command different from said usual commands to access the data of the first type.
  • the host device d has a file system, for example a FAT (file allocation table), referencing the different digital files stored in memory as a list of memory sectors. used.
  • FAT file allocation table
  • the host device accesses personal data, it determines the memory sectors associated with the FAT and then sends the data access commands to the memory microcontroller.
  • the host device may retain the same mechanism for accessing personal data.
  • advertising data for example for viewing a movie trailer, it issues a different request that requires the interpretation of the microcontroller (or the application processor when it exists). ).
  • the microcontroller can, for example, route a request of the FTP (file transfer protocol), Hypertext Transfer Protocol (HTTP), Network File System (NFS), or SMB (Server Message) type of request.
  • Block) / CI FS Common Internet File System
  • the different command previously mentioned can be, according to the embodiment chosen, a specific command dedicated to the manipulation of the data of the first type, a request to the microcontroller - more precisely the application processor - to recover data of the first type, a command of Flip the microcontroller into a state in which it can manipulate the data of the first type with the usual commands.
  • the invention makes it possible to minimize the impacts on the embedded software environment of the host device. Moreover, the free space offered by the rewritable non-volatile memory should be exploited and made use of to the best of its ability. Two possibly complementary approaches can be used.
  • said memory device is arranged to transmit, when sectors of said memory are free, queries to a remote server for obtaining data of the first type and for recording said received data in said free sectors.
  • the memory device will itself look for new advertising data on a remote server in order to exploit memory sectors left free.
  • the memory device is informed by an appropriate event of an erasure operation of personal data in memory. When this event is detected, a comparison is made between the space of the free sectors and a certain predefined threshold, and a request for advertising contents is emitted according to the result of this comparison (generally if space of the free sectors ⁇ pre-defined threshold).
  • the so-called "push” approach requires that said memory device is arranged to check, when it is requested by a remote server, the space formed by the free sectors of said memory and to record data. data of the first type provided by said server if they occupy a memory space less than a threshold value, for example the memory space of the free sectors.
  • the solicitation by the remote server may be periodic.
  • the invention also relates to a method of operating a non-volatile memory in this system, the method comprising:
  • a data read request step of the first type by said host device a step of interpreting said request by the memory device;
  • Either the identification of all the sectors is carried out before the read access of the memory (case of an application protocol, for example using the T PUB table), or the access to the memory is realized. by sector by the specific commands, and to each of these sectors is applied the identification step and then the reading step if the identification is positive.
  • This method is combined with conventional methods for reading data in a non-volatile rewritable memory that is applied for reading personal data or data of the second type.
  • the method thus described allows viewing of advertising data by the host device, for example for displaying an advertisement, a musical excerpt, etc.
  • the host device issues a request. requiring an interpretation by the microcontroller: the microcontroller or the associated application processor may be a server translating the HTTP request into memory access commands, a file server also translating the FTP request into similar commands, NFS requests, SMB ( CI FS), or other access protocols to files.
  • the identification of the memory sectors concerned by the reading of the advertisement data is carried out by the detection of the sectors in the state E P U B by the use of the bit B PU B and / or the table T PUB - Specific commands or a change of state of the microcontroller then allow access to these data, then return them to the source host device of the initial request.
  • the method further comprises a step of accessing data of the second type by said host device, this a step of determining by said file system the memory sectors containing the desired second-type data and accessing said memory sectors through said microcontroller.
  • FIG. 1 represents an exemplary system architect for the implementation of the present invention
  • FIG. 2 illustrates an exemplary implementation of the invention at the level of the memory sectors
  • FIG. 3 is a timing diagram of an example of data exchanges according to the invention.
  • a portable device 10 such as a USB key, an MMC card, or a disk, consists of:
  • non-volatile memory controller 1 3 connected to the memory;
  • An application processor 12 connected to the memory controller.
  • the application processor can be directly connected to the memory 14.
  • the system of the invention comprises a host device 1 1 (personal computer PC, mobile phone, etc.) to which is connected via a connection 1 5 high speed protocol such as USB, the portable memory device 10.
  • a host device 1 1 personal computer PC, mobile phone, etc.
  • high speed protocol such as USB
  • the portable memory device 10 Depending on the desired applications, it is anticipated that a card 10 equipped with a high-capacity memory 14 and a smart card processor 12 for a storage, exchange, application is connected to a personal computer 11. secure data.
  • the chip card processor then has a separate physical connector (contact or contactless) and / or a specific low level communication protocol.
  • a secure application can be the identification of people.
  • the memory controller manages the non-volatile memory by dividing it into two parts: a part containing conventional user data (work files, telephone book _ phone book_ for a mobile phone application, etc.) and a part containing promotional data.
  • the distinction between the two types of data is carried out one level of each block or sector memory using an additional bit in the block header.
  • a field 20 of a memory sector 30 includes a first bit 22 to indicate whether the data contained 21 is promotional or not (value "1" if the data is promotional) and a second bit. , known from the prior art, to indicate whether the data sector is free (value "1") or used (value "0").
  • the sectors constituting the two parts are not necessarily contiguous. When multiple sectors are used to store data from the same digital content, they are also not necessarily contiguous.
  • Traditional mechanisms for example those used to access the data of a traditional USB memory stick, are used to manage the data of the user and in particular to allow their access to the host device 1 1.
  • the portable device 10 When the portable device 10 is connected to the host device 1 1, the latter establishes a file allocation table (FAT - File Allocation Table) and keeps it up to date according to the operations performed.
  • FAT File Allocation Table
  • This table lists all the data sectors user (field 20 having the value "00") and to link the sectors belonging to the same digital content (for example the same file).
  • the host device determines through this table FAT all the useful memory sectors and then accesses via the microcontroller 13.
  • the portion of the memory containing the promotional content is managed entirely by the application processor in a method that may be conventional or proprietary, which is of little importance because the host device does not access it directly.
  • the application processor executes an application program that fulfills two functions:
  • nonvolatile memory management functions with regard to the promotional data by sending manipulation commands (write, read, delete, etc.) via the microcontroller, on the other hand, intermediary functions between the host device and the promotional data in memory, by implementing server functions for example files.
  • the application processor can maintain an equivalent T PUB table referencing the memory sectors containing advertising data.
  • the memory 14 is initially filled with promotional contents, by recording the advertising data in the sectors memories. Several promotional contents are recorded until the space occupied by the free sectors (field 20 having the value 11 or 01) is less than a threshold value. We can actually wish to keep a minimum (for example 5 or 10%) of the memory as completely free (this is the case generally for flash memories in which it is necessary to keep free sectors to proceed with initialization operations and displacement of memory sectors). It can also be expected that the digital contents are hierarchical from most important to least important. The digital data of the most important contents are recorded first. The initialization of the memory is stopped when the space required for the recording of the next digital content is greater than the space still available either in the memory or to reach the previous threshold value.
  • the memory sectors are also provided with a binary field indicating a weight (representative of the hierarchy of contents). Since no personal data is stored on the memory, the host device sees the memory as completely empty.
  • the host device 11 accesses the promotional data by communicating with the file server of the application processor according to the HTTP protocol.
  • HTTP requests are transported in IP (Internet Protocol) packets transmitted over connection 15.
  • IP Internet Protocol
  • FIG. 3 illustrates these exchanges: step 1: the host 11 sends, by a client application, an HTTP request on a promotional content, for example; "HTTP GET Clip.avi";
  • Step 2 this request is routed by the memory controller 13 to the application processor 12;
  • step 3 the HTTP request is decoded by the file server of the application processor which locates the corresponding blocks in the non-volatile memory, for example using the table TPUB - U once the memory sectors identified, the processor application makes the read requests associated with the memory controller;
  • Step 4 The memory controller 13 transmits the read requests to the nonvolatile memory 14. If necessary, the controller translates requests from the application processor into appropriate read / write / erase commands for r access the data in memory;
  • Step 5 the read commands return the desired data to the memory controller, which is routed to the application processor (step 6); • Step 7 and 8: The application processor formats a response with the read data that has been requested by the host, for example the HTTP response "HTTP 200 OK" followed by the read data, if all went well. Then it passes this response to the client of a host device via the memory controller.
  • the application processor formats a response with the read data that has been requested by the host, for example the HTTP response "HTTP 200 OK" followed by the read data, if all went well. Then it passes this response to the client of a host device via the memory controller.
  • the memory 14 also serves as a means of storing the data of the user.
  • the host device requests to write personal user data into memory by traditional mechanisms.
  • the present invention provides for erasing promotional data.
  • the memory controller sends a request to the applicative processor specifying the space required: space of the personal data to be written less possibly free sectors available (for example, secteu rs containing data that are no longer used).
  • the application processor selects the memory sectors allocated min imum weights (numeric contents less important). Thanks to the T PUB table, the application processor preferably selects the sectors linked to the same content in order to alter the minimum of digital contents. It communicates these sectors to the memory controller. With reference to FIG. 2b, for each sector thus selected, the bit of the field 20 specifying the promotional nature of the data is set to "0". The sectors are no longer promotional sectors but personal content. Then the personal data are recorded in these sectors by conventional commands for writing in memory.
  • the host device Upon receipt of the write confirmation, the host device updates its FAT table.
  • the application processor determines a set of digital contents (sometimes reduced to only one) whose dedicated memory space is substantially equal (in any case greater than or equal to), or as close as possible to the space required for the data. to register.
  • the erasure of data in memory by the memory controller generates an event for the application processor.
  • the latter can determine the free memory space (if the event does not indicate it) and issue an HTTP request to a remote server of promotional content accessible (directly or via the host device) by a communication network.
  • the server returns promotional content corresponding to the usable free space.
  • the preceding remote server sends an HTTP request to the application processor.
  • the application processor determines the free space available in the memory 14 for the possible backup of new promotional data.
  • the application processor then saves the promotional content provided by the remote server.

Abstract

The present invention relates to the field of rewritable non-volatile memories. The invention relates more particularly to a rewritable non-volatile memory device comprising a plurality of erasable data sectors and a method of managing such a memory. The method comprises: an initialization step consisting in recording data of a first type in at least one part of the unrestricted sectors of the memory and in assigning a state E<SUB>PUB</SUB> to each of said sectors used; and a subsequent step of writing data of a second type into the memory consisting, if the unrestricted sectors of the memory exhibit a smaller space than a threshold value, in recording said data of the second type on a part of said sectors that are associated with a state E<SUB>PUB</SUB>, and in modifying the state of these sectors.

Description

PROCÉDÉ D'EXPLOITATION ET DE GESTION DE LA M ÉMOIRE LIBRE DANS UNE MÉMOIRE NON-VOLATILE RÉINSCRIPTIBLE, METHOD FOR OPERATING AND MANAGING FREE MEMORY IN RE-ENCRYPTIBLE NON-VOLATILE MEMORY,
ET MÉMOIRE ASSOCIÉEAND ASSOCIATED MEMORY
La présente invention se rapporte au domaine des mémoires non- volatiles réinscriptibles, telles que des mémoires EPROM (mémoire morte reprogrammable), EEPROM (mémoire morte effaçable et programmable électriquement) ou flash.The present invention relates to the field of non-volatile rewritable memories, such as EPROM memories (reprogrammable read-only memory), EEPROM (electrically erasable and programmable read-only memory) or flash.
Elle a plus particulièrement pour objet un procédé de gestion d'une telle mémoire non-volatile réinscriptible stockant des données de plusieurs natures pou r exploiter au mieux l'espace mémoire l ibre.More particularly, it relates to a method of managing such a rewritable non-volatile memory storing data of several types to best exploit the memory space l ibre.
On connaît des procédés de gestion de mémoires flash pour la récu pération d'espace mémoire. Les mémoires flash sont organisées en blocs mémoires effaçables, eux-mêmes structu rés en secteurs mémoire. Seuls les blocs mémoires peuvent être réinitialisés ou effacés. Les secteurs mémoire sont soit libres ou inutilisés si aucu ne donnée n'a été enregistrée, soit utilisés lorsque les données enregistrées dans le secteu r sont exploitées, soit périmés lorsque les données enregistrées dans le secteur ne sont plus exploitées et plus accessibles par des programmes informatiques.Flash memory management methods are known for recovering memory space. The flash memories are organized into erasable memory blocks, themselves structured in memory sectors. Only memory blocks can be reset or cleared. The memory sectors are either free or unused if no data has been recorded, or used when the data stored in the sector are used, or expired when the data recorded in the sector are no longer used and more accessible by programs. computer.
Le procédé décrit par le brevet US 6 621 746 propose une gestion de la mémoire flash dans laquelle des blocs mémoires sont réinitialisés ou effacés lorsque le nombre de secteurs mémoire périmés est supérieur au nombre de secteurs mémoire libres ou lorsque ces secteurs mémoire périmés présentent u n espace mémoire inférieu r à celui nécessaire pour l'écritu re de données. De même, le procédé décrit par le brevet US 5 337 275 repose sur le listage des secteurs périmés, l'évaluation du nombre de secteurs libres puis la transmission de signaux d'avertissement à un équipement hôte lorsque ce nombre de secteurs libres descend sous certains seuils critiques. En réponse à ces signaux, l'équipement hôte commande la réinitialisation de blocs comprenant des secteurs périmés listés.The method described in US Pat. No. 6,621,746 proposes a management of the flash memory in which memory blocks are reset or erased when the number of expired memory sectors is greater than the number of free memory sectors or when these expired memory sectors have a space. memory less than that required for writing data. Similarly, the method described by US Pat. No. 5,337,275 is based on the listing of expired sectors, the evaluation of the number of free sectors and then the transmission of warning signals to a host equipment when this number of free sectors falls under certain conditions. critical thresholds. In response to these signals, the host equipment controls the reset of blocks including expired sectors listed.
Ces solutions s'attachent à la récupération des secteurs périmés selon des critères relativement courants, en l'occurrence lorsque ces secteurs périmés représentent un espace mémoire important.These solutions focus on the recovery of out-of-date sectors according to relatively common criteria, in this case when these out-of-date sectors represent an important memory space.
On comprend que les secteurs périmés ont un statut particulier puisqu'ils correspondent à des données qui cessent d'être exploitées, c'est-à-dire qu'elles peuvent être effacées sans aucun contrôle puisque inutiles. Ces procédés de l'art antérieur n'apportent pas de solutions pour la gestion de données exploitées selon deux modes.It is understood that the expired sectors have a special status since they correspond to data which ceases to be exploited, that is to say that they can be erased without any control since they are useless. These methods of the prior art do not provide solutions for the management of data operated in two modes.
Un but de la présente invention est donc d'offrir une gestion efficace de la mémoire dans laquelle on enregistre des données exploitées selon plusieurs modes.An object of the present invention is therefore to provide efficient management of the memory in which data exploited in several modes are recorded.
On connaît cependant, par la demande de brevet PCT WO 02/084610, un procédé de gestion de données stockées dans une mémoire non-volatile réinscriptible et destinées à être gérées selon deux modes. Le stockage et l'exploitation de ces données sont fonction d'une identification fournie pour chacune d'entre elles. L'exploitation des données repose sur le postulat qu'une partie des données, dites données d'administration, ont une durée d'utilité. Ainsi lorsque la fin d'utilité de ces données est détectée, le système peut autoriser leur effacement. II convient de noter que cette solution se rapproche des deux solutions évoquées précédemment en ce que les données en fin d'utilité sont assimilables à des données périmées. Ainsi cette solution n'est pas appropriée pour la gestion et l'exploitation de données qui ne disposent pas nécessairement d'une durée d'utilité.However, PCT patent application WO 02/084610 discloses a method for managing data stored in a rewritable non-volatile memory and intended to be managed according to two modes. The storage and exploitation of this data is based on an identification provided for each of them. The exploitation of the data is based on the assumption that some of the data, called administrative data, have a useful life. Thus when the end of utility of these data is detected, the system can authorize their erasure. It should be noted that this solution is similar to the two solutions mentioned above in that the data at the end of utility are comparable to outdated data. Thus, this solution is not appropriate for managing and exploiting data that does not necessarily have a useful life.
Un autre but de la présente invention est donc de permettre la gestion de mémoires non volatiles réinscriptibles pour l'exploitation de données de divers types n'ayant pas nécessairement une fin d'utilité.Another object of the present invention is therefore to enable the management of non-volatile rewritable memories for the exploitation of data of various types that do not necessarily have an end of utility.
Un autre but de la présente invention est de rendre cette gestion dynamique, automatique, et transparente à l'utilisateur.Another object of the present invention is to make this management dynamic, automatic, and transparent to the user.
Par ailleurs, un espace non négligeable de ces mémoires reste généralement non exploité à un instant donné. En vue d'applications commerciales, par exemple, il peut être opportun d'exploiter cet espace tant qu'il n'est pas requis pour des données d'un utilisateur.Moreover, a non-negligible space of these memories generally remains untapped at a given moment. For commercial applications, for example, it may be appropriate to exploit this space as long as it is not required for user data.
Un autre but de la présente invention est alors de fournir une solution pour l'optimisation de l'utilisation de la mémoire en permettant de stocker des données d'un premier type, par exemple de la publicité, sans altérer le fonctionnement, pour l'utilisateur, de la mémoire quant à l'enregistrement et l'exploitation de données de l'utilisateur, et de libérer ces données de publicité lorsque l'espace mémoire est requis.Another object of the present invention is then to provide a solution for optimizing the use of the memory by making it possible to store data of a first type, for example advertising, without altering the operation, for the user, memory as to the recording and exploitation of user data, and to release this advertising data when the memory space is required.
L'invention vise à répondre à au moins un de ces buts et à résoudre les inconvénients de l'art antérieur. Notamment, l'invention permet d'utiliser l'espace libre des mémoires en y enregistrant des données non personnelles, d ites données de publicité (par exemple, des pages Web préchargées, de la publicité, des applications de type jeu, des informations ou annonces, des extraits de film ou musique, ...) et d'assurer une gestion de ces données qui peuvent perdurer dans le temps, au fur et à mesure que des données dites personnelles, c'est-à-dire générées par l'utilisateur lors du fonctionnement du système informatique, sont manipulées (écrites, lues, effacées, ...) dans cette mémoire. Dans une telle configuration, l'invention permet de gérer dynamiquement ces données de publicité d'une façon transparente pour l'utilisateur et d'éviter tout conflit avec le système informatique pour la manipulation des données personnelles et des données de publicité.The invention aims to meet at least one of these aims and to solve the disadvantages of the prior art. In particular, the invention makes it possible to use the free space of the memories by recording therein non-personal data, data of advertising (eg, preloaded web pages, advertising, game-type applications, information or announcements, film or music excerpts, etc.) and to ensure the management of this data, which can continue in the future. time, as the so-called personal data, that is to say generated by the user during the operation of the computer system, are manipulated (written, read, erased, ...) in this memory. In such a configuration, the invention makes it possible to dynamically manage these advertising data in a manner that is transparent to the user and to avoid any conflict with the computer system for the manipulation of personal data and advertising data.
Une application de la présente invention est de maximiser l'utilisation de tous les secteurs mémoire libres de la mémoire d'un dispositif personnel portatif tel qu'une clé USB (bus série universel), une carte SIM (module d'identification de l'abonné) ou une carte MMC pour téléphone portable (carte multimédia) pour la diffusion de données de publicité aux utilisateurs tout en permettant l'utilisation classique de ces mémoires. Ces dernières peuvent être remplies de données de publicité jusqu'à ce que ne subsiste qu'une portion négligeable de secteurs libres (par exemple l'espace mémoire libre est inférieur à une valeur seuil).An application of the present invention is to maximize the use of all memory sectors free memory of a portable personal device such as a USB key (universal serial bus), a SIM card (identification module of the subscriber) or a mobile phone card MMC (multimedia card) for the dissemination of advertising data to users while allowing the conventional use of these memories. These can be filled with advertising data until there remains only a negligible portion of free sectors (for example the free memory space is less than a threshold value).
À cet effet, l'invention a tout d'abord pour objet un procédé de gestion d'une mémoire non-volatile réinscriptible comprenant une pluralité de secteurs de données effaçables, le procédé comprenant :For this purpose, the invention firstly relates to a method for managing a rewritable non-volatile memory comprising a plurality of erasable data sectors, the method comprising:
- une étape d'initialisation consistant à enregistrer des données d'un premier type dans au moins une partie des secteurs libres de la mémoire et à affecter un état EPUB à chacun desdits secteurs utilisés, etan initialization step of storing data of a first type in at least a portion of the free sectors of the memory and assigning an E PUB state to each of said used sectors, and
- une étape ultérieure d'écriture de données d'un second type dans la mémoire consistant, si les secteurs libres de la mémoire présentent un espace inférieur à une valeur seuil, à enregistrer lesdites données du second type sur une partie desdits secteurs associés à un état EPUB, et à modifier l'état de ces secteurs.a subsequent step of writing data of a second type into the memory consisting, if the free sectors of the memory have a space less than a threshold value, to record said data of the second type on a part of said sectors associated with an E PUB state, and to modify the state of these sectors.
Les données de publicité non générées par l'utilisateur sont enregistrées dans les secteurs libres de la mémoire afin de tirer profit de ces derniers plutôt que de ne pas les exploiter. Afin d'identifier par la suite ces secteurs maintenant occupés par des données de publicité, on les a affectés d'un état EPUB- L'exploitation classique de la mémoire par l'utilisateur requiert l'enregistrement de données dans cette mémoire, par exemple la copie d'un fichier, la sauvegarde de paramètres, l'inscription de registres pour une application utilisée par l'utilisateur... De prime abord, ces données personnelles peuvent être enregistrées sur l'espace libre de la mémoire, afin de conserver un maximum de données. Néanmoins, on note que l'enregistrement des données de publicité peut avoir pour vocation d'exploiter une grande partie de l'espace libre de la mémoire et que l'espace libre peut être inférieur à une valeur seuil, par exemple à l'espace requis pour enregistrer les données personnelles. Il convient alors d'enregistrer les données personnelles du second type en écrasant une partie de celles de publicité. Les secteurs mémoire écrasés ne contiennent désormais plus de données de publicité. À cet égard, l'état EPUB qui leur avait été affecté est retiré : le système ne détecte dorénavant que des données personnelles dans ces secteurs. Par symétrie, l'absence d'état EPUB peut être considérée comme l'affectation d'un état EPUB aux secteurs de données personnelles.Non-user generated advertising data is stored in the free memory sectors in order to take advantage of them rather than not exploiting them. In order subsequently to identify those sectors now occupied by advertising data, they have been assigned a state of E PU B. The conventional exploitation of the memory by the user requires the recording of data in this memory. for example the copy of a file, the saving of parameters, the registration of registers for an application used by the user ... At first glance, this personal data may be recorded on the free space of the memory, so to keep a maximum of data. Nevertheless, it is noted that the purpose of recording advertising data is to exploit a large part of the free space of the memory and that the free space may be less than a threshold value, for example space required to register personal data. It is then necessary to record the personal data of the second type by overwriting a part of those of advertising. The overwritten memory sectors no longer contain advertising data. In this respect, the assigned EPUB status is removed: the system now detects only personal data in these areas. By symmetry, the absence of state E P UB can be considered as the assignment of an E PUB state to the personal data sectors.
Puisque l'affectation et le retrait de l'état EPUB aux secteurs mémoire a lieu lors de la manipulation binaire des données, il apparaît opportun de réaliser un marquage binaire de cet état. Ainsi, lesdits secteurs de données effaçables de la mémoire comprennent un en-tête comportant au moins un bit BPUB, ladite affectation de l'état EPUB à un secteur consiste à mettre ledit bit BPUB à une valeur VPUB prédéfinie, et ladite modification de l'état d'un secteur consiste à inverser ou modifier la valeur dudit bit. Le changement d'état EPUB est ainsi aisément réalisé lors des phases d'enregistrement des données de publicité d'une part, et des données personnelles d'autre part.Since the assignment and the withdrawal of the state E PUB to the memory sectors takes place during the binary manipulation of the data, it appears appropriate to carry out a binary marking of this state. Thus, said erasable memory data sectors comprise a header comprising at least one B PUB bit, said assignment of the E PUB state to a sector consists in setting said B P UB bit to a predefined V PUB value, and said modification of the state of a sector consists in inverting or modifying the value of said bit. The change of state E PUB is thus easily realized during the phases registration of the advertising data on the one hand, and personal data on the other hand.
Par ailleurs, l'accès à ces bits BPUB pour chaque secteur de la mémoire peut être coûteux en termes de temps de traitement pour un système informatique gérant la mémoire. La manipulation de fichiers par ces systèmes apparaît cependant plus aisée. Ainsi, ladite affectation de l'état EPUB à un secteur comprend l'enregistrement de données d'identification dudit secteur dans une table TPUB, et ladite modification de l'état du secteur comprend le retrait desdites données d'identification de ladite table. Cette table peut être initialisée à la mise sous-tension de la mémoire et peut constituer un complément au marquage binaireMoreover, access to these bits B P U B for each sector of the memory can be expensive in terms of processing time for a computer system managing the memory. However, file manipulation by these systems is easier. Thus, said assignment of the state E PUB to a sector comprises the recording of identification data of said sector in a table T PUB , and said modification of the state of the sector comprises the withdrawal of said identification data of said table . This table can be initialized when the memory is turned on and can be a complement to the binary marking.
BPUB des secteurs mémoire. Cette table comprend, par exemple, les numéros de secteurs virtuels, les adresses physiques des secteurs comprenant des données de publicité du premier type ou des pointeurs vers ces secteurs.B P UB memory sectors. This table includes, for example, the virtual sector numbers, the physical addresses of the sectors including advertising data of the first type or pointers to these sectors.
Par ailleurs, les secteurs mémoire sont de dimension déterminée, par exemple 512 octets. Les contenus numériques dépassent généralement cette taille et leur enregistrement est alors réalisé sur un ensemble de secteurs mémoire non nécessairement contigus. Lorsque des données de publicité (données du premier type) sont enregistrées sur plusieurs secteurs et qu'au moins l'un d'entre eux est écrasé pour l'enregistrement de données personnelles, l'ensemble du contenu numérique n'est plus exploitable. Il convient alors de libérer les autres secteurs non écrasés et liés au même contenu numérique. Dans ce but, plusieurs secteurs stockant des données du premier type sont liés à un même contenu numérique constitué de ces données stockées et le procédé comprend, lors de ladite étape ultérieure d'écriture, la modification de l'état des secteurs liés auxdits secteurs associés à un état EPUB qui sont écrasés. On entend, ici, par « liés » des secteurs de mémoire dont les données contenues ne sont exploitables qu'ensemble. Par exemple, un fichier image d'une taille supérieure à la taille d'un secteur est enregistré su r plusieu rs secteurs liés, et on modifie l'état EP U B de préférence de tous les secteurs du fichier image lorsque l'un d'entre eux est écrasé. L'utilisation de systèmes de fichiers permet notamment de tenir à jour une table référençant ces dépendances de plusieurs secteurs mémoire à un même fichier numérique.In addition, the memory sectors are of determined size, for example 512 bytes. The digital contents generally exceed this size and their recording is then performed on a set of memory sectors that are not necessarily contiguous. When advertising data (data of the first type) is recorded on several sectors and at least one of them is overwritten for the recording of personal data, all the digital content is no longer usable. It is then necessary to free the other uncrushed sectors and related to the same digital content. For this purpose, several sectors storing data of the first type are linked to the same digital content consisting of these stored data and the method comprises, during said subsequent write step, the modification of the state of the sectors linked to said associated sectors. to a state E P U B which are overwritten. Here we mean by "linked" sectors of memory whose data contained are usable only together. For example, an image file The size of a sector larger than the size of a sector is recorded in more than one related sector, and the E PUB state is preferably changed from all sectors of the image file when one of them is overwritten. The use of file systems makes it possible in particular to maintain a table referencing these dependencies of several memory sectors to the same digital file.
Le dispositif comprenant la mémoire dispose de moyens pour déterminer la liste des secteurs mémoire liés, c'est-à-dire composant un même fichier de contenu numérique. Il peut alors apparaître opportun, lors de l'étape ultérieu re d'écriture de données du second type, de constituer ladite partie desdits secteurs associés à un état EP U B, c'est-à-dire la partie des secteurs qui vont être écrasés, par des secteurs mémoire liés appartenant à un même contenu numérique ou à un minimum de contenus numériques. On altère ainsi un minimum de contenus numériques et minimise la perte de données exploitables.The device comprising the memory has means for determining the list of linked memory sectors, that is to say composing the same digital content file. It may then appear appropriate, during the subsequent step of writing data of the second type, to constitute said portion of said sectors associated with a state E PUB , that is to say the part of the sectors that will be overwritten , by linked memory sectors belonging to the same digital content or to a minimum of digital contents. This alters a minimum of digital content and minimizes the loss of exploitable data.
Le fonctionnement classique d'une mémoire fait intervenir des commandes d'accès aux données, par exemple une commande WRITE d'écriture, une commande READ de lecture, une commande ERASE d'effacement, ... Ces commandes permettent la manipulation des données personnelles de l'utilisateur et agissent sur les secteurs mémoire identifiés comme ayant des données en exploitation. Pour ne pas modifier le fonctionnement de la mémoire quant aux données personnelles, un deuxième jeu de commandes (par exemple WRITEPUB pour l'écriture de données en affectant l'état EP UB au secteur modifié, READP U B pour lire les secteurs à l'état EP UB , ERAS EP UB , .-•) peut être prévu pour la manipulation des données de publicité, les secteurs associés à ces dernières n'étant pas identifiés par les commandes classiques comme de simples données personnelles en exploitation. À cet effet, les étapes d'enregistrement des données du premier type font appel à des commandes différentes de celles utilisées pour l'enregistrement des données du second type, ces commandes différentes affectant automatiquement l'état EPUB aux données écrites. Les commandes classiques modifient, quant à elles, l'état EP U B lorsqu'elles s'appliquent à des secteurs de données de publicité afin de retirer l'affectation EP U B aux secteurs nouvellement écrits avec des données personnelles.The conventional operation of a memory involves data access commands, for example a write WRITE command, a read READ command, an erase ERASE command, etc. These commands allow the manipulation of personal data. of the user and act on memory sectors identified as having data in operation. In order not to modify the operation of the memory with regard to the personal data, a second set of commands (for example WRITE PUB for writing data by assigning the state E PU B to the modified sector, READ PUB to read the sectors to the state E PU B, ERAS E PU B, .- •) can be provided for handling advertising data, the sectors associated with the latter not being identified by conventional commands as simple personal data in operation. For this purpose, the steps of recording the data of the first type use commands different from those used for the recording of the data of the second type, these different commands automatically affecting the state E PUB to the written data. Classic commands modify the state E PUB when applied to advertising data areas in order to remove the E PUB assignment to newly written areas with personal data.
Dans une variante selon laquelle on souhaite conserver le même jeu de commandes classiques pou r la manipulation aussi bien des données de publicité (du premier type) et des données personnelles (du second type), il peut être prévu que :In a variant according to which it is desired to keep the same set of conventional commands for handling both advertising data (of the first type) and personal data (of the second type), it may be provided that:
- un dispositif comprenant ladite mémoire comprend des commandes de manipulation des données et présente au moins deux états de fonctionnement, un premier état dans lequel lesdites commandes affectent automatiquement l'état EP U B aux données manipulées et un second état dans lequel lesdites commandes désactivent ou n'affectent pas l'état EP U B des données manipulées,a device comprising said memory comprises data manipulation commands and has at least two operating states, a first state in which said commands automatically assign the state E PUB to the manipulated data and a second state in which said commands deactivate or deny do not affect the E PUB state of the manipulated data,
- et, préalablement à l'enregistrement des données du premier type, le procédé comprend une étape de changement d'état du dispositif comprenant la mémoire dans ledit premier état et, préalablement à l'enregistrement des données du second type, une étape ultérieure de changement de l'état du dispositif comprenant la mémoire dans ledit second état.and, prior to the recording of the data of the first type, the method comprises a step of changing the state of the device comprising the memory in said first state and, prior to the recording of the data of the second type, a subsequent step of changing the state of the device including the memory in said second state.
Ce changement d'état est piloté par le système informatique auquel est relié le dispositif comprenant la mémoire. Généralement, l'affectation ou la désaffectation de l'état EP U B n'est pas réalisée par une commande en elle-même mais c'est l'appel à cette commande qui conditionne la modification d'état.This change of state is controlled by the computer system to which the device comprising the memory is connected. Generally, the assignment or the decommissioning of the state E PUB is not carried out by a command in itself but it is the call to this command which conditions the modification of state.
Par ailleurs, il peut être intéressant de privilégier certaines données de publicité par rapport à d'autres afin de conserver les premières plus longtemps. Ainsi, lors de l'enregistrement des données du premier type, un paramètre de priorité, par exemple un champ binaire dans l'en-tête des secteurs, est associé auxdits secteurs utilisés, et le procédé comprend une étape de sélection de ladite partie des secteurs associés à un état EP U B pour l'enregistrement des données du second type, en fonction desdits paramètres de priorité des secteurs. Une gestion plus efficace de la mémoire est ainsi obtenue puisque les secteurs liés à un même contenu ont le même paramètre de priorité et sont donc écrasés sensiblement au même moment, réduisant ainsi le nombre de contenus numériques partiellement écrasés et inexploitables.On the other hand, it may be interesting to favor some advertising data over others in order to keep the first ones longer. Thus, during the recording of the data of the first type, a priority parameter, for example a bit field in the header of the sectors, is associated with the said sectors used, and the method comprises a step of selecting the said part of the data. sectors associated with an E PUB state for recording the data of the second type, according to said sector priority parameters. More efficient management of the memory is thus obtained since the sectors linked to the same content have the same priority parameter and are therefore overwritten at substantially the same time, thus reducing the number of partially overwritten and unusable digital contents.
L'invention a également pour objet un dispositif de mémoire non- volatile réinscriptible comprenant une pluralité de secteurs de données effaçables, dispositif dans lequel une partie desdits secteurs est initialisée par l'enregistrement de données d'un premier type et chacun de ces secteurs utilisés est affecté à un état EPUB, et le dispositif comprend des moyens agencés pour enregistrer des données d'un second type dans au moins une partie desdits secteurs utilisés affectés à un état EPUB lorsque les secteurs libres de la mémoire présentent un espace inférieur à une valeur seuil et, pour modifier l'état des secteurs de ladite partie.The subject of the invention is also a rewritable non-volatile memory device comprising a plurality of erasable data sectors, a device in which part of said sectors is initialized by the recording of data of a first type and each of these sectors used. is assigned to a state E P U B , and the device comprises means arranged to record data of a second type in at least a portion of said used sectors assigned to a state E PU B when the free sectors of the memory have a space less than a threshold value and, to change the state of the sectors of said part.
On prévoit également que plusieurs secteurs stockant des données du premier type sont liés à un même contenu numérique constitué de ces données stockées et que lesdits moyens agencés pour modifier l'état des secteurs de ladite partie sont aptes à modifier l'état des secteurs liés aux secteurs de ladite partie, c'est-à-dire liés aux secteurs écrasés.It is also expected that several sectors storing data of the first type are linked to the same digital content consisting of these stored data and that said means arranged to modify the state of the sectors of said part are able to modify the state of the sectors related to sectors of that part, that is to say related to crushed sectors.
Selon deux modes de réalisation pouvant être combinés : lesdits secteurs de données effaçables de la mémoire comprennent un en-tête comportant un bit BPUB, ledit bit BPUB prenant une valeur VPUB pour un secteur à l'état EPUB et une autre valeur pour un autre état, par exemple une valeur inverse VPUB si on a deux états EPUB et EPUB . lesdits moyens aptes à modifier l'état des secteurs comprennent une table TPUB dans laquelle sont enregistrées des données d'identification des secteurs de mémoire dans l'état EPUB et sont retirées les données d'identification des secteurs qui ne sont plus dans l'état EPUB-According to two embodiments that can be combined: said erasable data sectors of the memory comprise a header comprising a bit B PUB , said bit B PUB taking a value V P U B for a sector in the state E P U B and another value for another state, for example an inverse value V PUB if there are two states E PUB and E PUB . said means adapted to modify the state of the sectors comprise a table T PUB in which data of identification of the sectors of memory in the state E PUB are recorded and are removed the identification data of the sectors that are no longer in the state E PU B-
Dans un mode de réalisation pour l'exploitation efficace de la mémoire, lesdits moyens aptes à modifier l'état des secteurs comprennent :In one embodiment for the efficient operation of the memory, said means capable of modifying the state of the sectors comprise:
- un microcontrôleur de mémoire connecté à ladite mémoire et apte à piloter ladite mémoire pour les opérations de manipulation de données ; et - un processeur applicatif agencé pour accéder à ladite mémoire et audit microcontrôleur et, apte à mémoriser ladite table TPUB-a memory microcontroller connected to said memory and able to drive said memory for data manipulation operations; and an application processor arranged to access said memory and said microcontroller and able to store said PUB table.
Soit le processeur applicatif est connecté physiquement à la mémoire (pour manipuler les données de publicité) et au microcontrôleur (pour recevoir ou émettre des requêtes concernant les données de publicité), soit le processeur applicatif est connecté physiquement au microcontrôleur et accède à la mémoire via le microcontrôleur.Either the application processor is physically connected to the memory (to manipulate the advertisement data) and the microcontroller (to receive or issue requests concerning the advertisement data), or the application processor is physically connected to the microcontroller and accesses the memory via the microcontroller.
Le microcontrôleur de mémoire est un microcontrôleur classique pour la gestion de la mémoire comme il en existe un grand nombre dans l'état de l'art : il reçoit des commandes d'accès aux données, les traduit, accède à la mémoire et retourne les données accédées. Celui-ci dispose de commandes classiques d'accès aux données en mémoire et constitue l'interface entre la mémoire non volatile et un dispositif hôte désirant accéder à ces données, par exemple un ordinateur personnel auquel est relié le dispositif comprenant la mémoire.The microcontroller memory is a conventional microcontroller for memory management as there are many in the state of the art: it receives data access commands, translates them, accesses the memory and returns the data. accessed data. The latter has conventional commands for accessing data in memory and constitutes the interface between the non-volatile memory and a host device desiring to access this data, for example a personal computer to which the device comprising the memory is connected.
Pour sa part, le processeur applicatif exécute un microprogramme pour la gestion des données personnelles marquées de l'état EPUB- H mémorise les secteurs de publicité par l'intermédiaire de la table TPUB puis réalise les opérations de gestion de ces données lorsque des requêtes d'accès sont émises ou pour enregistrer de nouvelles données de publicité dans des secteurs mémoire laissés libres. Éventuellement, le microprocesseur de mémoire et le processeur applicatif peuvent être mis en œuvre par un même processeur physique offrant les deux fonctionnalités précédemment décrites. D'une façon générale, les moyens agencés pour enregistrer les données et modifier l'état des secteurs peuvent être mis en œuvre par un unique processeur, par exemple un processeu r de carte à puce.For its part, the application processor executes a firmware for the management of the personal data marked with the state E P U B - H stores the advertisement sectors via the table T PUB and then carries out the operations of management of this data when access requests are issued or to record new advertising data in memory sectors left free. Optionally, the memory microprocessor and the application processor may be implemented by the same physical processor offering the two previously described features. In general, the means arranged for recording the data and modifying the state of the sectors may be implemented by a single processor, for example a smart card processor.
Le processeur applicatif peut également être mis en œuvre par un processeur de carte à puce indépendamment du microcontrôleur. L'utilisation d'un processeur de carte à puce est avantageuse en ce qu'elle permet d'intégrer des mécanismes de sécurisation d'accès et de traitement des données enregistrées dans la mémoire.The application processor can also be implemented by a chip card processor independently of the microcontroller. The use of a smart card processor is advantageous in that it makes it possible to integrate mechanisms for securing access and processing the data stored in the memory.
Par ailleurs, comme évoqué précédemment, lesdits moyens aptes à modifier l'état des secteurs peuvent comprendre deux jeux de commandes, un premier pour la manipulation des données du premier type affectant ledit état EP U B aux données manipulées, et un deuxième jeu pour la manipulation des données du second type sans affecter ledit état EP U B aux données manipulées. Selon les configurations souhaitées, les deux jeux de commandes peuvent être disponibles par le microcontrôleur uniquement, ou bien le jeu de commandes classiques est accessible par le microcontrôleur et le jeu de commandes affectant les données de publicité (du premier type) est géré par le processeur applicatif.Moreover, as mentioned previously, said means capable of modifying the state of the sectors can comprise two sets of commands, a first for the manipulation of the data of the first type affecting said E PUB state to the manipulated data, and a second set for handling data of the second type without affecting said E PUB state to the manipulated data. According to the desired configurations, the two sets of commands can be available by the microcontroller only, or the set of conventional commands is accessible by the microcontroller and the set of commands affecting the advertising data (of the first type) is managed by the processor. application.
Également, dans le cas où la mémoire présente au moins deux états de fonctionnement, lesdits moyens aptes à modifier l'état des secteurs comprennent : - un microcontrôleu r de mémoire connecté à ladite mémoire et disposant de commandes aptes à manipuler les données dans la mémoire,Also, in the case where the memory has at least two operating states, said means capable of modifying the state of the sectors comprise: a memory microcontroller connected to said memory and having commands able to manipulate the data in the memory ,
- des moyens de modification de l'état du microcontrôleur entre deux états, un premier état dans lequel lesdites commandes affectent automatiquement l'état EP U B aux données manipulées et un second état dans lequel lesdites commandes désactivent ou n'affectent pas l'état EPUB des données manipulées.means for modifying the state of the microcontroller between two states, a first state in which said commands automatically assign the E PUB state to the manipulated data and a second state in which said commands disable or do not affect the E PUB state of the manipulated data.
Dans un mode de réalisation dans lequel les données de publicité sont priorisées pour offrir une gestion plus efficace de la mémoire et de ces données, les secteurs comprenant des données du premier type comprennent, en outre, des données de priorité, et ledit dispositif est agencé pour sélectionner ladite partie de secteurs utilisés affectés à l'état EP U B en fonction desdites données de priorité des secteurs.In one embodiment in which the advertisement data is prioritized to provide more efficient management of memory and data, the sectors comprising data of the first type further include priority data, and said device is arranged to select said portion of used sectors assigned to the state E PUB according to said sector priority data.
Selon différentes réalisations, l'invention a pour objet :According to different embodiments, the object of the invention is:
- une clé USB comprenant un dispositif précédemment décrit et une interface de bus entre ladite mémoire et un équipement externe ;a USB key comprising a previously described device and a bus interface between said memory and an external device;
- une carte à puce comprenant un dispositif identique, le processeur applicatif étant un module de carte à puce et l'interfaçage entre la carte et l'équipement hôte étant réalisé par un lecteur à contacts ou par communication sans fil (« on the air »a chip card comprising an identical device, the application processor being a smart card module and the interface between the card and the host equipment being made by a reader with contacts or by wireless communication ("on the air")
- OTA) ;- OTA);
- une mémoire du type SDCard (Secure Digital Card) ou MMC (Multimedia Card - carte multimédia).a memory of the SDCard (Secure Digital Card) or MMC (Multimedia Card) type.
L'invention a également pour objet un système comprenant un dispositif mémoire précédemment décrit et connecté à un dispositif hôte au moyen d'un protocole de communication, et d'un microcontrôleur de mémoire, ledit dispositif hôte comprenant un système de fichiers pour la gestion desdites données du second type et étant apte à manipuler lesdites données du second type par l'utilisation dudit système de fichiers au travers de commandes usuelles dudit microcontrôleur de mémoire ; et ledit dispositif hôte étant apte à émettre au dispositif mémoire une commande différente desdites commandes usuelles pour accéder aux données du premier type.The invention also relates to a system comprising a memory device previously described and connected to a host device by means of a communication protocol, and a memory microcontroller, said host device comprising a file system for the management of said data of the second type and being able to manipulate said data of the second type by the use of said file system through usual commands of said memory microcontroller; and said host device being able to transmit to the memory device a command different from said usual commands to access the data of the first type.
Dans les solutions de l'art antérieur, le dispositif hôte d ispose d'un système de fichiers, par exemple une FAT (table d'allocation de fichier), référençant les différents fichiers numériques enregistrés en mémoire sous forme de listage des secteu rs mémoire utilisés. Lorsque le dispositif hôte accède à des données personnelles, il détermine les secteurs mémoire associés par la FAT puis envoie au microcontrôleur de mémoire des commandes d'accès aux données. Dans l'invention, le dispositif hôte peut conserver le même mécanisme d'accès aux données personnelles. En revanche, lorsqu'il souhaite accéder à des données de publicité, par exemple pour le visionnage d'une bande annonce de film, il émet une requête différente qui nécessite l'interprétation du microcontrôleur (ou du processeur applicatif lorsque celu i-ci existe). Le microcontrôleur peut, par exemple, router une requête du type FTP (protocole de transfert de fichiers), HTTP (Hypertext Transfer Protocol - protocole de transfert hypertexte), NFS (Network File System - système de fichiers en réseau) ou SMB (Server Message Block)/CI FS (Common I nternet File System) au processeur applicatif, ce dernier jouant le rôle d'un serveur de fichiers pour l'accès aux données de publicité dans la mémoire soit pour tout protocole applicatif d'accès à un ensemble de fichiers. La commande différente précédemment évoquée peut être, selon le mode de réalisation choisi, une commande spécifique dédiée à la manipulation des données du premier type, une requête au microcontrôleur - plus précisément le processeur applicatif - pour récupérer des données du premier type, une commande de bascule du microcontrôleur dans un état dans lequel il peut manipuler les données du premier type avec les commandes usuelles.In the solutions of the prior art, the host device d has a file system, for example a FAT (file allocation table), referencing the different digital files stored in memory as a list of memory sectors. used. When the host device accesses personal data, it determines the memory sectors associated with the FAT and then sends the data access commands to the memory microcontroller. In the invention, the host device may retain the same mechanism for accessing personal data. On the other hand, when it wishes to access advertising data, for example for viewing a movie trailer, it issues a different request that requires the interpretation of the microcontroller (or the application processor when it exists). ). The microcontroller can, for example, route a request of the FTP (file transfer protocol), Hypertext Transfer Protocol (HTTP), Network File System (NFS), or SMB (Server Message) type of request. Block) / CI FS (Common Internet File System) to the application processor, the latter acting as a file server for access to advertising data in the memory or for any application protocol access to a set of files. The different command previously mentioned can be, according to the embodiment chosen, a specific command dedicated to the manipulation of the data of the first type, a request to the microcontroller - more precisely the application processor - to recover data of the first type, a command of Flip the microcontroller into a state in which it can manipulate the data of the first type with the usual commands.
En conservant le mode d'accès traditionnel aux données personnelles, l'invention permet de minimiser les impacts sur l'environnement logiciel embarqué du dispositif hôte. Par ailleurs, il convient d'exploiter et d'utiliser au mieux l'espace libre offert par la mémoire non-volatile réinscriptible. Deux approches éventuellement complémentaires peuvent être utilisées.By keeping the traditional access mode to the personal data, the invention makes it possible to minimize the impacts on the embedded software environment of the host device. Moreover, the free space offered by the rewritable non-volatile memory should be exploited and made use of to the best of its ability. Two possibly complementary approaches can be used.
D'une part, ledit dispositif mémoire est agencé pour émettre, lorsque des secteurs de ladite mémoire sont libres, des requêtes à un serveur distant pour l'obtention de données du premier type et pour enregistrer lesdites données reçues dans lesdits secteurs libres. Dans cette approche dite « pull » (tirer), le dispositif mémoire va chercher lui-même des nouvelles données de publicité sur un serveur distant afin d'exploiter des secteurs mémoire laissés libres. Le dispositif mémoire est informé par un événement adéquat d'une opération d'effacement de données personnelles en mémoire. À détection de cet événement, une comparaison est faite entre l'espace des secteurs libres et un certain seuil prédéfini, et une requête de contenus de publicité est émise selon le résultat de cette comparaison (généralement si espace des secteurs libres ≤seuil prédéfini). D'autre part, l'approche dite « push » (pousser) requiert que ledit dispositif mémoire est agencé pour vérifier, lorsqu'il est sollicité par un serveur distant, l'espace formé par les secteurs libres de ladite mémoire et pour enregistrer des données du premier type fournies par ledit serveur si celles-ci occupent un espace mémoire inférieur à une valeur seuil, par exemple l'espace mémoire des secteurs libres. Dans cette approche, la sollicitation par le serveur distant peut être périodique.On the one hand, said memory device is arranged to transmit, when sectors of said memory are free, queries to a remote server for obtaining data of the first type and for recording said received data in said free sectors. In this so-called "pull" approach, the memory device will itself look for new advertising data on a remote server in order to exploit memory sectors left free. The memory device is informed by an appropriate event of an erasure operation of personal data in memory. When this event is detected, a comparison is made between the space of the free sectors and a certain predefined threshold, and a request for advertising contents is emitted according to the result of this comparison (generally if space of the free sectors ≤pre-defined threshold). On the other hand, the so-called "push" approach requires that said memory device is arranged to check, when it is requested by a remote server, the space formed by the free sectors of said memory and to record data. data of the first type provided by said server if they occupy a memory space less than a threshold value, for example the memory space of the free sectors. In this approach, the solicitation by the remote server may be periodic.
Pour l'utilisation du système, l'invention a également pour objet un procédé d'exploitation d'une mémoire non volatile dans ce système, le procédé comprenant :For the use of the system, the invention also relates to a method of operating a non-volatile memory in this system, the method comprising:
- une étape de requête de lecture de données du premier type par ledit dispositif hôte ; - une étape d'interprétation de ladite requête par le dispositif mémoire ;a data read request step of the first type by said host device; a step of interpreting said request by the memory device;
- une étape d'identification, par ledit dispositif mémoire, des secteurs de mémoire associés auxdites données du premier type concernées par ladite requête ;a step of identification, by said memory device, of sectors of memory associated with said data of the first type concerned by said request;
- une étape de lecture, par ledit dispositif mémoire, desdits secteurs identifiés ;a step of reading, by said memory device, of said identified sectors;
- une étape de transmission, depuis ledit dispositif mémoire à destination dudit dispositif hôte, des données de premier type contenues dans lesdits secteurs identifiés lus.a step of transmitting, from said memory device to said host device, data of the first type contained in said identified read sectors.
Soit l'identification de tous les secteurs est effectuée avant l'accès en lecture de la mémoire (cas d'un protocole applicatif, par exemple s'aidant de la table TP U B), soit l'accès à la mémoire est réalisé secteu r par secteu r par les commandes spécifiques, et à chacun de ces secteurs est appliquée l'étape d'identification puis l'étape de lecture si l'identification est positive.Either the identification of all the sectors is carried out before the read access of the memory (case of an application protocol, for example using the T PUB table), or the access to the memory is realized. by sector by the specific commands, and to each of these sectors is applied the identification step and then the reading step if the identification is positive.
Ce procédé se cumule aux procédés classiques de lecture de données dans une mémoire non volatile réinscriptible que l'on applique pour la lecture des données personnelles ou données du second type. Le procédé ainsi décrit permet la consultation en lectu re des données de publicité par le dispositif hôte, par exemple pou r la visualisation d'une publicité, d'un extrait musical , ... Comme précisé plus avant, le dispositif hôte émet une requête nécessitant une interprétation par le microcontrôleur : le microcontrôleur ou le processeur applicatif associé peut être un serveur traduisant la requête HTTP en commandes d'accès à la mémoire, un serveur de fichiers traduisant également la requête FTP en commandes similaires, des requêtes NFS, SMB (CI FS), ou d'autres protocoles d'accès à des fichiers. L'identification des secteurs mémoire concernés par la lecture des données de publicité est réalisée par la détection des secteurs à l'état EPUB par l'utilisation du bit BP UB et/ou de la table TP U B- Des commandes spécifiques ou un changement d'état du microcontrôleur permettent alors d'accéder à ces données, puis de les retourner au dispositif hôte source de la requête initiale. Dans un mode de réalisation relatif à l'accès des données du second type (données personnelles) par le d ispositif hôte, le procédé comprend , en outre, une étape d'accès à des données du second type par led it dispositif hôte, cette étape consistant à déterminer par ledit système de fichiers les secteu rs de mémoire contenant lesd ites données de second type souhaitées et à accéder auxdits secteurs mémoires par l'intermédiaire dudit microcontrôleu r.This method is combined with conventional methods for reading data in a non-volatile rewritable memory that is applied for reading personal data or data of the second type. The method thus described allows viewing of advertising data by the host device, for example for displaying an advertisement, a musical excerpt, etc. As mentioned above, the host device issues a request. requiring an interpretation by the microcontroller: the microcontroller or the associated application processor may be a server translating the HTTP request into memory access commands, a file server also translating the FTP request into similar commands, NFS requests, SMB ( CI FS), or other access protocols to files. The identification of the memory sectors concerned by the reading of the advertisement data is carried out by the detection of the sectors in the state E P U B by the use of the bit B PU B and / or the table T PUB - Specific commands or a change of state of the microcontroller then allow access to these data, then return them to the source host device of the initial request. In one embodiment relating to the access of the data of the second type (personal data) by the host device, the method further comprises a step of accessing data of the second type by said host device, this a step of determining by said file system the memory sectors containing the desired second-type data and accessing said memory sectors through said microcontroller.
L'invention sera mieux comprise à l'aide de la description détaillée ci-dessous et des figures annexées dans lesquelles : la figure 1 représente u n exemple d'architectu re de système pour la mise en œuvre de la présente invention ; - la figure 2 illustre un exemple de mise en oeuvre de l'invention au niveau des secteurs mémoire ; et la figure 3 est un chronogramme d'u n exemple d'échanges de données selon l'invention .The invention will be better understood with the aid of the detailed description below and the appended figures in which: FIG. 1 represents an exemplary system architect for the implementation of the present invention; FIG. 2 illustrates an exemplary implementation of the invention at the level of the memory sectors; and FIG. 3 is a timing diagram of an example of data exchanges according to the invention.
En référence à la figure 1 , un dispositif portable 10 tel qu'une clé USB , une carte M MC, u n disque d u r, est constitué de :With reference to FIG. 1, a portable device 10 such as a USB key, an MMC card, or a disk, consists of:
• u ne mémoire non volatile 14 ;• non-volatile memory 14;
* u n contrôleur de mémoire non volatile 1 3 connecté à la mémoire ; « u n processeu r applicatif 12 connecté au contrôleu r de mémoire. Éventuellement, le processeu r appl icatif peut être directement connecté à la mémoire 14.a non-volatile memory controller 1 3 connected to the memory; An application processor 12 connected to the memory controller. Optionally, the application processor can be directly connected to the memory 14.
Le système de l' invention comprend u n dispositif hôte 1 1 (ordinateur personnel PC, téléphone portable, etc. ) auquel est connecté, via u ne connexion 1 5 de protocole à haute vitesse (high speed) telle que USB, le dispositif portable mémoire 10. Selon les applications recherchées, on peut prévoir que l'on connecte à un ordinateur personnel 1 1 une carte 10 équipée d'une mémoire de grande capacité 14 et d'un processeur de carte à puce 12 pour des applications de stockage, d'échange sécurisés de données. Le processeur de carte à puce présente alors un connecteur physique séparé (à contacts ou sans contact) et/ou un protocole de communication bas niveau spécifique. Une application sécurisée peut être l'identification des personnes.The system of the invention comprises a host device 1 1 (personal computer PC, mobile phone, etc.) to which is connected via a connection 1 5 high speed protocol such as USB, the portable memory device 10. Depending on the desired applications, it is anticipated that a card 10 equipped with a high-capacity memory 14 and a smart card processor 12 for a storage, exchange, application is connected to a personal computer 11. secure data. The chip card processor then has a separate physical connector (contact or contactless) and / or a specific low level communication protocol. A secure application can be the identification of people.
Le contrôleu r de mémoire gère la mémoire non volatile en la divisant en deux parties : une partie contenant des données classiques d'utilisateur (fichiers de travail, annuaire téléphonique _ phone book_ pour une application en téléphonie mobile, ... ) et une partie contenant des données promotionnelles. La distinction entre les deux types de données est réalisée un niveau de chaque bloc ou secteur mémoire à l'aide d'un bit supplémentaire dans l'entête de bloc. Dans l'exemple de la figure 2, un champ 20 d'un secteur mémoire 30 comprend un premier bit 22 pour indiquer si les données contenues 21 sont promotionnelles ou non (valeur « 1 » si les données sont promotionnelles) et un second bit 23, connu de l'art antérieur, pour indiquer si le secteur de données est libre (valeur « 1 ») ou utilisé (valeur « 0 »).The memory controller manages the non-volatile memory by dividing it into two parts: a part containing conventional user data (work files, telephone book _ phone book_ for a mobile phone application, etc.) and a part containing promotional data. The distinction between the two types of data is carried out one level of each block or sector memory using an additional bit in the block header. In the example of FIG. 2, a field 20 of a memory sector 30 includes a first bit 22 to indicate whether the data contained 21 is promotional or not (value "1" if the data is promotional) and a second bit. , known from the prior art, to indicate whether the data sector is free (value "1") or used (value "0").
Les secteurs constituant les deux parties ne sont pas nécessairement contigus. Lorsque plusieurs secteurs sont utilisés pour stocker les données d'un même contenu numérique, ils ne sont également pas nécessairement contigus.The sectors constituting the two parts are not necessarily contiguous. When multiple sectors are used to store data from the same digital content, they are also not necessarily contiguous.
Des mécanismes traditionnels, par exemple ceux utilisés pour accéder aux données d'une clé USB mémoire traditionnelle, sont utilisés pour gérer les données de l'utilisateur et notamment permettre leur accès au dispositif hôte 1 1 . Lorsque le dispositif portable 10 est connecté au dispositif hôte 1 1 , ce dernier établit une table d'allocation de fichiers (FAT - File Allocation Table) puis la maintient à jour en fonction des opérations effectuées. Cette table permet de lister l'ensemble des secteurs de données personnelles d'utilisateur (champ 20 ayant la valeur « 00 ») et de lier les secteurs appartenant à un même contenu numérique (par exemple un même fichier). En fonctionnement, lorsque le dispositif hôte souhaite accéder à un fichier numérique, il détermine grâce à cette table FAT l'ensemble des secteurs mémoires utiles puis y accède via le microcontrôleu r 13.Traditional mechanisms, for example those used to access the data of a traditional USB memory stick, are used to manage the data of the user and in particular to allow their access to the host device 1 1. When the portable device 10 is connected to the host device 1 1, the latter establishes a file allocation table (FAT - File Allocation Table) and keeps it up to date according to the operations performed. This table lists all the data sectors user (field 20 having the value "00") and to link the sectors belonging to the same digital content (for example the same file). In operation, when the host device wishes to access a digital file, it determines through this table FAT all the useful memory sectors and then accesses via the microcontroller 13.
Les secteurs non renseignés dans cette table (secteurs libres et secteurs promotionnels) sont vus pas le dispositif hôte comme étant libres et donc utilisables à tout moment pour le stockage de données personnelles. Les blocs marqués comme contenant du contenu promotionnel sont pris en compte dans le calcul de la quantité de mémoire disponible et apparaissent comme libre du point de vue de l'hôte.The sectors not indicated in this table (free sectors and promotional sectors) are not seen the host device as being free and therefore usable at any time for the storage of personal data. Blocks marked as containing promotional content are taken into account in the calculation of the amount of available memory and appear as free from the point of view of the host.
La partie de la mémoire contenant le contenu promotionnel est gérée entièrement par le processeur applicatif selon une méthode qui peut être classique ou propriétaire, ce qui importe peu, car le dispositif hôte n'y accède pas directement. Le processeur applicatif exécute un programme applicatif qui remplit deux fonctions :The portion of the memory containing the promotional content is managed entirely by the application processor in a method that may be conventional or proprietary, which is of little importance because the host device does not access it directly. The application processor executes an application program that fulfills two functions:
- d'une part, des fonctions de gestion de la mémoire non volatile quant aux données promotionnelles en envoyant des commandes de manipulation (écriture, lecture, effacement, ...) par l'intermédiaire du microcontrôleur, - d'autre part, des fonctions d'intermédiaire entre le dispositif hôte et les données promotionnelles en mémoire, en mettant en œuvre des fonctionnalités de serveur par exemple de fichiers.on the one hand, nonvolatile memory management functions with regard to the promotional data by sending manipulation commands (write, read, delete, etc.) via the microcontroller, on the other hand, intermediary functions between the host device and the promotional data in memory, by implementing server functions for example files.
Au même titre que la table FAT utilisée par le dispositif hôte, le processeur applicatif peut tenir à jour une table TP U B équivalente référençant les secteurs mémoires contenant des données de publicité.Like the FAT table used by the host device, the application processor can maintain an equivalent T PUB table referencing the memory sectors containing advertising data.
On remplit initialement la mémoire 14 de contenus promotionnels, en enregistrant les données de publicités dans les secteurs mémoires. Plusieurs contenus promotionnels sont enregistrés jusqu'à ce que l'espace occupé par les secteurs libres (champ 20 ayant la valeur 11 ou 01) soit inférieur à une valeur seuil. On peut effectivement souhaiter conserver un minimum (par exemple 5 ou 10%) de la mémoire comme entièrement libre (c'est le cas généralement pour les mémoires flash dans lesquels il est nécessaire de garder des secteurs libres pour procéder aux opérations d'initialisation et de déplacement de secteurs mémoire). On peut également prévoir que les contenus numériques sont hiérarchisés du plus important au moins important. On enregistre les données numériques des contenus les plus importants en premier. On arrête l'initialisation de la mémoire lorsque l'espace nécessaire à l'enregistrement du prochain contenu numérique est supérieur à l'espace encore disponible soit dans la mémoire soit pour atteindre la valeur seuil précédente.The memory 14 is initially filled with promotional contents, by recording the advertising data in the sectors memories. Several promotional contents are recorded until the space occupied by the free sectors (field 20 having the value 11 or 01) is less than a threshold value. We can actually wish to keep a minimum (for example 5 or 10%) of the memory as completely free (this is the case generally for flash memories in which it is necessary to keep free sectors to proceed with initialization operations and displacement of memory sectors). It can also be expected that the digital contents are hierarchical from most important to least important. The digital data of the most important contents are recorded first. The initialization of the memory is stopped when the space required for the recording of the next digital content is greater than the space still available either in the memory or to reach the previous threshold value.
Les secteurs de mémoire sont également pourvus d'un champ binaire renseignant un poids (représentatif de Ia hiérarchie des contenus). Comme aucune donnée personnelles n'est enregistrée sur la mémoire, le dispositif hôte voit la mémoire comme entièrement vide.The memory sectors are also provided with a binary field indicating a weight (representative of the hierarchy of contents). Since no personal data is stored on the memory, the host device sees the memory as completely empty.
Le dispositif hôte 11 accède aux données promotionnelles en communiquant avec le serveur de fichiers du processeur applicatif selon le protocole HTTP. Les requêtes HTTP sont transportées dans des paquets IP (protocole Internet) transmis sur la connexion 15.The host device 11 accesses the promotional data by communicating with the file server of the application processor according to the HTTP protocol. HTTP requests are transported in IP (Internet Protocol) packets transmitted over connection 15.
La figure 3 illustre ces échanges : • étape 1 : l'hôte 11 émet, par une application cliente, une requête HTTP sur un contenu promotionnel, par exemple ; « HTTP GET Clip.avi » ;FIG. 3 illustrates these exchanges: step 1: the host 11 sends, by a client application, an HTTP request on a promotional content, for example; "HTTP GET Clip.avi";
« étape 2 : cette requête est routée, par le contrôleur de mémoire 13, vers le processeur applicatif 12 ; β étape 3 : la requête HTTP est décodée par le serveu r de fichiers du processeur applicatif qui localise les blocs correspondant dans la mémoire non volatile, par exemple à l'aide de la table TPUB - U ne fois les secteurs mémoires identifiés, le processeur application fait les demandes de lectu re associées au contrôleu r de mémoire ; β étape 4 : le contrôleu r de mémoire 1 3 transmet les demandes de lectu re à la mémoire non volatile 14. Si nécessaire, le contrôleu r tradu it les demandes provenant du processeur applicatif en des commandes de lectu re/écriture/effacement adéquates pou r accéder aux données en mémoire ;"Step 2: this request is routed by the memory controller 13 to the application processor 12; β step 3: the HTTP request is decoded by the file server of the application processor which locates the corresponding blocks in the non-volatile memory, for example using the table TPUB - U once the memory sectors identified, the processor application makes the read requests associated with the memory controller; Step 4: The memory controller 13 transmits the read requests to the nonvolatile memory 14. If necessary, the controller translates requests from the application processor into appropriate read / write / erase commands for r access the data in memory;
» étape 5 : les commandes de lecture restituent au contrôleu r de mémoire les données souhaitées, lesquelles sont routées vers le processeu r applicatif (étape 6) ; • étape 7 et 8 : le processeu r applicatif formate u ne réponse avec les données lues qui ont été demandées par l'hôte, par exemple la réponse HTTP « HTTP 200 OK » suivie des données lues, si tout s'est bien déroulé. Puis il transmet cette réponse au client d u d ispositif hôte via le contrôleu r de mémoire.Step 5: the read commands return the desired data to the memory controller, which is routed to the application processor (step 6); • Step 7 and 8: The application processor formats a response with the read data that has been requested by the host, for example the HTTP response "HTTP 200 OK" followed by the read data, if all went well. Then it passes this response to the client of a host device via the memory controller.
La mémoire 14 sert également de moyen de stockage des données de l'utilisateu r.The memory 14 also serves as a means of storing the data of the user.
Le dispositif hôte demande à écrire des données personnelles d'utilisateu r dans la mémoire par les mécanismes trad itionnels. Lorsque l'espace libre est insuffisant (intrinsèquement ou par rapport à une valeur seuil de secteurs libres à conserver), la présente invention prévoit d'effacer des données promotionnelles.The host device requests to write personal user data into memory by traditional mechanisms. When the free space is insufficient (intrinsically or with respect to a threshold value of free sectors to keep), the present invention provides for erasing promotional data.
Recevant la demande d'écritu re du dispositif hôte, le contrôleur de mémoire émet u ne requête au processeu r applicatif précisant l 'espace sou haité : espace des données person nelles à écrire moins éventuellement des secteu rs libres d isponibles (par exemple des secteu rs contenant des données qu i ne sont plus exploitées). Le processeu r applicatif sélectionne les secteu rs mémoire affectés des poids min imu m (contenus nu mériques les moins importants). Grâce à la table TP U B , le processeur applicatif sélectionne de préférence les secteurs liés à un même contenu afin d'altérer le minimum de contenus numériques. Il communique ces secteu rs au contrôleur de mémoire. En référence à la figure 2b, pour chaque secteur ainsi sélectionné, le bit du champ 20 renseignant le caractère promotionnel des données est mis à « 0 ». Les secteurs ne sont désormais plus des secteurs promotionnels mais de contenu personnel. Ensuite les données personnelles sont enregistrées dans ces secteurs par des commandes classiques d'écriture en mémoire.Receiving the request to write the host device, the memory controller sends a request to the applicative processor specifying the space required: space of the personal data to be written less possibly free sectors available (for example, secteu rs containing data that are no longer used). The application processor selects the memory sectors allocated min imum weights (numeric contents less important). Thanks to the T PUB table, the application processor preferably selects the sectors linked to the same content in order to alter the minimum of digital contents. It communicates these sectors to the memory controller. With reference to FIG. 2b, for each sector thus selected, the bit of the field 20 specifying the promotional nature of the data is set to "0". The sectors are no longer promotional sectors but personal content. Then the personal data are recorded in these sectors by conventional commands for writing in memory.
Ainsi l'écriture de données personnelles a supprimé un ou plusieurs contenu(s) numérique(s) promotionnel(s). Cependant, tous les secteurs mémoires qui étaient dédiés à u n contenu promotionnel ainsi supprimé n'ont pas nécessairement été utilisés ou sélectionnés par le processeur applicatif. Puisque les données de ces secteurs non sélectionnés ne sont plus exploitables, le processeur applicatif émet également une demande de libération de ces secteurs, par exemple en modifiant le bit du champ 20 renseignant le caractère promotionnel des données à la valeur « 0 » et en modifiant un bit 24 de validité des données (connu de l'art antérieur) à une valeur « 0 » (données obsolètes). Ces secteurs peuvent également être marqués comme étant libres (champ 20 prend la valeur « 01 »).Thus the writing of personal data has deleted one or more promotional digital content (s). However, all the memory sectors that were dedicated to a promotional content thus deleted have not necessarily been used or selected by the application processor. Since the data of these unselected sectors are no longer usable, the application processor also issues a request to release these sectors, for example by modifying the bit of the field 20 indicating the promotional nature of the data to the value "0" and modifying a bit 24 of validity of the data (known from the prior art) to a value "0" (obsolete data). These sectors can also be marked as free (field 20 takes the value "01").
À réception de la confirmation d'écriture, le dispositif hôte met à jour sa table FAT.Upon receipt of the write confirmation, the host device updates its FAT table.
On pourra également, de préférence à l'utilisation des poids, sélectionner les secteurs à écraser (à libérer) de sorte à minimiser les secteurs perdus (c'est-à-dire les secteurs de données libérés et non écrasés). Le processeur applicatif détermine alors un ensemble de contenus numériques (parfois réduit à un seul) dont l'espace mémoire dédié est sensiblement égal (en tous les cas supérieur ou égal), ou le plus proche possible, à l'espace requis pour les données personnelles à enregistrer. Lorsque le dispositif hôte demande l'effacement de données en mémoire, des secteurs libres sont désormais disponibles pour accueillir de nouvelles données promotionnelles.It is also possible, preferably with the use of weights, to select the areas to be crushed (to be released) so as to minimize the lost sectors (that is, the released and uncrushed data sectors). The application processor then determines a set of digital contents (sometimes reduced to only one) whose dedicated memory space is substantially equal (in any case greater than or equal to), or as close as possible to the space required for the data. to register. When the host device requests deletion of data in memory, free sectors are now available to accommodate new promotional data.
Dans un mode de remplissage « pull » , l'effacement de données en mémoire par le contrôleur de mémoire génère un événement à destination du processeur applicatif. Ce dernier peut déterminer l'espace mémoire désormais libre (si l'événement ne le lui indique pas) et émettre une requête HTTP à un serveur distant de contenus promotionnels accessible (directement ou via le dispositif hôte) par un réseau de communication . En réponse à cette requête, le serveur retourne des contenus promotionnels correspondant à l'espace libre utilisable.In a "pull" filling mode, the erasure of data in memory by the memory controller generates an event for the application processor. The latter can determine the free memory space (if the event does not indicate it) and issue an HTTP request to a remote server of promotional content accessible (directly or via the host device) by a communication network. In response to this request, the server returns promotional content corresponding to the usable free space.
Dans un mode de remplissage « push » , le serveu r distant précédent émet une requête HTTP à destination du processeur applicatif. Par cette requête, le processeur applicatif détermine l'espace libre disponible dans la mémoire 14 pour la sauvegarde éventuelle de nouvelles données promotionnelles. Le processeur applicatif enregistre alors les contenus promotionnels que lui fournit le serveur distant. In a "push" filling mode, the preceding remote server sends an HTTP request to the application processor. By this request, the application processor determines the free space available in the memory 14 for the possible backup of new promotional data. The application processor then saves the promotional content provided by the remote server.

Claims

REVENDICATIONS
1. Procédé de gestion d'une mémoire non-volatile réinscriptible comprenant une pluralité de secteurs de données effaçables, le procédé comprenant une étape consistant à enregistrer des données d'un premier type dans au moins une partie des secteurs libres de la mémoire, caractérisé en ce qu'il comprend :A method of managing a rewritable non-volatile memory comprising a plurality of erasable data sectors, the method comprising a step of storing data of a first type in at least a portion of the free sectors of the memory, characterized in that it comprises:
- une étape d'initialisation consistant à affecter un état EPUB à chacun desdits secteurs utilisés de manière à assurer la distinction entre les données dudit premier type et des données d'un second type, etan initialization step of assigning an E PUB state to each of said sectors used so as to distinguish between the data of said first type and data of a second type, and
- une étape ultérieure d'écriture desdites données dudit second type dans la mémoire consistant, si les secteurs libres de la mémoire présentent un espace inférieur à une valeur seuil, à enregistrer lesdites données du second type sur une partie desdits secteurs associés à un état EPUB, et à modifier l'état de ces secteurs.a subsequent step of writing said data of said second type into the memory consisting, if the free sectors of the memory have a space less than a threshold value, of recording said data of the second type on a part of said sectors associated with a state E PUB , and to change the state of these sectors.
2. Procédé de gestion d'une mémoire selon la revendication 1, caractérisé en ce que lesdits secteurs de données effaçables de la mémoire comprennent un en-tête comportant au moins un bit BPUB, ladite affectation de l'état EPUB à un secteur consiste à mettre ledit bit BPUB à une valeur VPUB prédéfinie, et ladite modification de l'état d'un secteur consiste à inverser la valeur dudit bit.A method of managing a memory according to claim 1, characterized in that said erasable data sectors of the memory comprise a header comprising at least one B PU B bit, said assignment of the E PUB state to a sector consists in putting said bit B PUB to a predefined value V PUB , and said modification of the state of a sector consists in inverting the value of said bit.
3. Procédé de gestion d'une mémoire selon la revendication 1 ou 2, caractérisé en ce que ladite affectation de l'état EPUB à un secteur comprend l'enregistrement de données d'identification dudit secteur dans une table TPUB, et ladite modification de l'état du secteur comprend le retrait desdites données d'identification de ladite table. The memory management method as claimed in claim 1, wherein said assignment of the state E PU B to a sector comprises the recording of identification data of said sector in a table T PUB , and said modification of the state of the sector comprises the withdrawal of said identification data from said table.
4. Procédé de gestion d'une mémoire selon l'une quelconque des revendications précédentes, caractérisé en ce que plusieurs secteurs stockant des données du premier type sont liés à un même contenu numérique constitué de ces données stockées et en ce qu'il comprend, lors de ladite étape ultérieure d'écriture, la modification de l'état des secteurs liés auxdits secteurs associés à un état EP U B qui sont écrasés.4. Memory management method according to any one of the preceding claims, characterized in that several sectors storing data of the first type are linked to the same digital content consisting of these stored data and in that it comprises, during said subsequent write step, modifying the state of the sectors related to said sectors associated with an E PUB state which are overwritten.
5. Procédé de gestion d'une mémoire selon la revendication précédente, caractérisé en ce que, lors de l'étape ultérieure d'écriture de données du second type, ladite partie desdits secteurs associés à un état EP U B est constituée par des secteurs mémoire liés.5. Management method of a memory according to the preceding claim, characterized in that, in the subsequent step of writing data of the second type, said part of said sectors associated with an E PUB state is constituted by memory sectors. linked.
6. Procédé de gestion d'une mémoire selon l'une quelconque des revendications précédentes, caractérisé en ce que les étapes d'enregistrement des données du premier type font appel à des commandes différentes de celles utilisées pour l'enregistrement des données du second type, ces commandes différentes affectant automatiquement l'état EP U B aux données écrites.6. A method of managing a memory according to any one of the preceding claims, characterized in that the steps of recording data of the first type use commands different from those used for the recording of data of the second type. , these different commands automatically affecting the E PUB state to the written data.
7. Procédé de gestion d'une mémoire selon l'une quelconque des revendications 1 à 5, caractérisé en ce qu'un dispositif comprenant ladite mémoire comprend des commandes de manipulation des données et présente au moins deux états de fonctionnement, un premier état dans lequel lesdites commandes affectent automatique l'état EPUB aux données manipulées et un second état dans lequel lesdites commandes désactivent ou n'affectent pas l'état EP U B des données manipulées, et en ce qu'il comprend, préalablement à l'enregistrement des données du premier type, une étape de changement d'état du dispositif comprenant la mémoire dans ledit premier état et, préalablement à l'enregistrement des données du second type, une étape ultérieure de changement de l'état du dispositif comprenant la mémoire dans ledit second état.7. A method of managing a memory according to any one of claims 1 to 5, characterized in that a device comprising said memory comprises data manipulation commands and has at least two operating states, a first state in wherein said commands automatically affect the state E P U B to the manipulated data and a second state in which said commands disable or do not affect the E PUB state of the manipulated data, and in that it comprises, prior to the recording the data of the first type, a step of changing the state of the device comprising the memory in said first state and, prior to the recording of the data of the second type, a subsequent step of changing the state of the device comprising the memory in said second state.
8. Procédé de gestion d'une mémoire selon l'une quelconque des revendications précédentes, caractérisé en ce que, lors de l'enregistrement des données du premier type, un paramètre de priorité est associé auxdits secteurs utilisés, et en ce qu'il comprend une étape de sélection de ladite partie des secteurs associés à un état EPUB> pour l'enregistrement des données du second type, en fonction desdits paramètres de priorité des secteurs.8. Memory management method according to any one of the preceding claims, characterized in that, during the recording of the data of the first type, a priority parameter is associated with said sectors used, and in that comprises a step of selecting said part of the sectors associated with a state E PUB> for the recording of the data of the second type, according to said priority parameters of the sectors.
9. Dispositif de mémoire non-volatile réinscriptible comprenant une pluralité de secteurs de données effaçables, caractérisé en ce qu'une partie desdits secteurs est initialisée par l'enregistrement de données d'un premier type et chacun de ces secteurs utilisés est affecté à un état EPUB, de manière à assurer une distinction entre les données dudit premier type et des données d'un second type, et en ce qu'il comprend des moyens agencés pour enregistrer lesdites données dudit second type dans au moins une partie desdits secteurs utilisés affectés à un état EPUB lorsque les secteurs libres de la mémoire présentent un espace inférieur à une valeur seuil et, pour modifier l'état des secteurs de ladite partie.A rewritable non-volatile memory device comprising a plurality of erasable data sectors, characterized in that a portion of said sectors is initialized by the data record of a first type and each of these used sectors is assigned to a E PUB state, so as to distinguish between the data of said first type and data of a second type, and in that it comprises means arranged to record said data of said second type in at least a portion of said used sectors assigned to a state E P UB when the free sectors of the memory have a space less than a threshold value and, to change the state of the sectors of said part.
10. Dispositif selon la revendication précédente, caractérisé en ce que plusieurs secteurs stockant des données du premier type sont liés à un même contenu numérique constitué de ces données stockées et lesdits moyens agencés pour modifier l'état des secteurs de ladite partie sont aptes à modifier l'état des secteurs liés aux secteurs de ladite partie.10. Device according to the preceding claim, characterized in that several sectors storing data of the first type are linked to the same digital content consisting of these stored data and said means arranged to change the state of the sectors of said part are able to modify the state of the sectors related to the sectors of that part.
11. Dispositif selon la revendication 9 ou 10, caractérisé en ce que lesdits secteurs de données effaçables de la mémoire comprennent un en-tête comportant un bit BPUB, ledit bit BP U B prenant une valeur VP U B pour un secteur à l'état EP U B et une autre valeur pour un autre état.11. Device according to claim 9 or 10, characterized in that said erasable data sectors of the memory comprise a header having a B PUB bit, said B PUB bit taking a V PUB value for a sector in the state E PUB and another value for another state.
12. Dispositif selon l'une des revendications 9 à 1 1 , caractérisé en ce que lesdits moyens aptes à modifier l'état des secteurs comprennent une table TP U B dans laquelle sont enregistrées des données d'identification des secteurs de mémoire dans l'état EP U B et sont retirées les données d'identification des secteurs qui ne sont plus dans l'état EP U B -12. Device according to one of claims 9 to 1 1, characterized in that said means adapted to change the state of the sectors comprise a table T PUB in which are stored identification data memory sectors in the state E PUB and are removed the identification data of sectors that are no longer in the state E PUB -
13. Dispositif selon la revendication 12, caractérisé en ce que lesdits moyens aptes à modifier l'état des secteurs comprennent : - un microcontrôleur de mémoire connecté à ladite mémoire et apte à piloter ladite mémoire pour les opérations de manipulation de données ; et13. Device according to claim 12, characterized in that said means adapted to modify the state of the sectors comprise: - a memory microcontroller connected to said memory and adapted to drive said memory for data manipulation operations; and
- un processeur applicatif agencé pour accéder à ladite mémoire et audit microcontrôleur et, apte à mémoriser ladite table TP U B -an application processor arranged to access said memory and said microcontroller and capable of storing said PUB table;
14. Dispositif selon l'une quelconque des revendications 9 à 13, caractérisé en ce que lesdits moyens agencés pour enregistrer les données et modifier l'état des secteurs sont mis en œuvre par un unique processeur.14. Device according to any one of claims 9 to 13, characterized in that said means arranged to record the data and change the state of the sectors are implemented by a single processor.
15. Dispositif selon l'u ne quelconque des revendications 9 à 14, caractérisé en ce que lesdits moyens aptes à modifier l'état des secteu rs comprennent deux jeux de commandes, un premier pour la manipulation des données du premier type affectant ledit état EPUB aux données manipulées, et un deuxième jeu pour la manipulation des données du second type sans affecter ledit état EP U B aux données manipulées. 15. Device according to any one of claims 9 to 14, characterized in that said means capable of modifying the state of the sectors comprise two sets of commands, a first for handling data of the first type affecting said state E P UB to manipulated data, and a second set for handling data of the second type without affecting said E PUB state to the manipulated data.
16. Dispositif selon l'une quelconque des revendications 9 à 14, caractérisé en ce que lesdits moyens aptes à modifier l'état des secteurs comprennent :16. Device according to any one of claims 9 to 14, characterized in that said means capable of modifying the state of the sectors comprise:
- un microcontrôleur de mémoire connecté à ladite mémoire et disposant de commandes aptes à manipuler les données dans la mémoire,a memory microcontroller connected to said memory and having commands able to manipulate the data in the memory,
- des moyens de modification de l'état du microcontrôleur entre deux états, un premier état dans lequel lesdites commandes affectent automatiquement l'état EPUB aux données manipulées et un second état dans lequel lesdites commandes désactivent ou n'affectent pas l'état EPUB des données manipulées.means for modifying the state of the microcontroller between two states, a first state in which said commands automatically assign the state E PU B to the manipulated data and a second state in which said commands deactivate or do not affect the state E PUB manipulated data.
17. Dispositif selon l'une quelconque des revendications 9 à 16, caractérisé en ce que les secteurs comprenant des données du premier type comprennent, en outre, des données de priorité, et en ce que ledit dispositif est agencé pour sélectionner ladite partie de secteurs utilisés affectés à l'état EPUB en fonction desdites données de priorité des secteurs.Device according to any one of claims 9 to 16, characterized in that the sectors comprising data of the first type further comprise priority data, and in that said device is arranged to select said part of sectors. used in the state E PU B according to said sector priority data.
18. Dispositif selon l'une quelconque des revendications 9 à 17, caractérisé en ce que lesdits moyens agencés pour enregistrer les données et modifier l'état des secteurs sont mis en œuvre par un processeur de carte à puce.18. Device according to any one of claims 9 to 17, characterized in that said means arranged to record the data and change the state of the sectors are implemented by a chip card processor.
19. Clé USB comprenant un dispositif selon l'une quelconque des revendications 9 à 18 et une interface de bus entre ladite mémoire et un équipement externe.19. USB stick comprising a device according to any one of claims 9 to 18 and a bus interface between said memory and external equipment.
20. Système comprenant un dispositif mémoire selon l'une quelconque des revendications 9 à 18 connecté à un dispositif hôte au moyen d'un protocole de communication et d'un microcontrôleur de mémoire, ledit dispositif hôte comprenant un système de fichiers pour la gestion desdites données du second type et étant apte à manipuler lesdites données du second type par l'utilisation dudit système de fichiers au travers de commandes usuelles dudit microcontrôleur de mémoire ; et ledit dispositif hôte étant apte à émettre au dispositif mémoire une commande différente desdites commandes usuelles pour accéder aux données du premier type.20. System comprising a memory device according to any one of claims 9 to 18 connected to a host device by means of a communication protocol and a memory microcontroller, said host device comprising a file system for the management of said data from the second type and being able to manipulate said data of the second type by the use of said file system through usual commands of said memory microcontroller; and said host device being adapted to transmit to the memory device a command different from said usual commands to access the data of the first type.
21. Système selon la revendication 20, caractérisé en ce que ledit dispositif mémoire est agencé pour émettre, lorsque des secteurs de ladite mémoire sont libres, des requêtes à un serveur distant pour l'obtention de données du premier type et pour enregistrer lesdites données reçues dans lesdits secteurs libres.21. System according to claim 20, characterized in that said memory device is arranged to transmit, when sectors of said memory are free, requests to a remote server for obtaining data of the first type and for recording said received data. in said free sectors.
22. Système selon la revendication 20 ou 21, caractérisé en ce que ledit dispositif mémoire est agencé pour vérifier, lorsqu'il est sollicité par un serveur distant, l'espace formé par les secteurs libres de ladite mémoire et pour enregistrer des données du premier type fournies par ledit serveur si celles-ci occupent un espace mémoire inférieur à une valeur seuil.22. System according to claim 20 or 21, characterized in that said memory device is arranged to check, when requested by a remote server, the space formed by the free sectors of said memory and to record data of the first one. type provided by said server if they occupy a memory space less than a threshold value.
23. Procédé d'exploitation d'une mémoire non volatile dans un système selon l'une quelconque des revendications 20 à 22, caractérisé en ce qu'il comprend :23. A method of operating a non-volatile memory in a system according to any one of claims 20 to 22, characterized in that it comprises:
- une étape de requête de lecture de données du premier type par ledit dispositif hôte ;a data read request step of the first type by said host device;
- une étape d'interprétation de ladite requête par le dispositif mémoire ;a step of interpreting said request by the memory device;
- une étape d'identification, par ledit dispositif mémoire, des secteurs de mémoire associés auxdites données du premier type concernées par ladite requête ;a step of identification, by said memory device, of sectors of memory associated with said data of the first type concerned by said request;
- une étape de lecture, par ledit dispositif mémoire, desdits secteurs identifiés ; - une étape de transmission, depuis ledit dispositif mémoire à destination dudit dispositif hôte, des données de premier type contenues dans lesdits secteurs identifiés lus.a step of reading, by said memory device, of said identified sectors; a step of transmitting, from said memory device to said host device, data of the first type contained in said identified read sectors.
24. Procédé selon la revendication 23, caractérisé en ce qu'il comprend, en outre, une étape d'accès à des données du second type par ledit dispositif hôte, cette étape consistant à déterminer par ledit système de fichiers les secteurs de mémoire contenant lesdites données de second type souhaitées et à accéder auxdits secteurs mémoires par l'intermédiaire dudit microcontrôleur. 24. The method as claimed in claim 23, characterized in that it further comprises a step of accessing data of the second type by said host device, this step of determining by said file system the sectors of memory containing said desired second type data and accessing said memory sectors through said microcontroller.
PCT/EP2007/051911 2006-03-13 2007-02-28 Method of operating and managing unrestricted memory in a rewritable non-volatile memory, and associated memory WO2007104649A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0650830A FR2898421A1 (en) 2006-03-13 2006-03-13 METHOD FOR OPERATING AND MANAGING FREE MEMORY IN A REINSCRIPTIBLE NON-VOLATILE MEMORY, AND ASSOCIATED MEMORY
FR06/50830 2006-03-13

Publications (1)

Publication Number Publication Date
WO2007104649A1 true WO2007104649A1 (en) 2007-09-20

Family

ID=37397505

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2007/051911 WO2007104649A1 (en) 2006-03-13 2007-02-28 Method of operating and managing unrestricted memory in a rewritable non-volatile memory, and associated memory

Country Status (2)

Country Link
FR (1) FR2898421A1 (en)
WO (1) WO2007104649A1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6553468B1 (en) * 2000-06-26 2003-04-22 International Buisness Machines Corporation Storage method for personal digital devices

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6553468B1 (en) * 2000-06-26 2003-04-22 International Buisness Machines Corporation Storage method for personal digital devices

Also Published As

Publication number Publication date
FR2898421A1 (en) 2007-09-14

Similar Documents

Publication Publication Date Title
EP1849054A1 (en) Data storage device
US8239395B2 (en) Storage device presenting to hosts only files compatible with a defined host capability
KR101825770B1 (en) Systems and methods for managing an upload of files in a shared cache storage system
US8463802B2 (en) Card-based management of discardable files
EP2786317B1 (en) Writing data in a non-volatile memory of a smart card
JP2012512462A (en) Discardable file
KR101650427B1 (en) Endless memory
US20090125573A1 (en) Transactional multi-package installation
WO2010074848A2 (en) Discardable files
US8205060B2 (en) Discardable files
US8375192B2 (en) Discardable files
WO2007104649A1 (en) Method of operating and managing unrestricted memory in a rewritable non-volatile memory, and associated memory
EP1902369B1 (en) Method for managing a non-volatile memory in a smart card
CN112597102B (en) High-efficiency mirror image file system implementation method
WO2012013904A1 (en) Android mobile telephone including a content-providing channel
FR2806813A1 (en) Smart card memory management system allowing card users access to a number of services offered by a town
JP2006245748A (en) System of collecting and distributing digital camera data
FR3074317B1 (en) METHOD FOR ACCESSING A FLASH TYPE NON-VOLATILE MEMORY ZONE OF A SECURE ELEMENT, SUCH AS A CHIP CARD
EP1498841A1 (en) Multi application transponder chip and memory managing method therefore
US8849856B2 (en) Discardable files
FR2935501A1 (en) Reinscribable non-volatile memory e.g. FLASH memory, access operation management method for e.g. subscriber identity module card, involves storing usage table in RAM or quick access storage
EP1442369A2 (en) Removable storage medium
FR2771531A1 (en) System allowing secure recording of access and cost calculation in computer applications
FR2792086A1 (en) Memory content transferring for image inputting applications; permits transfer by copying into at least part of unused space number of pages of physical mapping
FR3045864A1 (en) METHOD FOR WRITING DATA TO STORE IN MICROCIRCUIT MEMORY, READING METHOD, AND MICROCIRCUIT MEMORY THEREFOR

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 07726547

Country of ref document: EP

Kind code of ref document: A1