Brevet FR3045864A1 (20170623)
REVENDICATIONS1. Procédé d'écriture d'une donnée à stocker dans une mémoire (1), comprenant une étape de : a) lecture ou d'écriture d'une adresse dans une première zone (Z1) de la mémoire (1), cette adresse repérant une position située dans une deuxième zone (Z2) de la mémoire (1), caractérisé en ce que ce procédé comprend de plus les étapes suivantes : b) écriture, à partir de ladite position, d'un en-tête (E) comprenant une indication de longueur représentative d'une longueur d'au moins une partie de la donnée à stocker, et c) écriture de cette partie de la donnée à stocker, dans un domaine (D) de la mémoire (1) contigu dudit en-tête (E), la longueur (L) de ce domaine (D) étant égale à la longueur de cette partie de la donnée à stocker.\n<CLM>\1\tProcédé d'écriture selon la revendication 1, dans lequel ledit en-tête (E) a dans la mémoire (1) une longueur (LE) déterminée en fonction de la longueur (L) dudit domaine contigu.\n<CLM>\1\tProcédé d'écriture selon la revendication 2, dans lequel, lorsque la longueur (L) dudit domaine contigu est inférieure à un premier seuil prédéterminé, alors, la longueur (LE) dudit en-tête (E) correspond à un premier nombre d'octets.\n<CLM>\1\tProcédé d'écriture selon l'une des revendications 2 et 3, dans lequel, lorsque la longueur (L) dudit domaine contigu est supérieure audit premier seuil, alors, l'en-tête (E) est écrit à l'étape b) de manière à présenter : - ledit premier nombre d'octets, dans lesquels est écrite une valeur prédéterminée, suivis par - un deuxième nombre d'octets dans lesquels est écrite ladite indication de longueur.\n<CLM>\1\tProcédé d'écriture selon la revendication 4, dans lequel ladite valeur prédéterminée est représentative d'une indication de chainage, indiquant que l'intégralité de la donnée à stocker est écrite dans ledit domaine (D) contigu, ou que la donnée à stocker est écrite sous la forme d'une chaine (CH) de plusieurs blocs mémoires (B13, B132, B133) distincts.\n<CLM>\1\tProcédé d'écriture selon l'une des revendications 4 et 5, dans lequel 3045 864 25 ladite valeur prédéterminée est représentative du fait que l'en-tête comprend un nombre d'octets supérieur audit premier nombre d'octets.\n<CLM>\1\tProcédé d'écriture selon l'une des revendications 4 à 6, dans lequel ladite valeur prédéterminée et ledit deuxième nombre d'octets sont déterminés 5 chacun en fonction de la longueur (L) dudit domaine (D) contigu.\n<CLM>\1\tProcédé d'écriture selon l'une des revendications 1 à 7, dans lequel, lorsque la mémoire (1) présente, à partir de ladite position, un espace disponible suffisamment long pour y écrire l'intégralité de la donnée à stocker ainsi que l'entête (E) correspondant, alors, ladite indication de longueur est représentative de la 10 longueur de l'intégralité de la donnée à stocker, et l'intégralité de la donnée à stocker est écrite dans ledit domaine (D) contigu dudit en-tête (E), au cours de l'étape c).\n<CLM>\1\tProcédé d'écriture selon l'une des revendications 1 à 8, dans lequel, lorsque la longueur de la donnée à stocker est inférieure à un deuxième seuil, 15 ladite indication de longueur est représentative de la longueur de l'intégralité de la donnée à stocker, et l'intégralité de la donnée à stocker est écrite dans ledit domaine (D) contigu dudit en-tête (E), au cours de l'étape c).\n<CLM>\1\tProcédé d'écriture selon l'une des revendications 1 à 9, dans lequel : - lorsque la mémoire présente, à partir de ladite position, un espace 20 disponible de longueur insuffisante pour y écrire l'intégralité de la donnée à stocker ainsi que l'en-tête (E) correspondant, - et que la longueur de la donnée à stocker est supérieure audit deuxième seuil, alors, la donnée à stocker est écrite sous la forme d'une chaine (CH) de 25 plusieurs blocs mémoires (B13, B132, B133) distincts, un premier bloc mémoire (B13) de cette chaine (CH) étant écrit dans la mémoire (1) à partir de la position repérée par ladite adresse, et chaque bloc mémoire (B13, B132, B133) de ladite chaine (CH) comprenant : 30 - un domaine (D), dans lequel on écrit une partie de la donnée à stocker, ce domaine étant entièrement occupé par cette partie de la donnée à stocker, et - un en-tête (E), dans lequel on écrit une indication de longueur représentative de la longueur (L) dudit domaine (D) contenu dans ce bloc mémoire. 3045864 26\n<CLM>\1\tProcédé d'écriture selon la revendication 10, dans lequel, ladite chaîne (CH) de blocs mémoires (B13, B132, B133) est écrite de manière que chaque bloc mémoire (B13, B132) de cette chaine (CH) suivi dans cette chaîne par un autre bloc mémoire (B132, B133) contient un domaine (D) présentant une 5 longueur supérieure audit deuxième seuil.\n<CLM>\1\tProcédé d'écriture selon l'une des revendications 10 et 11, dans lequel, lorsqu'un bloc mémoire (B13, B132) de ladite chaine (CH) est suivi dans cette chaîne par un autre bloc mémoire (B132, B133), alors, l'en-tête (E) contenu dans ce bloc mémoire est écrit de manière à contenir une indication de chainage 10 indiquant que ce bloc mémoire est suivi, dans ladite chaine, par un autre bloc mémoire.\n<CLM>\1\tProcédé d'écriture selon la revendication 12, dans lequel, lorsqu'un bloc mémoire (B13, B132) de ladite chaine (CH) est suivi dans cette chaîne par un autre bloc mémoire (B132, B133), alors, l'en-tête (E) contenu dans ce bloc mémoire 15 est écrit de manière à présenter : - ledit premier nombre d'octets, dans lesquels est écrite ladite indication de chainage, sous la forme d'une valeur prédéterminée, suivis par - ledit deuxième nombre d'octets dans lesquels est écrite ladite indication de longueur. 20\n<CLM>\1\tProcédé d'écriture selon l'une des revendications 10 à 13, dans lequel, lorsqu'un bloc mémoire (B13, B132) de ladite chaine (CH) est suivi dans cette chaîne par un autre bloc mémoire (B132, B133), alors, ce bloc mémoire (B13, B132) comprend en outre une adresse de chainage (ADC1, ADC2), distincte de ladite adresse lue ou écrite dans la première zone (Z1) de la mémoire (1) à l'étape 25 a), et repérant une autre position de la deuxième zone (Z2) de la mémoire (1) à partir de laquelle on écrit le bloc mémoire (B132, B133) suivant de cette chaine (CH).\n<CLM>\1\tProcédé d'écriture selon l'une des revendications 1 à 14, dans lequel la mémoire (1) est intégrée dans un élément sécurisé ou une carte à microcircuit. 30\n<CLM>\1\tProcédé de lecture dans une mémoire (1), comprenant une étape de a') lecture, dans une première zone (Z1) de la mémoire (1), d'une adresse repérant une position située dans une deuxième zone (Z2) de la mémoire (1), 3045 864 27 caractérisé en ce que ce procédé comprend de plus les étapes suivantes : b') lecture dans la mémoire (1), à partir de ladite position, d'un en-tête (E) contenant une indication de longueur, et 5 c') lecture du contenu d'un domaine (D) de la mémoire (1) contigu dudit en-tête (E) et présentant une longueur égale à ladite indication de longueur.\n<CLM>\1\tProcédé de lecture selon la revendication 16, dans lequel - l'étape b') comprend la lecture d'un premier nombre d'octets dudit en- tête (E), 10 - et dans lequel, lorsqu'une valeur lue dans ce premier nombre d'octets est inférieure à un premier seuil prédéterminé, alors, ladite indication de longueur est égale à ladite valeur lue dans ce premier nombre d'octets.\n<CLM>\1\tProcédé de lecture selon la revendication 17, dans lequel, lorsque ladite valeur lue dans le premier nombre d'octets de l'en-tête (E) 15 est supérieure audit premier seuil, alors, l'étape b') comprend en outre la lecture, dans un deuxième nombre d'octets situés dans la mémoire à la suite dudit premier nombre d'octets, de ladite indication de longueur.\n<CLM>\1\tProcédé de lecture selon l'une des revendications 16 à 19, dans 20 lequel il est prévu en outre, lorsque ledit en-tête (E) lu à l'étape b') contient une indication de chainage représentative du fait que le domaine (D) contigu de cet en-tête (E) est chainé avec un autre domaine de la mémoire (1), de d') lire, à la suite dudit domaine (D), une adresse de chainage, distincte 25 de ladite adresse lue dans la première zone (Z1) de la mémoire (1) à l'étape a'), cette adresse de chainage (ADC1, ADC2) repérant une autre position de la deuxième zone (Z2) de la mémoire (1), puis de bb') lire, à partir de ladite autre position, un en-tête (E) comprenant une indication de longueur, puis de 30 cc') lire le contenu d'un domaine (D) de la mémoire (1) contigu dudit en- tête (E) lu à l'étape bb'), ce domaine (D) présentant une longueur égale à ladite indication de longueur.\n<CLM>\1\tProcédé de lecture selon la revendication 19, dans lequel il est prévu en outre, de 3045864 28 dd') lorsque l'en-tête (E) lu à l'étape bb') contient une indication de chaînage représentative du fait que le domaine (D) contigu de cet en-tête (E) est chainé avec un autre domaine de la mémoire (1) : - lire, à la suite du domaine (D) lu à l'étape cc'), une adresse de 5 chainage (ADC1, ADC2), repérant une autre position de la deuxième zone (Z2) de la mémoire (1), puis de - réitérer l'exécution des étapes bb'), cc') et dd').\n<CLM>\1\tProcédé de lecture selon l'une des revendications 16 à 20, dans lequel la mémoire (1) est intégrée dans un élément sécurisé ou une carte à 10 microcircuit.\n<CLM>\1\tProcédé comprenant : - l'écriture d'une donnée à stocker, selon un procédé d'écriture conforme à l'une des revendications 1 à 15, et - la lecture de la donnée ainsi écrite, selon un procédé de lecture 15 conforme à l'une des revendications 16 à\n<CLM>\1\t23. Mémoire (1) comprenant une première zone (Z1) et une deuxième zone (Z2), la première zone (Z1) de la mémoire (1) contenant au moins une adresse repérant une position située dans la deuxième zone (Z2) de la mémoire (1), 20 caractérisée en ce que la mémoire (1) comprend en outre : - à partir de ladite position, un en-tête (E) contenant une indication de longueur, ainsi qu' - un domaine (D) contigu dudit en-tête (E), de longueur (L) correspondant à l'indication de longueur contenue dans cet en-tête, ce domaine (D) étant 25 entièrement occupé par une donnée qu'il contient.