Brevet FR2646939A1 — publié le 19901116

APPAREIL DE VERIFiCATION DE DONNEES FOURNiES EN DOUBLE La présente invention concerne l'utilisation d'un sous-système de disques électroniques et, de façon plus particulière un moyen pour vérifier La coïncidence entre des données dans deux unités de disques électroniques de type double. Conventionnellement, pour lire et collation- ner des données fournies en double, ces données sont tues par deux unités de disques électroniques, selon différentes séquences de lecture commandées par un Logiciel ou une unité de commande, et les données lues sont comparées les unes avec les autres. Dans un tel système conventionnel, étant donné que la vérification des données fournies en double consiste en ce que des instructions de lecture sont envoyées aux deux unités de disques électroniques selon aifférentes séquences commandées par un logiciel ou un contrôleur et que les données ainsi lues sont comparées les unes avec les autres, le logiciel ou le contrôleur est surchargé en comparaison d'une opéra- tion consistant à lire des données écrites une seule fois, ce qui réduit de façon indésirable les performan- ces du système. Un but de la présente invention est de propo- ser un appareil de vérification des données fournies en double qui puisse détecter avec précision la non-coincidence des données lues sans réduire les performances. -Pour atteindre le but ci-dessus de la présen- te invention, on propose un appareil de vérification de données fournies en double inclus dans un système comportant au moins une paire d'unités de disques électroniques qui mémorisent les données identiques, ainsi qu'un contrôleur de disques électroniques con- necté aux deux unités de disques électroniques par l'intermédiaire d'une interface qui peut réaliser des liaisons de disques chaînées, caractérisé par le fait que l'une de la paire d'unité de disques éLec- troniques comporte des moyens d'envoi pour envoyer, à l'interface, des données correspondant à une instruc- tion de lecture provenant du contrôleur de disques électroniques, et par le fait que l'autre de la paire a'unité de disques électroniques comporte des moyens pour récupérer les données envoyées, par les moyens d'envoi, à l'interface, pour comparer les données récupérées avec les données lues dans l'autre unité de disques électroniques en réponse à l'instruction de lecture et pour signaler une erreur éventueLLe du contrôleur de disques électroniques si le résultat de comparaison représente une non-coincidence. Lorsqu'une instruction de lecture est en- voyée, par un contrôleur de disques électroniques, à une unité de disques électroniques de type double, une unité de disques électroniques principale envoie les données tues sur une interface, tandis qu'une unité de disques électroniques auxiliaire reçoit les données, ainsi lues, provenant de l'unité de disques électroniques principale et apparaissant sur l'inter- face et compare les données lues qui entrent avec les données qu'elle lit par elle-même. -Si une non-coincidence est détectée comme résultat de La comparaison, l'unité de disques éLectroViques auxiliaire envoie un signal d'erreur à l'unité de commande de l'unité de disques électroniques. La figure 1 est un diagramme par blocs mon- trant une disposition d'une' réalisatioh de la présente invention; et la figure 2 est un graphique chronologique pour expliquer le mode opératoire de la disposition de la réalisation représentée sur la figure 1. On va décrire une réalisation préférée de La présente invention en se référant aux figures 1 et 2. Cette réalisation prend à titre d'exemple une disposition comportant une paire d'unités de disques électroniques de type double. Un appareil de vérification des données fournies en double comporte les unités de disques électroniques 2 et 3 et un contrôleur de disques électroniques 1 pour contrôler les unités de disques électroniques 2 et 3. Les unités de disques électroniques 2 et 3, sont reliées au contrôleur 1 de l'unité de disques électroniques et aux lignes des signaux d'interface 101 de façon chaînée. Les unités de disques électroniques 2 et 3 exécutent des instructions d'accès en lecture/écriture des données en réponse aux différentes instructions envoyées par le contrôleur de disques électroniques 1. Les unités de disques électroniques 2 et 3 analysent les instructions envoyées par le contrôleur de disques électroniques 1, commandent l'accès en lecture/écriture, et génèrent, selon un certain rythme des signaux de comparaison des données. Les unités de disques électroniques 2 et 3 comportent respectivement: des compteurs d'écriture 21A et 31A pour gérer les comptes de données des mémoires tampons d'écriture 22 et 32; des unités de commande 21 et 31 comprenant des compteurs de lecture 21B et 31B pour gérer les comptes de données des mémoires tampons de lecture 23 et 33; des mémoires tampons d'écriture 22 et 32 comprenant des mémoires tampons FIFO (premier entré, premier sorti) pour mémoriser temporairement les données d'écriture envoyées par le contrôleur de disques électroniques 1 et pour mémoriser temporairement les données envoyées par les unités de disques électroniques principales sur les Lignes des signaux d'interface 101 Lors de la production d'une instruction de lecture des données en provenance d'un contrôleur de disques électroniques 1 si Les unités de disques électroniques correspondantes sont définies comme étant des unités de disques électroniques auxiliaires; des mémoires tampons de lecture 23 et 33 comprenant des mémoires tampons FIFO (premier entré, premier sorti) pour mémoriser temporairement les données tues dans les circuits de mémoire (cartes RAM) 25 et 35 Lorsqu'une instruction de lecture est envoyée par le contrôleur de disques électroniques 1 de L'unité de disques électroniques; des comparateurs 24 et 34 actionnés en réponse à l'instruction ae Lecture provenant du contrôleur de disques électroniques 1 si les unités de disques électroniques correspondantes sont définies comme unites de disques électroniques auxiliaires comparant alors les données 122 et 132 telles qu'elles sortent des mémoires tampons d'écriture 22 et 32 avec Les données 124 et 134 teLLes qu'eLLes sortent des mémoires tampons de Lecture 23 et 33; des circuits de mémoire 25 et 35 pour mémoriser les données envoyées par le contrôleur de disques électroniques I; des récepteurs 26 et 36 pour recevoir Les signaux d'interface; des unités de pilotage 27 et 37 pour piloter Les signaux d'interface; et des portes 28 et 38 qui, en mode lecture des données, présentent un état de haute impédance, et qui, en mode écriture des données, Laissent passer les données 122 et 132, provenant de la mémoire tampon d'écriture, pour devenir Les données 123 et 133 du circuit mémoire. Dans cette réaLisation, sont incluses dans l'appareil de vérification des données fournies en doubLe au moins une paire d'unités de disques électroniques 2 et 3, dans LesqueLLes des données. identiques sont décrites, ainsi que le contrôleur de disques électroniques 1 reLié aux unités de disques électroniques 2 et 3 par l'intermédiaire des lignes de signaux c'interface qui réalisent des liaisons chaînées de disques. L'une des unités de disques électroniques 2 et 3 comporte la mémoire tampon de lecture 23 qui sert de moyen pour envoyer à l'interface les données correspondant à l'instruction ae lecture provenant du contrôleur 1. L'autre unité de disques électroniques 2 et 3 comporte la mémoire tampon d'écriture 22 et le comparateur 24 qui constituent un moyen pour récupérer les données envoyées à l'interface, les comparer avec les données lues par l'autre unité de aisques électroniques en réponse à l'instruction de lecture, et signaler une erreur au contrôleur I de disques électroniques si une non-coincidence apparait comme résultat de la comparaison. Supposons que ce soit l'unité de disques électroniques 2 qui envoie sur l'interface les données lues et que ce soit l'unité de disques électroniques 3 qui effectue la comparaison des données. Les modes opératoires des unités de disques électroniques 2 et 3 sont définis par un commutateur. Le contrôleur 1 de disques électroniques envoie des instructions aux unités de disques électroniques 2 et 3 simultané- ment ou indépendamment. Les signaux d'interface 101 comportent des données bidirectionnelles représentées sur la figure 1, un signal de démarrage (non représenté), un signal 3U d'instruction (non représenté), un signal d'alarme en cas d'erreur (non représenté) et analogues. Les signaux d'interface 101 comportent également des si- gnaux de commande tels que les signaux de commande du signal de sortie, envoyés par les contrôleurs 21 et 31 aux unités de pilotage 27 et 37, des signaux de chargement et de déchargement des données envoyés par Les contrôleurs 21 et 31 aux mémoires tampons d'écriture 22 et 32, des signaux de chargement et de déchargement des données envoyés par les contrôleurs 21 et 31 aux mémoires tampons de lecture 23 et 33, - des impulsions d'adressage et d'écriture en mémoire envoyées par les contrôleurs 21 et 31 aux circuits de mémoires 25 et 35, des signaux de commande de signal de sortie envoyés par les contrôleurs 21 et 31 aux portes 28 et 38, des signaux de démarrage de vérifica- tion des données envoyés par les contrôleurs 21 et 31 aux comparateurs 24 et 34, des signaux d'erreur de comparaison envoyés par les comparateurs 24 et 34 aux contrôleurs 21 et 31, des signaux d'instruction et de démarrage faisant partie des signaux d'interface U1i envoyés aux contrôleurs 21 et 31, et des signaux d'alarme en cas d'erreur et de démarrage envoyés par Les contrôleurs 21 et 31 pour faire partie des signaux d'interface 101. On va décrire ci-dessous le fonctionnement de cette réalisation. Lorsque le contrôLeur de disques éLectroni- ques 1 écrit des données dans les unités de disques électroniques 2 et 3, une instruction d'écriture est envoyée aux contrôleurs Z1 et 31 par l'intermédiaire d'une ligne d'instruction des signaux d'interface 101. Dans le cas présent, supposons que ce soit l'unité de disques électroniques 2 qui serve d'unité de disques principale et que ce soit L'unité de disques éLectroni- ques 3 qui serve d'unité de disques auxiliaire. Ce mode opératoire peut être défini par un commutateur disposé dans chaque unité de disques. Le contrôleur 21 qui se trouve dans l'unité de disques électroniques principale 2 fait en sorte que l'unité de pilotage 27 interdise l'émission d'un signal de sortie en répon- se à un signal A de commande de signal de sortie et charge séquentiellement, dans La mémoire tampon d'écri- ture 22, en réponse à un signal de chargement des données, les données envoyées en même temps que le signaL de démarrage des signaux d'interface 101. Le contrôleur 21 incrémente de la valeur "1" un compteur d'écriture en réponse au signal de chargement des données. Lorsque le compte de ce compteur d'écriture est différent de "zéro", le contrôleur 21 envoie une impulsion d'écriture au circuit de mémoire 25 pour actualiser son adresse. A ce moment, le contrôleur 21 envoie un signal de déchargement à la mémoire tampon d'écriture 22 et efface dans la mémoire tampon a'écri- ture 22 Les données écrites dans le circuit mémoire et décrémente de la valeur "1" le compteur d'écriture. Ces opérations se répètent jusqu'à ce que l'opération d'écriture soit achevée. A cet instant, le fonction- nement de l'unité de disques électroniques 3 est le même que celui de l'unité de disques électroniques 2. Lorsque le contrôleur 1 de l'unité de disques électroniques envoie une instruction de lecture aux unités de disques électroniques 2 et 3, l'instruction ce lecture est envoyée aux contrôleurs 21 et 31 par un signal d'instruction des signaux d'interface 101. L'unité de commande 21 de l'unité de disques électroni- ques 2 envoie à la porte 28 un signal de commande du signal de sortie pour invalider un signal de sortie émis par la porte 28. Le contrôleur 21 envoie une adresse de lecture au circuit mémoire 25. Le contrôleur 21 envoie également un signal de chargement de-données à La mémoire tampon de lecture 23 pour charger dans la mémoire tampon de lecture 23 les données 123 lues dans le circuit mémoire 25. Dès que le signal de chargement des données est envoyé par le contrôleur 21 à la mémoire tampon de lecture 23, le contrôleur 21 incrémente de la valeur "1" le compteur ae lecture. Lorsque le compte de ce compteur est différent de zéro, les données provenant de la mémoire tampon de lecture 23 sont envoyées, en même temps que le signal de démarrage, au contrôleur 1 de l'unité de disques éLectroniques par l'intermédiaire de l'unité de pilota- ge 27. Les données envoyées par la mémoire tampon de lecture 23 au contrôleur de disques électroniques 1 sont abandonnées en réponse à un signal de déchaorge- ment émis par le contrôleur 21, et, en même temps, le compteur de lecture 21B est décrémenté de la valeur "1" Ces opérations se répètent dans l'unité de disques électroniques 2. Le fonctionnement de l'unité de disques électroniques 3 est le même que celui de l'unité de disques électroniques 2 en ce sens qu'un signal de sortie provenant de la porte 38 est invalidé en réponse à un signal B de commande du signal de sortie. Toute- fois, à la différence du fonctionnement de l'unité de disques électroniques 2, l'unité de disques éLectro- niques 3 envoie le signal A de commande du signal de sortie à l'unité de pilotage 37 pour invalider le signal de sortie émis par l'unité de pilotage 37. Comme dans l'unité de disques électroniques 2, les données sont lues par le circuit mémoire 35 dans l'uni- té de disques électroniques 3 et sont écrites dans la mémoire tampon de lecture 33. Les dohnées envoyées, en même temps que le signal de démarrage, par l'unité de disques électroniques 2 sont chargées dans la mémoi- re tampon d'écriture 32 comme dans le cas de L'instruc- tion d'écriture. Lorsque le compteur d'écriture 31A et le compteur de lecture 31B sont différents de zéro, l'unité de commande 31 envoie au comparateur 34 un signal de démarrage de vérification des données et les données provenant de la mémoire tampon d'écriture 32 et de la mémoire tampon de lecture 33 sont déchar- gées. Cette opération est représentée sur le graphique chronologique de la figure 2. En se reportant à la figure 2, le contrôleur 31 de l'unité de disques électroniques 3 effectue l'opération suivante sur la base du signal de démarrage des signaux 1U1 envoyés par l'unité de disques électro- niques 2. Les données sont écrites dans la mémoire tampon d'écriture 32 en réponse à un signal de démar- rage S1 pour produire un signal UP de comptage par valeur croissante, W1, pour le compteur d'écriture 31A. A l'instant du flanc décroissant du signal UP W1, la valeur "1" s'inscrit dans le compteur d'écriture 31A. A cet instant, les données qui se trouvent à l'adresse du circuit de mémoire qui correspond aux données d'écriture sont chargées dans la mémoire tampon de lecture 33 et un signal UP de comptage par valeur croissante, R1, est également produit pour le compteur de lecture 31B. Une valeur "1" s'ajoute à la valeur "1" mémorisée dans le compteur de lecture 31B, de sorte que le compte du compteur de lecture 31B prend la valeur "2". Dans cet état, le comparateur 34 compare le contenu de la mémoire tampon d'écriture 32 avec le contenu de la mémoire tampon de Lecture 33 sur la base d'un signal de comparaison CP1. Lorsque les contenus sont vérifiés, qu'ils coincident ou non l'un avec l'autre, les indications des compteurs d'écriture et de lecture 31A et 31B sont décrémentées chacune de la valeur "1". Les opérations ae comparaison s'effectuent en continu. Lorsqu'une noncoincidence est détectée, le comparateur 34 envoie un signal d'erreur de comparaison au contrôleur 31. Le contrôleur 31 signale qu'une erreur s'est produite dans le contrôleur 31 1 0 par un signal d'alarme d'erreur des signaux d'interface 1U1. Comme on l'a décrit conformément à la présen- te invention, lorsque des données sont lues par des unités de disques électroniques de type double com- mandées par un contrôleur de disques électroniques, les données sont envoyées, par l'une des unités de disques électroniques, au contrôleur de disques électroniques et l'unité de disques électroniques reçoit les données lues par la première unité de disques électroniques et compare ces données, qui lui arrivent, avec les données qu'elle a lues par elle-même, assurant ainsi la fiabilité des opérations doubles et la validité des données de lecture sans diminuer les performances du système. il REVENDICATION Appareil de vérification de données fournies en double inclus dans un système comportant au moins un couple d'unités de disques électroniques (2, 3) qui mémorisent des données identiques, et un contrôleur de disques électroniques (1) connecté à ces deux unités. de disques électroniques par l'intermédiaire d'une interface qui peut réaliser des liaisons de disques chainées, caractérisé par le fait que l'un (2) de ladite paire a'unité de disques électroniques comporte des moyens d'envoi (23) pour envoyer, à ladite interface, des données correspondant à une instruction de lecture provenant du contrôleur de disques électroniques (1), et par le fait que l'autre (3) de ladite paire d'unités ae disques électroniques comporte des moyens (22, 24) pour récupérer les données envoyées, par lesdits moyens d'envoi (23), à ladite interface, pour comparer les données récupérées avec les données lues dans laaite autre (3) unité de disques électroniques en réponse àl'instruction de lecture et pour signaler une erreur éventuelle au contrôleur de disques éLectro- niques si le résultat de la comparaison représente une non-coincidence.