FR3077892A1 - Système et procédé d'enregistrement d'une transaction associée à une mémoire non volatile orientée page - Google Patents

Système et procédé d'enregistrement d'une transaction associée à une mémoire non volatile orientée page Download PDF

Info

Publication number
FR3077892A1
FR3077892A1 FR1901332A FR1901332A FR3077892A1 FR 3077892 A1 FR3077892 A1 FR 3077892A1 FR 1901332 A FR1901332 A FR 1901332A FR 1901332 A FR1901332 A FR 1901332A FR 3077892 A1 FR3077892 A1 FR 3077892A1
Authority
FR
France
Prior art keywords
page
transaction
volatile
buffer
content
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR1901332A
Other languages
English (en)
Other versions
FR3077892B1 (fr
Inventor
Mrityunjay Kumar
Mohammad Ovais Siddiqui
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Idemia
Original Assignee
Idemia
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 Idemia filed Critical Idemia
Publication of FR3077892A1 publication Critical patent/FR3077892A1/fr
Application granted granted Critical
Publication of FR3077892B1 publication Critical patent/FR3077892B1/fr
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/466Transaction processing
    • G06F9/467Transactional memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/466Transaction processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1466Management of the backup or restore process to make the backup process non-disruptive
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • G06F2212/1024Latency reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • G06F2212/1044Space efficiency improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7203Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

Système et procédé d'enregistrement d'une transaction associée à une mémoire non volatile orientée page. Un procédé d'enregistrement des transactions associées à une mémoire non volatile orientée page est décrit. Le procédé comprend l'identification des pages nécessitant une ou plusieurs mise(s) à jour pour la mise en œuvre d'une transaction définie. De plus, le procédé comprend la copie de la page dans un tampon non volatil. Le procédé comprend en outre la mise à jour de la page identifiée avec le contenu de la transaction. La transaction est validée si la page est mise à jour sans interruption sinon toute la transaction est annulée. Figure pour l’abrégé : Fig. 3

Description

Description
Titre de l'invention : Système et procédé d'enregistrement d'une transaction associée à une mémoire non volatile orientée page [0001] La présente invention concerne l'enregistrement des transactions et la fourniture d'un support anti-arrachage associé à une mémoire non-volatile orientée page. Technique antérieure [0002] Souvent, en raison de situations imprévues, l'alimentation électrique d'appareils ayant des mémoires non volatiles est interrompue, ce qui provoque un arrachage. L'arrachage se rapporte à une interruption soudaine des transactions effectuées ou mises en œuvre par l'intermédiaire d'une mémoire non volatile d'un dispositif. De plus, en raison des opérations utilisateur, la transaction peut être abandonnée soudainement, ce qui se rapporte également à un arrachage. En raison de l'arrachage, l'état de la mémoire non volatile devient incohérent, ce qui entraîne un crash des données ou une lecture incorrecte des données par la mémoire non-volatile. Par exemple, l'alimentation électrique d'une carte à puce ayant une mémoire non volatile peut être interrompue en raison de situations telles que la mise hors tension du terminal ou le retrait brusque de la carte, ce qui peut entraîner l'arrachage de la carte à puce. En raison de l'arrachage, l'état de la mémoire non volatile de la carte devient incohérent, ce qui n'est pas souhaitable.
[0003] Pour éviter de telles situations, un système anti-déchirement est mis en œuvre qui assure un nouveau stockage des données lors de la remise sous tension ou de la mise sous tension suivante de l'appareil ayant la mémoire non-volatile. Afin de mettre en œuvre l'anti-arrachage, les transactions associées à la mémoire non volatile sont enregistrées en effectuant des sauvegardes répétées des données pendant l'exécution des transactions sur la mémoire non volatile. Souvent, les mêmes données sont sauvegardées encore et encore en cas de demande de mise à jour pour les mêmes données. De plus, une page complète ayant les données à mettre à jour est sauvegardée à plusieurs reprises, même si une demande de mise à jour est reçue pour mettre à jour un seul octet de données sur la page. Avec chaque mise à jour d'octet, la page complète est sauvegardée dans une mémoire tampon, ce qui entraîne une augmentation du manque d'espace de stockage libre sur la mémoire non volatile, d'où une augmentation du temps d'exécution des opérations mémoire. La sauvegarde de la page complète à chaque mise à jour d'octets entraîne une augmentation exponentielle du nombre de sauvegardes de pages, ce qui entrave les performances de l'appareil en utilisant la mémoire non volatile et réduit sa longévité.
[0004] Par conséquent, il est nécessaire de remédier aux inconvénients du procédé classique d'enregistrement des transactions associée aux mémoires non volatiles orientées pages. [0005] RÉSUMÉ [0006] La présente invention aborde les inconvénients susmentionnés dans l'état de la technique et dans un aspect de la présente invention, il est prévu un procédé d'enregistrement des transactions associées à une mémoire non volatile orientée page. Le procédé comprend des étapes d'identification d'une ou plusieurs page(s) nécessitant une ou plusieurs mise(s) à jour pour la mise en œuvre d'une transaction définie. Le procédé comprend en outre la copie d'une ou plusieurs page(s) dans un tampon non volatil et la mise à jour de la ou des page(s) identifiée(s) avec le (nouveau) contenu de la transaction. La/les une ou plusieurs page(s) copiée(s) est/sont restaurée(s) si la transaction est interrompue ou bien la/les page(s) copiée(s) est/sont supprimée(s).
[0007] Selon un autre aspect de la présente invention, il est prévu un dispositif d'enregistrement de transaction associée à une mémoire non volatile orientée page. Le dispositif comprend une ou plusieurs unité(s) de traitement pour identifier une ou plusieurs page(s) nécessitant une ou plusieurs mise(s) à jour pour mettre en œuvre une transaction définie. La ou les unité(s) de traitement copie/copient la ou les page(s) dans un tampon non volatil et met/mettent à jour la ou les page(s) identifiée(s), avec le (nouveau) contenu de la transaction. La/Les une ou plusieurs page(s) copiée(s) est/sont restaurées si la transaction est interrompue ou bien la/les une ou plusieurs page(s) copiée(s) est/sont supprimée(s).
[0008] BREVE DESCRIPTION DES ILLUSTRATIONS [0009] [fig.l] illustre un dispositif comprenant une mémoire non volatile, conformément à un mode de réalisation de la présente description.
[0010] [fig.2] illustre la mémoire non volatile du dispositif de la figure 1, conformément à un mode de réalisation de la présente description.
[0011] [fig.3] illustre un organigramme illustrant un procédé d'enregistrement des transactions conformément à un mode de réalisation de la présente description.
Description des modes de réalisation [0012] Des modes de réalisation donnés à titre d'exemples vont maintenant être décrits à l'aide des dessins qui l'accompagnent. Toutefois, l'invention peut prendre de nombreuses formes différentes et ne doit pas être interprétée comme se limitant à celles qui sont énoncées dans le présent document ; ces modes de réalisation sont fournis de manière à ce que l'invention soit complète et approfondie et à ce qu'elle transmette pleinement sa portée aux spécialistes de la technique. La terminologie utilisée dans la description détaillée des modes de réalisation donnés à titre d'exemples illustrés dans les dessins ci-joints ne se veut pas limitative. Dans les dessins, les chiffres renvoient à des éléments similaires.
[0013] La spécification peut faire référence à un, ou des mode(s) de réalisation à plusieurs endroits. Cela ne signifie pas nécessairement qu'il est fait référence au(x) même(s) mode(s) de réalisation ou que la caractéristique ne s'applique qu'à un seul mode de réalisation. Des caractéristiques uniques de différents modes de réalisation peuvent également être combinées pour obtenir d'autres modes de réalisation.
[0014] Dans le présent document, les formes au singulier un et le/la s'entendent également au pluriel, sauf indication contraire expresse. Il sera en outre entendu que les termes comporte, comprend, y compris et/ou comprenant, lorsqu'ils sont utilisés dans la présente spécification, précisent la présence de caractéristiques, nombres entiers, étapes, opérations, éléments et/ou composants indiqués, mais n'excluent pas la présence ou l'ajout d'un(e) ou plusieurs autres caractéristique(s), nombre(s) entier(s), étape(s), opération(s), élément(s), composant(s) et/ou groupe(s) de ceux-ci. Il sera entendu que lorsqu'un élément est désigné comme étant connecté ou couplé à un autre élément, il peut être directement connecté ou couplé à l'autre élément ou des éléments intermédiaires peuvent être présents. De plus, les termes connecté ou couplé tels qu'ils sont utilisés dans le présent document peuvent inclure les connexions ou les couplages sans fil. Tel qu'il est utilisé dans les présentes, le terme et/ou comprend toutes les combinaisons et tous les arrangements d'un ou de plusieurs des éléments énumérés connexes.
[0015] Sauf définition contraire, tous les termes (y compris les termes techniques et scientifiques) utilisés dans le présent document ont le même sens que celui communément donné à l'expression compétence ordinaire dans l'art auquel se rapporte cette invention. Il sera en outre entendu que les termes, tels que définis dans les dictionnaires couramment utilisés, doivent être interprétés comme ayant un sens qui correspond à leur signification dans le contexte de l'art pertinent et ne seront pas interprétés dans un sens idéalisé ou trop formel à moins qu'ils ne soient expressément définis ainsi.
[0016] Les figures illustrent une structure simplifiée ne montrant que certains éléments et entités fonctionnelles, tous étant des unités logiques dont la mise en œuvre peut différer de ce qui est indiqué. Les connexions indiquées sont des connexions logiques ; les connexions physiques réelles peuvent être différentes.
[0017] Le dispositif et le procédé de la présente invention facilitent la réduction de la consommation de la zone mémoire pour mettre en œuvre l'enregistrement des transactions associées à la mémoire non volatile orientée page. La présente invention réduit davantage le besoin de sauvegarde multiple de pages dans une mémoire tampon non volatile de la mémoire. De plus, le procédé et le dispositif de la présente invention réduisent considérablement le temps d'exécution des transactions associées à la mémoire non volatile en raison de la réduction du nombre de sauvegardes de pages dans la mémoire tampon non-volatile.
[0018] En référence aux figures 1-3, un système 100 comprend un dispositif portable 102 qui comprend un circuit intégré 104. Le circuit intégré 104 peut être monté ou intégré dans l'appareil portable 102 qui peut être un appareil portable tel qu'une carte à puce. Le circuit intégré 104 peut comprendre des moyens de communication d'interface pour permettre la lecture et l'écriture de données dans une zone mémoire du circuit intégré 104. Le circuit intégré 104 peut comprendre une mémoire non volatile 106 et une mémoire volatile 108, les deux mémoires étant accessibles par un bus 110. Le circuit intégré 104 comprend en outre une unité de traitement 112 qui accède à la mémoire non volatile 106 et à la mémoire volatile 108 via le bus 110 pour gérer les deux mémoires. Dans un mode de réalisation, la mémoire non volatile 106 est une mémoire non volatile orientée page, telle qu'une mémoire flash.
[0019] Comme le montre la figure 2, la mémoire non volatile 106 comprend une mémoire tampon non volatile (202) qui peut être utilisée pour stocker une copie d'une page 204 au moment de la copie de la page 204 pendant l'enregistrement des transactions associées à la mémoire non volatile 106. La page 204 peut comprendre le contenu de la transaction (Cl, C2 et C3).
[0020] Le procédé d'enregistrement des transactions comprend une étape d'identification 302 d'une page nécessitant une ou plusieurs mise(s) à jour pour mettre en œuvre une transaction définie. Dans un mode de réalisation, la transaction définie peut inclure une transaction atomique.
[0021] En outre, le procédé comprend une étape de copie 304 de la page 204 dans le tampon non volatil 202 en stockant une copie de la page 204 dans le tampon non volatil 202. L'étape de copie 304 est effectuée si une étape de détermination 314 est effectuée pour déterminer que la page n'est pas déjà sauvegardée. Lors de l'étape de copie 304, un index 206 de la page est en outre stocké dans la mémoire non volatile 106. Dans un mode de réalisation, l'index 206 peut inclure une adresse de la page 204. Dans un autre mode de réalisation, l'index 206 peut également inclure des informations de validité ainsi que l'adresse de la page 204. Dans un mode de réalisation, les informations de validité peuvent inclure un état actif et un état inactif. Dans un mode de réalisation donné à titre d'exemple, l'état actif peut être représenté par 1 et l'état inactif par 0. La représentation de l'état actif et de l'état inactif n'est pas limitée à 0 et 1, et toute autre représentation appropriée peut être utilisée pour représenter l'état actif et l'état inactif. L'état actif correspond à un état de fonctionnement en cours d'exécution sur la page 204. L'état inactif correspond à un état de fonctionnement non exécuté sur la page
204. Dans un mode de réalisation donné à titre d'exemple, l'index 206 de la page 204 et une page 205 peuvent être stockés dans la mémoire non volatile 106. L'index 206 peut inclure les informations de validité des pages 204 et 205. Dans un mode de réalisation, les informations de validité de la page 204 peuvent inclure un état actif et peuvent inclure un état inactif pour la page 205. Dans un autre mode de réalisation, les informations de validité de la page 204 peuvent inclure un état inactif et peuvent inclure un état actif pour la page 205. Dans un autre mode de réalisation, les informations de validité des pages 204 et 205 peuvent inclure un état actif ou un état inactif.
[0022] Lorsque la page 204 est copiée dans le tampon non volatil 202, à l'étape 306, la page 204 est mise à jour avec le contenu de la transaction. L'index 206 de la page 204 est maintenu dans la mémoire non volatile 106 avant la mise à jour de la page 204 afin de garder la trace des mises à jour effectuées sur la page 204. Plus précisément, un ou plusieurs des contenus de transaction précédemment écrits peut/peuvent être mis à jour avec le contenu de la transaction (Cl, C2 et C3). Pour la mise à jour, le contenu original de la transaction de la page 204 est copié dans un tampon de lecture-écriture (non représenté dans les figures) et ensuite le contenu de la transaction de la page 204 est effacé. Le contenu de la transaction copiée est modifié dans la mémoire tampon en lecture/écriture conformément aux exigences de la transaction. Le contenu modifié est écrit dans la page 204, mettant ainsi à jour la page 204 avec le contenu de la transaction (Cl, C2 et C3).
[0023] Au cours de la mise en œuvre de la transaction définie, le contenu des transactions (Cl, C2 et C3) peut être remplacé autant de fois que nécessaire par une version mise à jour du contenu des transactions (Cl, C2 et C3). Par conséquent, la présente invention ne copie la page 204 qu'une seule fois dans le tampon non volatil 202 pendant la mise en œuvre de la transaction définie, et met à jour le contenu de la transaction (Cl, C2 et C3) sur la page 204 plusieurs fois jusqu'à ce que la transaction définie soit en cours de réalisation. Par conséquent, la présente invention réduit le besoin de sauvegarder la page 204 plusieurs fois dans le tampon non volatil 202, réduisant ainsi la consommation de mémoire de la mémoire non volatile 106, alors que l'art antérieur effectue une sauvegarde de la page 204 et du contenu (Cl, C2 et C3) de la page 204 chaque fois même si un des contenus de transaction (Cl, C2 et C3) est mis à jour, ce qui entraîne une charge inutile sur les dispositifs classiques de l'art antérieur. De plus, en raison du nombre réduit de sauvegardes de pages dans la présente invention, le temps d'exécution de la mise en œuvre de la transaction définie augmente, ce qui permet un fonctionnement rapide des transactions dans la mémoire non-volatile.
[0024] A l'étape 308, on détermine si la page 204 est mise à jour sans interruption, l'interruption pouvant être provoquée par une interruption de l'alimentation électrique du dispositif portable 102 ou basée sur l'interruption de la transaction définie par un utilisateur du dispositif portable 102. Dans un cas, le contenu de la transaction (Cl, C2 et C3) est mis à jour et la mise à jour des pages n'a pas été interrompue, puis à l'étape 314, il est déterminé si la transaction est validée. Dans un cas, il est déterminé que la transaction définie n'est pas validée à l'étape 314, les étapes 302 à 308 sont à nouveau exécutées. Dans un cas, à l'étape 314, il est déterminé que la transaction définie est validée, puis la page copiée stockée dans le tampon non volatile 202 est supprimée.
[0025] Dans un cas, une interruption est provoquée pendant la mise en œuvre de la transaction définie, puis à l'étape 310, la transaction définie est annulée pour revenir à l'état initial. Lorsque la transaction définie est annulée, sur la base de l'index 206 de la page 204 qui a été conservé dans la mémoire non volatile 106, il est déterminé si la transaction définie a été lancée. Lors de l'annulation de la transaction définie, la page copiée qui est stockée dans le tampon non volatile est restaurée à l'emplacement de la page 204 déterminé sur la base de l'index 206 de la page 204 qui était maintenu dans la mémoire non volatile 106. Dans un mode de réalisation donné à titre d'exemple, la page 205 a également été sauvegardée en même temps que la page 204, puis lors de l'annulation de la transaction définie, les pages 205 et 204 pour laquelle les informations de validité dans l'index 206 représentent l'état actif, cette page est restaurée. Les pages 205 et 204 pour lesquelles les informations de validité dans l'index 206 représentent l'état inactif, cette page est supprimée.
[0026] En raison du nombre réduit de pages sauvegardées dans la mémoire tampon non volatile 202, la consommation de la zone mémoire dans la mémoire tampon est une technique moins classique car si la demande de mise à jour de sauvegarde est faite pour la même page pendant le même cycle de transaction, il n'est pas nécessaire de reprendre la sauvegarde. De plus, la présente invention facilite la vitesse d'exécution, qui est de 25 à 30 % plus rapide que les procédés classiques. En outre, selon un mode de réalisation de la présente invention, le procédé et le système de la présente invention facilitent l'anti-arrachage de la page pour les transactions non atomiques.
[0027] Le tableau 1 illustre la comparaison entre le procédé de la présente invention et un procédé classique, mise en œuvre dans un dispositif électronique au moment de l'exécution des opérations sur le dispositif électronique.
[0028] [Tableaux 1]
Fonctionnement de l'installation Opération de suppression
Technique classique Présente Inventio n Amélioratio n Technique classique Présente Inventio n Amélioratio n
Performanc e 2,12 secondes 1,54 secondes 27,35 % 1,24 secondes 0,96 secondes 22,58 %
No de la demande d'effacemen t 448 343 23,43 % 200 166 17 %
No de la Demande d'écriture 1311 669 48,97 % 664 355 46,53 %
[0029] En outre, la présente invention a été décrite dans la partie ci-dessus en se référant à des illustrations d'organigrammes et/ou des schémas fonctionnels de procédés et d'appareils (systèmes) selon les modes de réalisation de l'invention.
[0030] Il est entendu que chaque bloc des illustrations de l'organigramme et/ou des schémas fonctionnels, ainsi que les combinaisons de blocs dans les illustrations de l'organigramme et/ou les schémas fonctionnels, peuvent être mis en œuvre par des instructions de programme informatique. Ces instructions de programme informatique peuvent être fournies à un processeur d'un ordinateur à usage général, d'un ordinateur à usage spécifique ou d'un autre appareil de traitement de données programmable pour produire une machine, de sorte que les instructions, qui s'exécutent par l'intermédiaire du processeur de l'ordinateur ou d'un autre appareil de traitement de données programmable, créent des moyens de mise en œuvre des fonctions/actions spécifiées dans le ou les bloc(s) d'organigrammes et/ou de schémas fonctionnels.
[0031] Ces instructions de programme informatique peuvent également être stockées dans une mémoire lisible par ordinateur qui peut ordonner à un ordinateur ou à un autre appareil de traitement de données programmable de fonctionner d'une manière particulière, de sorte que les instructions stockées dans la mémoire lisible par ordinateur produisent un article manufacturé comprenant des moyens d'instruction qui mettent en œuvre la fonction ou l'acte spécifié(e) dans le ou les bloc(s) d'organigrammes et/ou de schémas fonctionnels.
[0032] Les instructions de programme informatique peuvent également être chargées sur un ordinateur ou un autre appareil de traitement de données programmable tel qu'un scanner/scanner de contrôle pour provoquer l'exécution d'une série d'étapes opérationnelles sur l'ordinateur ou un autre appareil programmable pour produire un processus exécuté par ordinateur de sorte que les instructions qui s'exécutent sur l'ordinateur ou un autre appareil programmable fournissent les étapes de mise en œuvre des fonctions/actions spécifiées dans le ou les bloc(s) d'organigrammes et/ou de schémas fonctionnels.
L'organigramme et les schémas fonctionnels illustrent l'architecture, la fonctionnalité et le fonctionnement de certains modes de réalisation de procédés, de systèmes et de produits de programmes informatiques pour gérer les associations de sécurité sur un réseau de communication. A cet égard, chaque bloc peut représenter un module, un segment ou une partie de code, qui comprend une ou plusieurs instruction(s) exécutable(s) pour mettre en œuvre la ou les fonctions logique(s) spécifiée(s). Il convient également de noter que dans d'autres mises en œuvre, la ou les fonction(s) notée(s) dans les blocs peut/peuvent se dérouler dans l'ordre indiqué dans les figures. Par exemple, deux blocs montrés successivement peuvent, en fait, être exécutés sensiblement simultanément ou les blocs peuvent parfois être exécutés dans l'ordre inverse, en fonction de la fonctionnalité concernée.
[0033] Les différents modes de réalisation décrits ci-dessus peuvent être combinés pour fournir d'autres modes de réalisation. Certains aspects des modes de réalisation peuvent être modifiés, si nécessaire pour utiliser les concepts des différents brevets, demandes de brevet et publications afin de fournir encore d'autres modes de réalisation. Ces changements, ainsi que d'autres, peuvent être apportés aux modes de réalisation à la lumière de la description détaillée ci-dessus. En général, dans les revendications suivantes, les termes utilisés ne doivent pas être interprétés comme limitant les revendications aux modes de réalisation spécifiques décrits dans la spécification et les revendications, mais comme incluant tous les modes de réalisation possibles ainsi que la gamme complète des équivalents auxquels ces revendications ont droit. Par conséquent, les revendications ne sont pas limitées par la description.

Claims (1)

  1. Revendications
    Procédé d'enregistrement de transactions associées à une mémoire non volatile orientée page, comprenant les étapes consistant à : -identifier une ou plusieurs page(s) nécessitant une ou plusieurs mise(s) à jour pour la mise en œuvre d'une transaction définie ;
    -copier ladite/lesdites une ou plusieurs page(s) dans un tampon non volatil ; et
    -mettre à jour de ladite/lesdites une ou plusieurs page(s) identifiée(s) avec le contenu de la transaction ;
    -dans lequel ladite une ou plusieurs page(s) copiée(s) est/sont restaurée(s) si la transaction est interrompue ou bien si ladite/lesdites une ou plusieurs page(s) copiée(s) est/sont supprimée(s).
    Procédé selon la revendication 1, dans lequel ladite copie de ladite/ desdites une ou plusieurs page(s) comprend le maintien d'un index de ladite/desdites une ou plusieurs page(s) dans ledit tampon non volatil. Procédé selon la revendication 2, dans lequel ledit index comprend une adresse de ladite/desdites une ou plusieurs page(s), et des informations de validité représentant l'état d'une opération en cours sur ladite/lesdites une ou plusieurs page(s).
    Procédé selon la revendication 1, dans lequel ladite mise à jour comprend la copie du contenu original de la page dans un tampon de lecture-écriture, l'effacement de la page, la modification du contenu dans le tampon de lecture-écriture conformément aux exigences de transaction et l'écriture du contenu modifié sur la page.
    Procédé selon la revendication 3, dans lequel ladite/lesdites une ou plusieurs page(s) est/sont restaurée(s) sur la base desdites informations de validité représentant un état actif d'une opération en cours sur ladite/ lesdites une ou plusieurs page(s).
    Procédé selon la revendication 3, dans lequel, lorsque ladite/lesdites une ou plusieurs page(s) est/sont supprimée(s), un état inactif d'une opération est défini dans lesdites informations de validité.
    Procédé selon la revendication 1, dans lequel, en cas d'interruption provoquée par l'arrachage, la transaction est annulée lors de la mise sous tension suivante.
    Dispositif d'enregistrement d'une transaction associée à une mémoire non volatile orientée page, comprenant :
    -une ou plusieurs unité(s) de traitement configurée(s) pour :
    [Revendication 9] [Revendication 10] [Revendication 11] [Revendication 12] [Revendication 13] [Revendication 14] [Revendication 15]
    -identifier une ou plusieurs page(s) nécessitant une ou plusieurs mise(s) à jour pour la mise en œuvre d'une transaction définie ;
    -copier ladite/lesdites une ou plusieurs page(s) dans un tampon non volatil ; et
    -mettre à jour ladite ou lesdites une ou plusieurs page(s) identifiée(s) avec le contenu de la transaction, dans laquelle ladite/lesdites une ou plusieurs page(s) copiée(s) est/sont restaurée(s) si la transaction est interrompue ou bien si ladite/lesdites une ou plusieurs page(s) copiée(s) est/sont supprimée(s).
    Dispositif selon la revendication 8, dans lequel ladite ou lesdites unité(s) de traitement est/sont configurée(s) pour maintenir un index de ladite/ desdites une ou plusieurs page(s) dans ledit tampon non volatil.
    Dispositif selon la revendication 9, dans lequel ledit index comprend une adresse de ladite/desdites une ou plusieurs page(s), et des informations de validité représentant l'état d'une opération effectuée sur ladite/lesdites une ou plusieurs page(s).
    Dispositif selon la revendication 8, dans lequel la ou les unité(s) de traitement est/sont configurée(s) pour copier le contenu original de la page dans un tampon de lecture-écriture, maintenir un index de la page dans le tampon non volatil, effacer la page, modifier le contenu dans le tampon de lecture-écriture conformément aux exigences de transaction, et écrire le contenu modifié dans la page.
    Dispositif selon la revendication 10, dans lequel la ou les unité(s) de traitement est/sont configurée(s) pour restaurer ladite/lesdites une ou plusieurs page(s) sur la base desdites informations de validité représentant un état actif d'une opération en cours sur ladite/lesdites une ou plusieurs page(s).
    Dispositif selon la revendication 12, dans lequel la ou les unité(s) de traitement est/sont configurée(s) pour mettre lesdites informations de validité dans un état inactif d'une opération, lorsque ladite/lesdites une ou plusieurs page(s) est/sont supprimée(s) par la ou les unité(s) de traitement.
    Dispositif selon la revendication 8, dans lequel, en cas d'interruption provoquée par l'arrachage, la transaction est annulée au moment de la mise sous tension suivante.
    Dispositif selon la revendication 8, dans lequel la mémoire non volatile orientée page est une mémoire flash.
FR1901332A 2018-02-15 2019-02-11 Système et procédé d'enregistrement d'une transaction associée à une mémoire non volatile orientée page Active FR3077892B1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IN201811005799 2018-02-15
IN201811005799 2018-02-15

Publications (2)

Publication Number Publication Date
FR3077892A1 true FR3077892A1 (fr) 2019-08-16
FR3077892B1 FR3077892B1 (fr) 2023-12-22

Family

ID=67540900

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1901332A Active FR3077892B1 (fr) 2018-02-15 2019-02-11 Système et procédé d'enregistrement d'une transaction associée à une mémoire non volatile orientée page

Country Status (2)

Country Link
US (1) US11150940B2 (fr)
FR (1) FR3077892B1 (fr)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7620660B2 (en) * 2005-06-30 2009-11-17 Microsoft Corporation Pre-image logging for database recovery
US9207876B2 (en) * 2007-04-19 2015-12-08 Microsoft Technology Licensing, Llc Remove-on-delete technologies for solid state drive optimization
EP2270662A1 (fr) * 2009-06-29 2011-01-05 Thomson Licensing Procédé et appareil pour traiter des erreurs d'écriture lors de l'entrée de données d'information dans des dispositifs à mémoire flash
US9519591B2 (en) * 2013-06-22 2016-12-13 Microsoft Technology Licensing, Llc Latch-free, log-structured storage for multiple access methods

Also Published As

Publication number Publication date
US11150940B2 (en) 2021-10-19
US20190250945A1 (en) 2019-08-15
FR3077892B1 (fr) 2023-12-22

Similar Documents

Publication Publication Date Title
US20140351640A1 (en) System reset
US20120124003A1 (en) Using versioning to back up multiple versions of a stored object
CN111989656B (zh) 可配置的恢复状态
EP2786317B1 (fr) Ecriture de données dans une mémoire non volatile de carte à puce
CN102520991A (zh) 高效的虚拟应用更新
US20140222761A1 (en) Terminal Backup and Recovery Method
WO2018006587A1 (fr) Procédé de stockage de fichier, terminal et support de stockage
CN111338844A (zh) 一种数据库备份管理的方法及电子设备
US20110004583A1 (en) Database system, database update method, database, and database update program
CN104216802B (zh) 一种内存数据库恢复方法和设备
US12045173B2 (en) Stale data recovery using virtual storage metadata
US9336250B1 (en) Systems and methods for efficiently backing up data
KR101604222B1 (ko) 영상 기록 장치 및 일시적 네트워크 장애 발생시 영상 기록 방법
CN111868698B (zh) 空闲空间直通
FR3077892A1 (fr) Système et procédé d'enregistrement d'une transaction associée à une mémoire non volatile orientée page
FR2748134A1 (fr) Procede et dispositif permettant a un programme fige de pouvoir evoluer
EP1467283B1 (fr) Système de sauvegarde centralisée d'informations.
US20060234773A1 (en) Fast booting method for mobile communication device
FR3074317B1 (fr) Procede d'acces a une zone memoire non volatile de type flash d'un element securise, tel qu'une carte a puce
WO2010113165A1 (fr) Système et procédé de construction d'unité de stockage tout en servant des opérations d'entrée/sortie
FR3073959A1 (fr) Systeme informatique, procede d'acces a un fichier informatique et programme d'ordinateur correspondant
WO2021259475A1 (fr) Système de sauvegarde et procédé visant à augmenter la durabilité d'un support d'enregistrement associé
EP1406445B1 (fr) Système de gestion de droits temporels liés à un contenu numérique
FR3102868A1 (fr) Procédé pour exécuter une transaction
CN117407373A (zh) 用于管理文件的方法、计算设备和存储介质

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20201009

PLFP Fee payment

Year of fee payment: 3

PLFP Fee payment

Year of fee payment: 4

PLFP Fee payment

Year of fee payment: 5

PLFP Fee payment

Year of fee payment: 6