FR2720529A1 - Procédé pour la sauvegarde de l'image des données d'une unité de stockage et son transfert vers une unité de sauvegarde. - Google Patents

Procédé pour la sauvegarde de l'image des données d'une unité de stockage et son transfert vers une unité de sauvegarde. Download PDF

Info

Publication number
FR2720529A1
FR2720529A1 FR9406627A FR9406627A FR2720529A1 FR 2720529 A1 FR2720529 A1 FR 2720529A1 FR 9406627 A FR9406627 A FR 9406627A FR 9406627 A FR9406627 A FR 9406627A FR 2720529 A1 FR2720529 A1 FR 2720529A1
Authority
FR
France
Prior art keywords
data
backup
granules
granule
unit
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
FR9406627A
Other languages
English (en)
Other versions
FR2720529B1 (fr
Inventor
Dominique Ezvan
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.)
Aton Sistemes SA
Original Assignee
Aton Sistemes SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Aton Sistemes SA filed Critical Aton Sistemes SA
Priority to FR9406627A priority Critical patent/FR2720529B1/fr
Publication of FR2720529A1 publication Critical patent/FR2720529A1/fr
Application granted granted Critical
Publication of FR2720529B1 publication Critical patent/FR2720529B1/fr
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

L'invention concerne un procédé permettant de réaliser la sauvegarde instantanée de l'image des données d'une unité de stockage d'un système de traitement de données et son transfert vers une unité de sauvegarde. L'image des données est décrite par un compteur de sauvegarde (29), un pointeur vers un nœud racine (28) et une structure de données comprenant un nœud racine (12) et des nœuds (13) (14) (15) contenant soit des pointeurs vers d'autres nœuds (16) (17) (18), soit des blocs de données (30). La sauvegarde de l'image des données consiste à augmenter de un le compteur de sauvegarde, à dupliquer le nœud racine et à mettre à jour le pointeur vers le nœud racine. Le système selon l'invention est particulièrement destiné à la sauvegarde des données d'un ordinateur.

Description

La présente invention concerne les systèmes de traitement de données équipés d'une unité de stockage et d'une unité de sauvegarde, et, plus particulièrement, un procédé pour la sauvegarde instantanée de l'image des données de ladite unité de stockage et son transfert vers ladite unité de sauvegarde.
Une opération de sauvegarde des données d'une unité de stockage vers une unité de sauvegarde consiste généralement en la copie des données d'une unité vers l'autre à travers un ou plusieurs moyens de transfert de données. Par nature, ces moyens de transfert osent des débits de transfert de données spécifiques et imposent un temps minimum pour la réalisation de ladite opération de sauvegarde dans sa totalité.
Lorsque l'unité de stockage reste opérationnelle pendant l'opération de sauvegarde, certaines données stockées sur cette unité peuvent être modifiées alors que ladite opération est en cours. Suivant l'instant où intervient la modification d'une donnée et sa position sur l'unité de stockage, ladite donnée est sauvegardée soit non modifiée, soit modifiée. Si, pendant ladite opération de sauvegarde, plusieurs données sont modifiées sur l'unité de stockage, certaines desdites données sont sauvegardées non modifiées, les autres sont sauvegardées modifiés. En conséquence, I'ensemble des données sauvegardées sur l'unité de sauvegarde ne correspond pas à l'image exacte de l'ensemble des données de l'unité de stockage à un instant précis. Ainsi, des incohérences entre les différentes données sauvegardées peuvent les rendre inexploitables.
Afin de garantir un certain niveau de cohérence des données, les techniques de sauvegarde des données d'une unité de stockage, utilisées à ce jour, imposent de connaître l'organisation des données sur l'unité de stockage et les méthodes d'accès associées.
Suivant ces techniques, les données sont sauvegardées un groupe à la fois, un groupe formant un ensemble cohérent de données. Durant la sauvegarde d'un groupe, aucune donnée contenue dans ledit groupe ne peut être modifiée. Si un groupe est en cours de modification, la sauvegarde dudit groupe est reportée jusqu'à ce qu'il soit disponible. Si un groupe n'est jamais disponible, il ne peut pas être sauvegardé.
Le perfectionnement apporté par cette invention consiste en un procédé permettait la sauvegarde instantanée de l'image des données d'une unité de stockage et son transfert vers une unité de sauvegarde.
D'après cette invention, le procédé consiste à décrire l'image des données par un compteur de sauvegarde, un pointeur vers un noeud racine et une structure de données comprenant un noeud racine et des noeuds contenant soit des pointeurs vers d'autres noeuds, soit des blocs de données, lesdits noeuds étant contenus dans des granules alloués soit dans une mémoire à accès aléatoires, soit sur une unité de stockage, soit une unité de sauvegarde, lesdits granules étant pourvus d'un numéro de sauvegarde, à sauvegarder l'image des données en augmentant de on le compteur de sauvegarde, en allouent un granule, en recopiant le noeud racine dans ledit granule et en mettant à jour le pointeur de noeud racine, à récupérer les données en parcourant la structure de données, à modifier les données en parcourant la structure de données, en créant lesdits noeuds qui n'existent pas, en dupliquant lesdits noeuds qui doivent être modifiés et dont ledit numéro de sauvegarde n'est pas égal audit compteur de sauvegarde, à transférer les granules dupliqués vers ladite unité de sauvegarde, en allouant des granules sur ladite unité de sauvegarde, en copiant le contenu des granules à transférer, en mettant à jour lesdits pointeurs de la structure de données qui pointent vers lesdits granules, en libérant lesdits granules, à répéter lesdites opérations de récupération, de modification et de transfert pour satisfaire les demandes du système de traitement des données.
La description de l'invention qui suit fait référence aux dessins annexés:
La figure 1 est un schéma logique du système de traitement de données
mettant en oeuvre l'inventiorL
La figure 2 est un schéma logique qui détaille un numéro de bloc utilisé pour
identifier les données contenues dans un bloc de données.
La figure 3 est un schéma logique qui détaille la structure de données qui
décrit l'image des données.
La figure 4 est un schéma logique qui détaille un pointeur vers un granule.
La figure 5 est un schéma logique qui détaille la structure de contrôle d'un
granule.
En référence aux figures I à 5 est donnée une description d'un système gérant une unité de stockage et une unité de sauvegarde réalisant la sauvegarde instantanée de l'image des donnees de l'unité de stockage et son transfert vers l'unité de sauvegarde.
L'invention est particulièrement adaptée à un système comprenant au moins une unité de traitement 1, une mémoire à accès aléatoires 2, un contrôleur limité de stockage et d'unité de sauvegarde 3, une unité de stockage 4, une unité de sauvegarde 5 et un contrôleur d'interface ordinateur 6 optionnel.
Dans le système mettant en oeuvre le procédé décrit, l'unité de traitement 1 peut être une carte processeur conforme aux spécifications EXTENDED INDUSTRY STANDARD
ARCHITECTURE de BCPR SERVICES équipée d'un processeur du type i486SX qui fait partie de la famille des processeurs 32 bits d'rNTEL. Ladite unité de traitement I accède à une mémoire à accès aléatoires 2 qui peut être composée de barrettes mémoire SIM et dont la capacité peut être de un ou plusieurs méga-octets pouvant contenir les programmes et les données nécessaires au fonctionnement du systèmes ainsi que, éventuellement, les programmes des applications modifiant les données stockées sur l'unité de stockage. Le contrôleur d'unité de stockage et d'unité de sauvegarde 3, qui peut être conforme au standard ANSI X3.131, par exemple le contrôleur AHA-1740 d'ADAPTEC, permet la connexion de l'unité de traitement 1 et de la mémoire à accès aléatoires à l'unité de stockage 4 et à l'unité de sauvegarde 5. L'unité de stockage 4 peut être un disque dur de 3,5 pouces disposant d'une interface conforme au standard ANSI X3.131, par exemple le disque SPUIFIRE S12 d'IBM. L'unité de sauvegarde 5 peut être un lecteuremegistreur de disque optique numérique disposant d'une interface conforme au standard ANSI X3.131, par exemple le lecteurenregistreur GD 9001 d'ATG < IGNET, éventuellement associé à un juke-box comme le Series 1800 d'ATG1GNET.
Le contrôleur d'interface ordinateur 6, qui peut être conforme au standard ANSI x3. 131, par exemple le contrôleur TARGET E-IOF d'ATON Systèmes, est seulement nécessaire lorsque les programmes des applications modifiant les données stockées sur ladite unité de stockage 4 ne sont pas contenus dans ladite mémoire à accès aléatoires 2 et exécutés par ladite unité de traitement I, mais contenus dans la mémoire à accès aléatoires et exécutés par l'unité de traitement d'un ordinateur connecté audit système.
Les données sont regroupées en blocs de données 30, de taille fixe, par exemple 512 octets, identifiés par un numéro de bloc 7 unique. Ledit numéro de bloc peut comporter par exemple 32 bits regroupés en quatre parties formant chacune un numéro de noeud de premier niveau 8 (huit bits), un numéro de noeud de second niveau 9 (dix bits), un numéro de noeud de données 10 (dix bits) et un numéro de bloc de données 1 1 (quatre bits).
La structure de données qui décrit l'image des données de l'unité de stockage par la localisation des blocs de données 30 qui la composent peut être contenue entièrement ou en partie dans ladite mémoire à accès aléatoires 2, stockée entièrement ou en partie sur l'unité de stockage 4, et sauvegardée entièrement ou en partie sur l'unité de sauvegarde 5.
Ladite structure de données comprend par exemple: un noeud racine 12; zéro, un ou plusieurs noeuds de premier niveau 13; zéro, un ou plusieurs noeuds de second niveau 14; zéro, un ou plusieurs noeuds de données 15.
Le noeud racine 12 contient au moins autant de pointeurs vers un noeud de premier niveau 16 qu'il peut y avoir de numéros de noeud de premier niveau 8 par noeud racine 12, par exemple deux cent cinquante six Un noeud de premier niveau 13 contient au moins autant de pointeurs vers un noeud de second niveau 17 qu'il peut y avoir de numéros de noeud de second niveau 9 par noeud de premier niveau, par exemple mille vingt quatre.
Un noeud de second niveau 14 contient au moins autant de pointeurs vers un noeud de données 18 qu'il peut y avoir de numéros de noeud de données 10 par noeud de second niveau, par exemple mille vingt quatre. Lesdits pointeurs contiennent un index granule mémoire 19 et/ou un index granule unité de stockage 20 et/ou un index granule unité de sauvegarde 21.
Lesdits noeuds racine 12, noeuds de premier niveau 13 et noeuds de second niveau 14 contenus dans ladite mémoire à acces aléatoires 2 peuvent contenir des pointeurs contenant eux-mêmes un index granule mémoire 19, un index granule unité de stockage 20 et un index granule unité de sauvegarde 21. Lesdits noeuds stockés sur ladite unité de stockage 4 peuvent contenir des pointeurs contenant eux-mêmes un index granule unité de stockage 20 et un index granule unité de sauvegarde 21, mais pas d'index granule mémoire 19. Lesdits noeuds sauvegardés sur ladite unité de sauvegarde 5 peuvent contenir des pointeurs contenant eux-mêmes un index granule unité de sauvegarde 21, mais pas d'index granule mémoire 19 ni d'index granule unité de stockage 20. Pour éviter la perte de données, il peut être imposé que lesdits noeuds contenus dans la mémoire à accès aléatoires 2 disposent d'au moins un copie sur ladite unité de stockage 4 ou ladite unité de sauvegarde 5.
Un noeud de données 15 contient au moins autant de blocs de données 30 qu'il peut y avoir de numéros de bloc de données il par noeud de données, par exemple seize.
Lesdits noeuds sont rangés dans des granules de taille fixe par exemple égale à seize fois la taille d'un bloc de données. Une structure de contrôle de granule 22 est associée à chacun desdits granules. Ladite structure de contrôle comprend par exemple: un pointeur vers le granule père 23, un numéro de sauvegarde 24 et un numéro de noeud 25 pour la gestion de la sauvegarde, des données de contrôle 26 pour la gestion de l'allocation dudit granule et éventuellement l'adresse 27 dudit granule dans la mémoire à accès aléatoires 2, sur l'unité de stockage 4 ou sur l'unité de sauvegarde 5.
L'image courante des données de l'unité de stockage est définie par le pointeur vers le noeud racine 28 et le compteur de sauvegarde 29. A un instant donné, ladite structure de données peut ne pas comprendre tous les noeuds nécessaires à la description de l'image des données. Dans ce cas seuls les noeuds nécessaires à la localisation des blocs de données au moins écrits une fois peuvent exister.
L'allocation et la libération des granules contenus dans la mémoire à accès aléatoires 2 peuvent être réaliser suivant les techniques bien connues de gestion mémoire. Pour des raisons de simplification les structures de contrôle de granule 22 correspondantes peuvent être regroupées dans une région de ladite mémoire à accès aléatoires 2 afin d'être indexées directement par l'index granule me moire 19. Une méthode similaire peut être utilisée pour réaliser l'allocation et la libération des granules stockés sur l'unité de stockage 4 et indexés par l'index granule unité de stockage 20. Dans ce cas une région de dimension suffisante peut être réservée sur ladite unité de stockage pour les structures de contrôle de granule 22.
Les granules sauvegardés sur l'unité de sauvegarde 5 peuvent être alloués de manière séquentielle sur ladite unité et indexés par l'index unité de sauvegarde 21. Dans ce cas les structures de contrôle de granule 22 peuvent être placées devant le granule correspondant.
En référence aux figures 1 à 5, en relation avec les programmes en langage d'assemblage contenus sous forme binaire dans la mémoire à accès aléatoires 2 et exécutés par l'unité de traitement 1, est donnée une description du procédé suivant l'invention permettant la sauvegarde instantanée de l'image des données de l'unité de stockage 4 et son transfert vers l'unité de sauvegarde 5.
Lorsque, par un moyen appropné, la sauvegarde de l'image des données de l'unité de stockage 4 est requise, un granule est alloué dans la mémoire à accès aléatoires et/ou sur l'unité de stockage 4 et le contenu du noeud racine 12 y est recopié. Le pointeur vers le granule père 23 de la structure de contrôle de granule 22 dudit granule est initialisé pour pointer sur le granule contenant le noeud racine 12. Le pointeur vers le noeud racine 28 est modifié pour pointer vers le granule qui vient d'être alloué et qui contient maintenant le nouveau noeud racine 12. Le compteur de sauvegarde 29 est augmenté de un. Le numéro de sauvegarde 24 de ladite structure de contrôle de granule est garni avec le contenu dudit compteur de sauvegarde. Le granule contenant l'ancien noeud racine est déclaré transférable vers l'unité de sauvegarde 5.
Lorsque, par un moyen approprié, une application accède à un bloc de données pour en récupérer le contenu, la structure de données décrivant l'image des données est parcourue en fonction du numéro de bloc 7 spécifié selon les étapes suivantes:
(1) Le noeud racine 12 est localisé à partir du pointeur vers le noeud racine 28. Un pointeur vers un noeud de premier niveau 16 est sélectionné dans ledit noeud racine en fonction du numéro de noeud de premier niveau 8.
(2) Le noeud de premier niveau 13 est localisé à partir dudit pointeur de noeud de premier niveau Un pointeur vers un noeud de second niveau 17 est sélectionné dans ledit noeud de premier niveau en fonction du numéro de noeud de second niveau 9.
(3) Le noeud de second niveau 14 est localisé à partir dudit pointeur de noeud de second niveau Un pointeur vers un noeud de données 18 est sélectionné dans ledit noeud de second niveau en fonction du numéro de noeud de données 10.
(4) Le noeud de données 15 est localisé à partir dudit pointeur vers un noeud de données. Ledit bloc de données est localisé dans ledit noeud de données en fonction du numéro de bloc de données 11.
(5) Le contenu dudit bloc de données est retourné à l'application soit dans la mémoire à accès aléatoires 2, soit à travers le contrôleur d'interface ordinateur 6.
Lorsque, par un moyen approprié, une application accède à un bloc de données pour en modifier le contenu, la structure de données décrivant l'image des données est parcourue en fonction du numéro de bloc 7 spécifié selon les étapes suivantes:
(6) Le noeud racine 12 est localisé à partir du pointeur vers le noeud racine 28. Un pointeur vers un noeud de premier niveau 16 est sélectionné dans ledit noeud racine en fonction du numéro de noeud de premier niveau 8. Le noeud de premier niveau 13 est localisé à partir dudit pointeur de noeud de premier niveau Si ledit noeud de premier niveau existe le traitement continue à l'étape (8).
(7) Un granule est alloué dans la mémoire à accès aléatoires 2 et/ou sur l'unité de stockage 4 et initialisé avec des pointeurs vers un noeud de second niveau 17 vides, la structure de contrôle de granule correspondante est ramie avec un numéro de noeud 25 égal au numéro de noeud de premier niveau 8, un numéro de sauvegarde 24 égal au compteur de sauvegarde 29 et un pointeur vers le granule père 23 vide. Ledit pointeur vers un noeud de premier niveau 16 est modifié pour pointer vers ledit granule qui contient maintenant le noeud de premier niveau 13.
(8) Un pointeur vers un noeud de second niveau 17 est sélectionné dans ledit noeud de premier niveau 13 en fonction du numéro de noeud de second niveau 9. Le noeud de second niveau 14 est localisé à partir dudit pointeur de noeud de second niveau Si ledit noeud de second niveau existe le traitement continue à l'étape (11).
(9) Un granule est alloué dans la mémoire à accès aléatoires 2 et/ou sur l'unité de stockage 4 et initialisé avec des pointeurs vers un noeud de données 18 vides, la structure de contrôle de granule correspondante est garnie avec un numéro de noeud 25 égal au numéro de noeud de premier niveau 8 associé au numéro de noeud de second niveau 9, un numéro de sauvegarde 24 égal au compteur de sauvegarde 29 et un pointeur vers le granule père 23 vide. Si le numéro de sauvegarde 24 de la structure de contrôle de granule 22 correspondant audit noeud de premier niveau 13 est égal audit compteur de sauvegarde 29, ledit pointeur vers un noeud de second niveau 17 est modifié pour pointer vers ledit granule qui contient maintenant le noeud de second niveau 14, et le traitement continue à l'étape (11).
(10) Un granule est alloué dans la mémoire à accès aléatoires 2 et/ou sur l'unité de stockage 4 et le contenu dudit noeud de premier niveau 13 y est recopié. Le pointeur vers le granule père 23 de la structure de contrôle de granule 22 dudit granule est initialisé pour pointer vers le granule contenant l'ancien noeud de premier niveau 13, le numéro de sauvegarde 24 de ladite structure de contrôle de granule est garni avec le contenu du compteur de sauvegarde 29 et le numéro de noeud 25 de ladite structure de contrôle de granule est garni avec le numéro de noeud de premier niveau 8. Le pointeur vers le noeud de premier niveau 16 contenu dans ledit noeud racine 12 est modifié pour pointer vers le granule qui vient d'être alloué et qui contient maintenant le nouveau noeud de premier niveau 13. Le granule contenant l'ancien noeud de premier niveau est déclaré transférable vers l'unité de sauvegarde 5. Le pointeur vers un noeud de second niveau 17 contenu dans le nouveau noeud de premier niveau 13 est modifié pour pointer vers le granule qui contient le noeud de second niveau 14.
(11) Un pointeur vers un noeud de données 18 est sélectionné dans ledit noeud de second niveau en fonction du numéro de noeud de données 10. Le noeud de données 15 est localisé à partir dudit pointeur vers un noeud de données. Si ledit noeud de données existe et si le numéro de sauvegarde 24 de la structure de contrôle de granule 22 correspondant audit noeud de données 15 est égal audit compteur de sauvegarde 29, le traitement continue à l'étape (17).
(12) Un granule est alloué dans la mémoire à accès aléatoires 2 et/ou sur l'unité de stockage 4 et le contenu de l'ancien noeud de données, s'il existe, y est recopié. Le pointeur vers le granule père 23 de la structure de contrôle de granule 22 dudit granule est initialisé pour pointer vers le granule contenant l'ancien noeud de données s'il existe, le numéro de sauvegarde 24 de ladite structure de contrôle de granule est garni avec le contenu du compteur de sauvegarde 29 et le numéro de noeud 25 de ladite structure de contrôle de granule est garni avec le numéro de noeud de premier niveau 8 associé au numéro de noeud de second niveau 9 et au numéro de noeud de données 10. Si le numéro de sauvegarde 24 de la structure de contrôle de granule 22 correspondant audit noeud de second niveau 14 est égal audit compteur de sauvegarde 29, ledit pointeur vers un noeud de données 18 est modifié pour pointer vers le granule qui contient maintenant le nouveau noeud de données 15, et le traitement continue à l'étape (16).
(13) Un granule est alloué dans la mémoire à accès aléatoires 2 et/ou sur l'unité de stockage 4 et le contenu dudit noeud de second niveau 14 y est recopié. Le pointeur vers le granule père 23 de la structure de contrôle de granule 22 dudit granule est initialisé pour pointer vers le granule contenant l'ancien noeud de second niveau 14, le numéro de sauvegarde 24 de ladite structure de contrôle de granule est garni avec le contenu du compteur de sauvegarde 29 et le numéro de noeud 25 de ladite structure de contrôle de granule est garni avec le numéro de noeud de premier niveau 8 associé au numéro de noeud de second niveau 9. Si le numéro de sauvegarde 24 de la structure de contrôle de granule 22 correspondant audit noeud de premier niveau 13 est égal audit compteur de sauvegarde 29, ledit pointeur vers un noeud de second niveau 17 est modifié pour pointer vers le granule qui vient d'être alloué et qui contient maintenant le nouveau noeud de second niveau 14, et le traitement continue à l'étape (15).
(14) Un granule est alloué dans la mémoire à accès aléatoires 2 et'ou sur l'unité de stockage 4 et le contenu dudit noeud de premier niveau 13 y est recopié. Le pointeur vers le granule père 23 de la structure de contrôle de granule 22 dudit granule est initialisé pour pointer vers le granule contenant l'ancien noeud de premier niveau 13, le numéro de sauvegarde 24 de ladite structure de contrôle de granule est garni avec le contenu du compteur de sauvegarde 29 et le numéro de noeud 25 de ladite structure de contrôle de granule est garni avec le numéro de noeud de premier niveau 8. Le pointeur vers le noeud de premier niveau 16 contenu dans ledit noeud racine 12 est modifié pour pointer vers le granule qui vient d'être alloué et qui contient maintenant le nouveau noeud de premier niveau 13. Le granule contenant l'ancien noeud de premier niveau est déclaré transférable vers l'unité de sauvegarde 5. Le pointeur vers le noeud de second niveau 17 contenu dans ledit nouveau noeud de premier niveau 13 est modifié pour pointer vers le granule qui contient le nouveau noeud de second niveau 14.
(15) Le granule contenant l'ancien noeud de second niveau est déclaré transférable vers l'unité de sauvegarde 5.
(16) S'il existe, le granule contenant l'ancien noeud de données est déclaré transférable vers l'unité de sauvegarde 5.
(17) Ledit bloc de données est localisé dans le noeud de données 15 en fonction du numéro de bloc de données 11. Ledit bloc de données est garni par les données transmises par l'application soit depuis la mémoire à accés aléatoires 2, soit à travers le contrôleur d'interface ordinateur 6.
Lorsqu'il y a au moins un granule déclaré transférable vers l'unité de sauvegarde 5, un transfert de données vers l'unité de sauvegarde est réalisé selon les étapes suivantes:
(18) Le premier granule déclaré transférable est localisé.
(19) Si le pointeur vers le granule père 23 de la structure de contrôle de granule 22 dudit granule déclaré transférable ne contient pas d'index granule unité de sauvegarde 21, le traitement continu à l'étape (32).
(20) Si ledit granule déclaré transférable contient un noeud de données 15, le traitement continue à l'étape (22).
(21) Les pointeurs vers un noeud de premier niveau 16, vers un noeud de second niveau 17 ou vers un noeud de données 18, contenus dans ledit granule déclaré transférable, sont testés pour déterminer s'ils contiennent un index granule unité de sauvegarde 21. Si au moins un desdits pointeurs ne contient pas d'index granule unité de sauvegarde 21, le traitement continu à l'étape (32).
(22) Un granule est alloué sur l'unité de sauvegarde 5. Le contenu dudit granule déclaré transférable y est recopié. Le contenu de la structure de contrôle de granule 22 dudit granule déclaré transférable peut être recopié dans la structure de contrôle de granule 22 du granule qui vient d'être alloué.
(23) Si ledit granule déclaré transférable contient un noeud racine, le traitement continue à l'étape (28).
(24) La structure de données décrivant l'image des données est parcourue à partir du pointeur vers le noeud racine 28 en fonction du numéro de noeud 25 de la structure de controle de granule 22 dudit granule déclaré transférable afin de localiser un noeud racine 12, un noeud de premier niveau 13 ou un noeud de second niveau 14 selon que le granule déclaré transférable contient un noeud de premier niveau 13, un noeud de second niveau 14 ou un noeud de données 15.
(25) Le numéro de noeud 25 de la structure de contrôle de granule 22 dudit granule déclaré transférable est utilisé pour localisé le pointeur vers un noeud de premier niveau 16, vers un noeud de second niveau 17 ou vers un noeud de données 18 contenu dans ledit noeud Si ledit pointeur pointe sur ledit granule déclaré transférable, l'index granule unité de sauvegarde 21 dudit pointeur est garni avec l'index dudit granule alloué sur l'unité de sauvegarde 5 et les indexes granule mémoire 19 et granule unité de stockage 20 dudit pointeur sont supprimés.
(26) Si le numéro de sauvegarde 24 de la structure de contrôle de granule 22 du granule contenant ledit noeud est égal au compteur de sauvegarde 29, le traitement continue à l'étape (28).
(27) Si le pointeur vers le granule père 23 de la structure de contrôle de granule 22 du granule contenant ledit noeud pointe vers un granule en mémoire à accès aléatoires et/ou sur l'unité de stockage, le noeud contenu dans ledit granule est localisé et le traitement continue à l'étape (25).
(28) La structure de données décrivant l'image des données est parcourue à partir du pointeur vers le noeud racine 28 en fonction du numéro de noeud 25 de la structure de contrôle de granule 22 dudit granule déclaré transférable afin de localiser un noeud racine 12, un noeud de premier niveau 13, un noeud de second niveau 14 ou un noeud de données 15 selon que le granule déclaré transférable contient un noeud racine 12, un noeud de premier niveau 13, un noeud de second niveau 14 ou un noeud de données 15.
(29) Si le pointeur vers le granule père 23 de la structure de contrôle de granule 22 du granule contenant ledit noeud pointe vers ledit granule déclaré transférable, L'index granule unité de sauvegarde 21 dudit pointeur est garni avec l'index dudit granule alloué sur l'unité de sauvegarde 5, les indexes granule mémoire 19 et granule unité de stockage 20 dudit pointeur sont supprimés, et le traitement continue à l'étape (31).
(30) Le noeud pointé par ledit pointeur vers le granule pére est localisé et le traitement continu à l'étape (29).
(31) Ledit granule déclaré transférable est libere de la mémoire à accès aléatoires et/ou de l'unité de stockage 4.
(32) Le granule déclaré transférable suivant est localisé. S'il existe le traitement continu à l'étape (19).
(33) S'il a encore au moins un granule déclaré transférable, le traitement continue à l'étape (18).
Lorsque le nombre de granules non alloués en mémoire à accès aléatoires 2 et/ou sur l'unité de stockage 4 devient insuffisant, certains granules alloués en mémoire à accès aléatoires 2 et/ou sur l'unité de stockage 4, par exemple les granules les moins souvent accédés, peuvent être déclarés transférables vers l'unité de sauvegarde 5.

Claims (6)

REVENDICATIONS
1. Un procédé pour la sauvegarde instantanée de l'image des données d'une unité de stockage (4) d'un système de traitement de données et son transfert vers une unité de sauvegarde (5), ce systèmes comprenant une unité de traitement (1), une mémoire à accès aléatoires (2) et un contrôleur d'unité de stockage et d'unité de sauvegarde (3), I'image des données étant décrite par un compteur de sauvegarde (29), un pointeur vers le noeud racine (28) et un structure de données comprenant un noeud racine (12) et des noeuds contenant soit des pointeurs vers d'autres noeuds, soit des blocs de données, lesdits noeuds étant contenus dans des granules alloués soit dans ladite mémoire à accès aléatoires, soit sur ladite unité de stockage, soit sur ladite unité de sauvegarde, lesdits granules étant pourvus d'un numéro de sauvegarde (24), ledit procédé étant caractérisé en ce qu'il comprend les étapes d'augmentation de un du compteur de sauvegarde, d'allocation d'un granule, de recopie dudit noeud racine dans ledit granule et de mise à jour dudit pointeur de noeud racine, ledit procédé comprenant en outre les opérations:
de récupération du contenu d'un bloc de données en parcourant la structure de données,
de modification du contenu d'un bloc de données en parcourant la structure de données, en créant lesdits noeuds qui n'existent pas, en dupliquant lesdits noeuds qui doivent être modifiés et dont ledit numéro de sauvegarde n'est pas égal audit compteur de sauvegarde,
de transfert des granules dupliqués vers ladite unité de sauvegarde, en allouant des granules sur ladite unité de sauvegarde, en copiant le contenu des granules à transférer, en mettant à jour lesdits pointeurs de la structure de données qui pointent vers lesdits granules, en libérant lesdits granules,
de répétition desdites opérations de récupération, de modification et de transfert pour satisfaire les demandes du système de traitement des données.
2. Le procédé selon la revendication 1 comprenant en outre une opération de transfert vers ladite unité de sauvegarde des granules les moins accédés lorsque le nombre de granules non alloués dans ladite mémoire à accès aléatoires ou sur ladite unité de stockage est insuffisant.
3. Un système de traitement des données comprenant une unité de traitement (1), une mémoire à accès aléatoires (2), un contrôleur d'unité de stockage et d'unité de sauvegarde (3), une unité de stockage (4) et une unité de sauvegarde (5), I'image des données étant décrite par un compteur de sauvegarde (29), un pointeur vers le noeud racine (28) et un structure de données comprenant un noeud racine (12) et des noeuds contenant soit des pointeurs vers d'autres noeuds, soit des blocs de données, lesdits noeuds étant contenus dans des granules alloués soit dans ladite mémoire à accès aléatoires, soit sur ladite unité de stockage, soit sur ladite unité de sauvegarde, lesdits granules étant pourvus din (l'un umm de sauvegarde (24),
ledit système étant caractérisé en ce que pour la sauvegarde dune image des données, ledit compteur de sauvegarde est augmenté de un, un granule est alloué, ledit noeud racine est recopié dans ledit granule et ledit pointeur de noeud racine est mise a jour.
4. Le système suivant la revendication 3 comprenant en outre les opérations:
de récupération du contenu d'un bloc de données en parcourant la structure de données,
de modification du contenu d'un bloc de données en parcourant la structure dedonnées, en créant lesdits noeuds qui n'existent pas. en dupliquant lesdits noeuds qui doivent être modifiés et dont ledit numéro de sauvegarde n'est pas égal audit compteur de sauvegarde,
de transfert des granules dupliqués vers ladite unité de sauvegarde, en allouant des granules sur ladite unité de sauvegarde, en copiant le contenu des granules à transférer, en mettant à jour lesdits pointeurs de la structure de données qui pointent vers lesdits granules, en libérant lesdits granules.
5. Le système suivant la revendication 4 comprenant en outre une opération de transfert vers ladite unité de sauvegarde des granules les moins accédés lorsque le nombre de granules non allouées dans ladite mémoire à accès aléatoires ou sur ladite unité de stockage est insuffisant.
6. Le système suivant la revendication 3, 4 ou 5 comprenant en outre un contrôleur interface ordinateur (6) permettant de répondre aux demandes de récupération et de modification de données provenant d'un ordinateur connecté audit système.
FR9406627A 1994-05-31 1994-05-31 Procédé pour la sauvegarde de l'image des données d'une unité de stockage et son transfert vers une unité de sauvegarde. Expired - Fee Related FR2720529B1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR9406627A FR2720529B1 (fr) 1994-05-31 1994-05-31 Procédé pour la sauvegarde de l'image des données d'une unité de stockage et son transfert vers une unité de sauvegarde.

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR9406627A FR2720529B1 (fr) 1994-05-31 1994-05-31 Procédé pour la sauvegarde de l'image des données d'une unité de stockage et son transfert vers une unité de sauvegarde.

Publications (2)

Publication Number Publication Date
FR2720529A1 true FR2720529A1 (fr) 1995-12-01
FR2720529B1 FR2720529B1 (fr) 1996-08-14

Family

ID=9463706

Family Applications (1)

Application Number Title Priority Date Filing Date
FR9406627A Expired - Fee Related FR2720529B1 (fr) 1994-05-31 1994-05-31 Procédé pour la sauvegarde de l'image des données d'une unité de stockage et son transfert vers une unité de sauvegarde.

Country Status (1)

Country Link
FR (1) FR2720529B1 (fr)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008098513A1 (fr) * 2007-02-15 2008-08-21 Huawei Technologies Co., Ltd. Procédé et dispositif d'élaboration d'une table d'enchaînement d'une grande fiabilité
EP2454662A1 (fr) * 2009-07-16 2012-05-23 Freescale Semiconductor, Inc. Unité d'administration de données, unité d'accès à des données, élément de réseau, réseau et procédé d'actualisation d'une structure de données

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5163148A (en) * 1989-08-11 1992-11-10 Digital Equipment Corporation File backup system for producing a backup copy of a file which may be updated during backup
EP0566966A2 (fr) * 1992-04-20 1993-10-27 International Business Machines Corporation Procédé et système de sauvegarde de données incrémentales

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5163148A (en) * 1989-08-11 1992-11-10 Digital Equipment Corporation File backup system for producing a backup copy of a file which may be updated during backup
EP0566966A2 (fr) * 1992-04-20 1993-10-27 International Business Machines Corporation Procédé et système de sauvegarde de données incrémentales

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"Storage management mechanism for managing snapshot pages", IBM TECHNICAL DISCLOSURE BULLETIN, vol. 35, no. 4B, September 1992 (1992-09-01), NEW YORK US, pages 26 - 29 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008098513A1 (fr) * 2007-02-15 2008-08-21 Huawei Technologies Co., Ltd. Procédé et dispositif d'élaboration d'une table d'enchaînement d'une grande fiabilité
EP2454662A1 (fr) * 2009-07-16 2012-05-23 Freescale Semiconductor, Inc. Unité d'administration de données, unité d'accès à des données, élément de réseau, réseau et procédé d'actualisation d'une structure de données
EP2454662A4 (fr) * 2009-07-16 2013-01-23 Freescale Semiconductor Inc Unité d'administration de données, unité d'accès à des données, élément de réseau, réseau et procédé d'actualisation d'une structure de données
US9935815B2 (en) 2009-07-16 2018-04-03 Nxp Usa, Inc. Data administration unit, data access unit, network element, network, and method for updating a data structure

Also Published As

Publication number Publication date
FR2720529B1 (fr) 1996-08-14

Similar Documents

Publication Publication Date Title
US8799603B2 (en) Efficient use of memory and accessing of stored records
US5535381A (en) Apparatus and method for copying and restoring disk files
US6505216B1 (en) Methods and apparatus for backing-up and restoring files using multiple trails
EP1909169B1 (fr) Système et procédé de stockage de masse
US6560615B1 (en) Method and apparatus for implementing a highly efficient, robust modified files list (MFL) for a storage system volume
US8271456B2 (en) Efficient backup data retrieval
FR2668271A1 (fr) Interface de modelisation dynamique des performances des systemes informatiques.
US20030200394A1 (en) Cache memory arrangement and methods for use in a cache memory system
FR2613505A1 (fr) Methode d&#39;ouverture rapide de fichiers a disques identifies par la denomination de chemins
US20070005669A1 (en) Method and system for automated disk i/o optimization of restored databases
CN110019066A (zh) 数据库处理方法及装置、系统
EP0263014A1 (fr) Procédé de gestion de fichiers sur un support d&#39;information non-effacable
CN111638995A (zh) 元数据备份方法、装置及设备、存储介质
US6910038B1 (en) Methods for efficient host processing of data files selected for recording to an optical disc media
Howells Fs-cache: A network filesystem caching facility
CN104137100B (zh) 数据库装置、程序及数据处理方法
Fasheh OCFS2: The Oracle clustered file system, version 2
US7386692B1 (en) Method and apparatus for quantized deadline I/O scheduling
FR2720529A1 (fr) Procédé pour la sauvegarde de l&#39;image des données d&#39;une unité de stockage et son transfert vers une unité de sauvegarde.
CN112597102B (zh) 一种高效的镜像文件系统实现方法
WO1997020270A1 (fr) Procede pour la sauvegarde des donnees d&#39;une unite de stockage
EP0304348B1 (fr) Moyens de verrouillage d&#39;accès pour unité de gestion d&#39;accès en mémoire, et gestion de conflits d&#39;accès utilisant de tels moyens de verrouillage
EP3506110B1 (fr) Accès multiples à un fichier de données stocké dans un système de stockage de données associé à un espace mémoire tampon
US5802557A (en) System and method for caching information in a digital data storage subsystem
JP4375259B2 (ja) 複製ボリューム世代管理システム、ディスクアレイ装置、及び複製ボリューム世代管理プログラム

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20110131