FR2792742A1 - Systeme multiprocesseur a memoire partagee repartie comportant une fonction d'enfichage a chaud pour des memoires principales - Google Patents

Systeme multiprocesseur a memoire partagee repartie comportant une fonction d'enfichage a chaud pour des memoires principales Download PDF

Info

Publication number
FR2792742A1
FR2792742A1 FR0001042A FR0001042A FR2792742A1 FR 2792742 A1 FR2792742 A1 FR 2792742A1 FR 0001042 A FR0001042 A FR 0001042A FR 0001042 A FR0001042 A FR 0001042A FR 2792742 A1 FR2792742 A1 FR 2792742A1
Authority
FR
France
Prior art keywords
memory
address
request
control unit
node
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.)
Pending
Application number
FR0001042A
Other languages
English (en)
Inventor
Junichi Takusagawa
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Publication of FR2792742A1 publication Critical patent/FR2792742A1/fr
Pending 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2043Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share a common memory address space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/17Interprocessor communication using an input/output type connection, e.g. channel, I/O port

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Hardware Redundancy (AREA)
  • Memory System (AREA)
  • Multi Processors (AREA)

Abstract

Un système multiprocesseur d'une structure à mémoire partagée répartie comporte une fonction d'enfichage à chaud pour des mémoires principales. Chacun des noeuds du système multiprocesseur comporte un processeur (2), une unité d'entrée/ sortie (3), une mémoire principale (4), un dispositif de déplacement (35), et une unité de contrôle d'acheminement (31). Si une demande d'accès en écriture à la mémoire est émise à partir d'un processeur, d'une unité d'entrée/ sortie, ou d'un dispositif de déplacement, vers la mémoire principale d'un noeud maître, alors la demande d'accès en écriture à la mémoire est transférée vers le noeud maître et vers un noeud esclave lorsqu'on est dans un mode multidiffusion (pour le transfert de la demande d'accès en écriture à la mémoire vers une pluralité de noeuds), et une instruction de transfert d'une demande d'accès en lecture à la mémoire n'est donnée qu'au noeud maître lorsqu'on n'est pas dans le mode multidiffusion.

Description

di 2792742
SYSTEME MULTIPROCESSEUR A MEMOIRE PARTAGEE REPARTIE
COMPORTANT UNE FONCTION D'ENFICHAGE A CHAUD POUR DES
MEMOIRES PRINCIPALES.
CONTEXTE DE L'INVENTION
1. Domaine de l'Invention La présente invention concerne un système multiprocesseur d'une structure à mémoire partagée répartie comportant une pluralité de noeuds comprenant chacun au moins un processeur et une mémoire principale.
2. Description de l'Art Connexe
Afin de répondre aux besoins de disponibilité, certains appareils de traitement d'informations comportent une fonction d'enfichage à chaud pour permettre le remplacement d'un composant défectueux par un composant normal sans arrêter l'appareil lorsque
l'appareil de traitement d'informations est défaillant.
Certains dispositifs classiques comprenant des processeurs et des unités d'entrée/sortie sont réparables en ligne même lorsqu'ils sont séparés du système actif pendant le fonctionnement du système si le système peut être mis en oeuvre continûment par des dispositifs de sauvegarde et peuvent être séparés ou connectés relativement facilement sous le contrôle du système d'exploitation. En fonction du système d'exploitation, cependant, un espace de mémoire fixe est utilisé dans la mémoire principale tandis que le système est en fonctionnement, et la mémoire principale ne peut pas être connectée et déconnectée comme une mémoire principale enfichable à chaud étant donné que
l'espace de mémoire fixe ne peut pas être séparé.
Afin d'augmenter la disponibilité de la mémoire principale, un appareil présentant une configuration de mémoire principale duplex qui permet l'utilisation d'une mémoire principale de sauvegarde dans le cas d'une défaillance d'une mémoire principale active, et un appareil avec une structure de système multiplex sont utilisés. Cependant, ces appareils sont coûteux à cause de la fonction redondante due à la méthode duplex
ou multiplex.
Un système multiprocesseur avec une configuration à mémoire partagée répartie pour une plus grande performance et une plus grande capacité d'extension a été proposé récemment. Le multiprocesseur comporte souvent un processeur et une mémoire principale qui sont installés sur une carte de circuit imprimé. La structure de montage physique du multiprocesseur pose une limitation sur l'utilisation d'une unité remplaçable sur site enfichable à chaud, et la carte de circuit imprimé sert en tant qu'unité remplaçable. Par conséquent, lorsque le processeur sur la carte de circuit imprimé présente un défaut et doit être remplacé par un processeur normal par une fonction d'enfichage à chaud, la mémoire principale sur la susdite carte de circuit imprimé doit également être remplacée. Par conséquent, la mémoire principale doit
comporter une fonction d'enfichage à chaud.
RESUME DE L'INVENTION
Un objet de la présente invention est donc de proposer un système multiprocesseur d'une structure à mémoire partagée répartie comportant une fonction
d'enfichage à chaud pour des mémoires principales.
Afin de séparer un noeud d'un système multiprocesseur d'une structure à mémoire partagée répartie pendant le fonctionnement du système multiprocesseur, l'espace de mémoire d'une mémoire principale gérée par le noeud à séparer commute de manière dynamique vers l'espace de mémoire d'une mémoire principale d'un noeud de sauvegarde sans
reconnaissance par un logiciel.
Si une demande d'accès en écriture à la mémoire est émise à partir d'un processeur, d'une unité d'entrée/sortie, ou d'un dispositif de déplacement, vers la mémoire principale d'un noeud maître, alors la demande d'accès en écriture à la mémoire est transférée vers le noeud maître et vers un noeud esclave lorsqu'on est dans un mode multidiffusion (pour le transfert de la demande d'accès en écriture à la mémoire vers une pluralité de noeuds), et une instruction de transfert d'une demande d'accès en lecture à la mémoire n'est donnée qu'au noeud maître lorsqu'on n'est pas dans le mode multidiffusion. Par conséquent, lorsqu'on est dans le mode multidiffusion, un traitement d'écriture de mémoire exécuté sur la mémoire principale du noeud maître est également effectué sur la mémoire principale
du noeud esclave.
En copiant des données depuis l'espace de mémoire d'un noeud à séparer vers l'espace de mémoire d'un noeud de sauvegarde sans un arrêt du système, le noeud peut être séparé sans arrêter le fonctionnement du système. En conséquence, il est possible de réparer une
zone défectueuse du système sans arrêter le système.
Par conséquent, le système multiprocesseur peut réaliser un système de traitement d'informations de
grande disponibilité.
Une fonction de dispositif de déplacement mise en oeuvre par un matériel copie des données depuis l'espace de mémoire du noeud à séparer vers l'espace de mémoire du noeud de sauvegarde, un conflit avec une demande d'accès à la mémoire émise à partir du processeur ou de l'unité d'entrée/sortie pendant ce temps étant résolu par le matériel. Lors de la copie de données à partir de l'espace de mémoire du noeud à séparer vers l'espace de mémoire du noeud de sauvegarde sans un arrêt du système, on peut accéder à l'espace de mémoire à partir duquel les données doivent être copiées sans que le système d'exploitation reconnaisse la copie des données de mémoire. Par conséquent, le système multiprocesseur peut réaliser un système de traitement d'informations d'une grande disponibilité
indépendamment du système d'exploitation.
Etant donné que toutes les données de mémoire sont copiées depuis le noeud à séparer vers l'espace de mémoire du noeud de sauvegarde lors de la séparation du noeud, le noeud de sauvegarde n'est nécessaire que lors de la copie des données de mémoire, et il n'est pas nécessaire qu'un noeud redondant soit disponible à tous moments. Le coût du système multiprocesseur est relativement faible étant donné qu'un tel noeud redondant n'est pas nécessaire pendant son
fonctionnement normal.
Les ressources à verrouiller destinées à être utilisées en garantissant les opérations inséparables de demande d'accès en lecture à la mémoire et de demande d'accès en écriture à la mémoire vers des mémoires lors de la copie des données de mémoire ne
2792742
sont pas toutes des zones de mémoire, mais seulement des adresses de mémoire qui nécessitent des opérations inséparables. Etant donné que les adresses de mémoire peuvent être verrouillées individuellement par une mémoire tampon d'adresse de verrouillage, la fréquence des conflits avec des demandes d'accès à la mémoire provenant de processeurs et d'unités d'entrée/sortie est réduite. De cette manière, les données de mémoire peuvent être copiées sans impliquer une réduction des capacités du système pendant le fonctionnement du système.
Les objets, caractéristiques et avantages ci-
dessus, et les autres, de la présente invention
deviendront évidents à partir des descriptions qui
suivent en référence aux dessins joints qui illustrent
des exemples de la présente invention.
BREVE DESCRIPTION DES DESSINS
La figure 1 est un schéma fonctionnel d'un système multiprocesseur selon un premier mode de réalisation de la présente invention; la figure 2 est un schéma fonctionnel d'une unité de contrôle d'acheminement dans le système multiprocesseur montré sur la figure 1; la figure 3 est un schéma fonctionnel d'une unité de contrôle de verrouillage dans le système multiprocesseur montré sur la figure 1; la figure 4 est un schéma fonctionnel d'un dispositif de déplacement dans le système multiprocesseur montré sur la figure 1; la figure 5 est un organigramme d'une séquence pour séparer et connecter un noeud dans le système multiprocesseur montré sur la figure 1;
6 2792742
la figure 6 est un schéma fonctionnel d'un système multiprocesseur selon un second mode de réalisation de la présente invention; et la figure 7 est un schéma fonctionnel d'un système multiprocesseur selon un troisième mode de réalisation
de la présente invention.
DESCRIPTION DES MODES DE REALISATION PREFERES
En référence maintenant à la figure 1, un système multiprocesseur selon un premier mode de réalisation de la présente invention comprend une pluralité de noeuds la à ld, un bus de verrouillage 6, et un bus de système 7. Le noeud la comporte un processeur 2, une unité d'entrée/sortie 3, une mémoire principale 4, et une unité de contrôle de système 5. L'unité de contrôle de système 5 comporte une unité de contrôle d'acheminement 31, une unité de contrôle de mémoire 32, une unité de contrôle d'interface entre noeuds 33, une unité de contrôle de verrouillage 34, et un dispositif de déplacement 35. La construction des noeuds lb, lc, ld est identique à celle du noeud la. Les noeuds la à ld sont connectés les uns aux autres par le bus de
verrouillage 6 et le bus de système 7.
Dans chacun des noeuds la à ld, une demande d'accès à la mémoire est émise à partir du processeur 2, de l'unité d'entrée/sortie 3, ou du dispositif de déplacement 35. L'unité de contrôle d'acheminement 31 détermine à quelle mémoire principale 4 de noeud la demande d'accès à la mémoire est destinée, ajoute des informations d'acheminement à la demande d'accès à la mémoire, et transfère la demande d'accès à la mémoire à
l'unité de contrôle d'interface entre noeuds 33.
Si la demande d'accès à la mémoire reçue par l'unité de contrôle d'interface entre noeuds 33 est destinée à la mémoire principale 4 dans un autre noeud, alors l'unité de contrôle d'interface entre noeuds 33 émet une demande d'accès à la mémoire vers l'autre
noeud via le bus de système 7.
Lorsque l'unité de contrôle d'interface entre noeuds 33 reçoit une demande d'accès à la mémoire autre qu'une demande d'accès à la mémoire verrouillée ou non verrouillée à partir de l'unité de contrôle d'acheminement 31 ou du bus de système 7, si la demande d'accès à la mémoire reçue est destinée à la mémoire principale 4 qui appartient à l'unité de contrôle d'interface entre noeuds 33, alors l'unité de contrôle d'interface entre noeuds 33 transfère une demande d'index de mémoire tampon d'adresse de verrouillage à l'unité de contrôle de verrouillage 34. L'unité de contrôle de verrouillage 34 vérifie si l'adresse transférée est verrouillée ou non, et envoie le résultat à l'unité de contrôle d'interface entre noeuds 33. Si l'unité de contrôle d'interface entre noeuds 33 reconnaît, à partir du résultat envoyé par l'unité de contrôle de verrouillage 34, que l'adresse transférée n'est pas verrouillée, alors l'unité de contrôle d'interface entre noeuds 33 transfère la demande d'accès à la mémoire, via l'unité de contrôle de mémoire 32, à la mémoire principale 4. Si l'unité de contrôle d'interface entre noeuds 33 reconnaît, à partir du résultat envoyé par l'unité de contr1ôle de verrouillage 34, que l'adresse transférée est verrouillée, alors l'unité de contrôle d'interface entre noeuds 33 conserve la demande d'accès à la mémoire et transfère la demande d'accès à la mémoire de nouveau à l'unité de contrôle de verrouillage 34. Ce traitement est répété jusqu'à ce que la demande d'accès
à la mémoire soit déverrouillée.
Si la demande d'accès à la mémoire transférée à partir de l'unité de contrôle d'acheminement 31 ou du bus de système 7 à l'unité de contrôle d'interface entre noeuds 33 est une demande de lecture de mémoire verrouillée pour son propre noeud, alors l'unité de contrôle d'interface entre noeuds 33 transfère une demande de verrouillage à l'unité de contrôle de verrouillage 34. Si l'adresse de la demande de verrouillage reçue n'est pas verrouillée, alors l'unité de contrôle de verrouillage 34 verrouille l'adresse et envoie une indication de verrouillage réussi à l'unité de contrôle d'interface entre noeuds 33. Lorsque l'unité de contrôle d'interface entre noeuds 33 reçoit l'indication de verrouillage réussi provenant de l'unité de contrôle de verrouillage 34, l'unité de contrôle d'interface entre noeuds 33 transfère la demande de lecture de mémoire à l'unité de contrôle de mémoire 32. Si l'adresse de la demande de lecture de mémoire verrouillée reçue est verrouillée, alors l'unité de contrôle de verrouillage 34 envoie une indication d'échec de verrouillage à l'unité de contrôle d'interface entre noeuds 33 et au bus de verrouillage 6. En réponse à l'indication reçue d'échec de verrouillage, l'unité de contrôle d'interface entre noeuds 33 élimine la demande de lecture de mémoire verrouillée. Lorsque l'unité de contrôle de système 5 d'une source de demande reçoit l'indication d'échec de verrouillage à partir du bus de verrouillage 6, l'unité de contrôle de système 5 envoie l'indication d'échec de verrouillage à un dispositif de source de demande. Lorsque le dispositif de source de demande reçoit l'indication d'échec de verrouillage, le dispositif de source de demande émet de nouveau une
demande de lecture de mémoire verrouillée.
Si la demande d'accès à la mémoire transférée à partir de l'unité de contrôle d'acheminement 31 ou du bus de système 7 à l'unité de contrôle d'interface entre noeuds 33 est une demande d'écriture de mémoire non verrouillée pour son propre noeud, alors l'unité de contrôle d'interface entre noeuds 33 transfère une demande d'écriture de mémoire à l'unité de contrôle de mémoire 32 et transfère également une demande de déverrouillage à l'unité de contrôle de verrouillage 34. L'unité de contrôle de verrouillage 34 déverrouille
l'adresse de la demande de déverrouillage reçue.
Une structure détaillée de l'unité de contrôle d'acheminement 31 va être décrite ci-dessous. La figure 2 montre l'unité de contrôle d'acheminement 31 sous forme de blocs. Comme montré sur la figure 2, l'unité de contrôle d'acheminement 31 comporte des registres 101, 102, 103 pour recevoir les demandes d'accès à la mémoire provenant du processeur, et un commutateur 104 pour commuter les sorties provenant du processeur 2, de l'unité d'entrée/sortie 3, et du dispositif de déplacement 35. Le registre 101 contient des données d'écriture lorsqu'une demande d'écriture de mémoire est reçue. Le registre 102 contient le type d'une demande d'accès à la mémoire. Le registre 103 contient l'adresse de mémoire d'une demande d'accès à la
mémoire.
L'unité de contrôle d'acheminement 31 comporte également des registres de contrôle d'acheminement 110, 111, 112, 113, 114, 115, 116, 117 pour contrôler à quel
2792742
noeud une demande d'accès à la mémoire doit être envoyée. Le registre 110 contient la valeur de limite inférieure d'un espace d'adresses de la mémoire principale du noeud la, et le registre 111 contient la valeur de limite supérieure de l'espace d'adresses de la mémoire principale du noeud la. De même, les registres 112, 113 correspondent au noeud lb, les registres 114, 115 correspondent au noeud lc, et les
registres 116, 117 correspondent au noeud ld.
Un circuit combinatoire 120 reçoit des valeurs provenant des registres 103, 110, 111, et sort "1" sur une ligne de connexion 200 si la demande d'accès à la mémoire indiquée par le registre 103 est une demande d'accès à la mémoire pour la mémoire principale 4 du noeud la. De même, un circuit combinatoire 121 reçoit des valeurs provenant des registres 103, 112, 113, et sort "1" sur une ligne de connexion 201 si la demande d'accès à la mémoire indiquée par le registre 103 est une demande d'accès à la mémoire pour la mémoire principale 4 du noeud lb. Un circuit combinatoire 122 reçoit des valeurs provenant des registres 103, 114, , et sort "1" sur une ligne de connexion 202 si la demande d'accès à la mémoire indiquée par le registre 103 est une demande d'accès à la mémoire pour la mémoire principale 4 du noeud lc. Un circuit combinatoire 123 reçoit des valeurs provenant des registres 103, 116, 117, et sort "1" sur une ligne de connexion 203 si la demande d'accès à la mémoire indiquée par le registre 103 est une demande d'accès à
la mémoire pour la mémoire principale 4 du noeud lc.
Par conséquent, les signaux sur les lignes de connexion , 201, 202, 203 représentent les informations d'acheminement indiquant les destinations des demandes d'accès à la mémoire contenues dans les registres 101,
102, 103.
Un indicateur 140 est à "1" si le transfert d'une demande d'écriture de mémoire à une pluralité de noeuds (mode multidiffusion) est indiqué. Un registre 141 contient des informations de noeud maître sous une forme codée. Un registre 142 contient des informations
de noeud esclave sous une forme codée.
Si le transfert d'une demande d'écriture de mémoire à une pluralité de noeuds est indiqué par l'indicateur , une instruction d'acheminement pour le noeud indiqué par les informations de noeud esclave contenues dans le registre 142 est masquée par des circuits combinatoires 160, 150, 151, et traitée en informations d'acheminement représentées par des lignes de connexion 210, 211, 212, 213. Par conséquent, lorsqu'un mode multidiffusion est représenté par l'indicateur 140, la valeur des informations de noeud esclave contenues dans
le registre 142 est ignorée.
Un circuit combinatoire 162 décode les informations de commande d'une demande d'accès à la mémoire provenant du registre 102. Si les informations de commande décodées indiquent une demande d'écriture de mémoire, alors le circuit combinatoire 162 sort "1"
vers un circuit combinatoire 152.
Des circuits combinatoires 161, 163 sortent "1" vers le circuit combinatoire 152 si la destination d'acheminement d'une demande d'accès à la mémoire représentée par les lignes de connexion 210, 211, 212, 213 est une cellule maître indiquée par le registre 141. Le circuit combinatoire 162 sort "1" vers le circuit combinatoire 152 si la demande d'accès à la mémoire mise dans le registre 102 est une demande
12 2792742
d'écriture de mémoire. Par conséquent, si la demande d'accès à la mémoire est une demande d'écriture de mémoire, si le transfert de la demande d'accès à la mémoire à une pluralité de noeuds est indiqué, et si la destination d'acheminement représentée par les lignes de connexion 210, 211, 212, 213 est un noeud maître, alors le circuit combinatoire 152 et un circuit combinatoire 153 ajoutent le noeud esclave représenté par le registre 142 en tant que destination d'acheminement, dont les informations sont transférées en tant qu'informations d'acheminement représentées par une ligne de connexion 220 à l'unité de contrôle d'interface entre noeuds 33 ajoutées à la demande
d'accès à la mémoire.
Une structure détaillée de l'unité de contrôle de verrouillage 34 va être décrite ci-dessous. La figure 3 montre l'unité de contrôle de verrouillage 34 sous forme de blocs. Comme montré sur la figure 3, l'unité de contrôle de verrouillage 34 comporte une mémoire tampon d'adresse de verrouillage 300 pour contenir une adresse de mémoire principale verrouillée, un circuit de comparaison 301 pour comparer les données contenues dans la mémoire tampon d'adresse de verrouillage 300 avec les adresses de mémoire d'une demande de verrouillage, d'une demande de déverrouillage, et d'une demande d'index de mémoire tampon d'adresse de verrouillage transférées à partir de l'unité de contrôle d'interface entre noeuds 33 pour déterminer si elles correspondent les unes aux autres, et un circuit de contrôle de verrouillage 302 pour recevoir le résultat de la comparaison provenant du circuit de comparaison 301 et une demande d'accès à la mémoire tampon d'adresse de verrouillage provenant de l'unité
13 2792742
de contrôle d'interface entre noeuds 33, pour contrôler la mémoire tampon d'adresse de verrouillage 300, et indique le succès/l'échec du verrouillage à l'unité de contrôle d'interface entre noeuds 33 et au bus de verrouillage 6. Lorsque l'unité de contrôle d'interface entre noeuds 33 transfère une demande d'accès à la mémoire tampon d'adresse de verrouillage à l'unité de contrôle de verrouillage 34, le circuit de contrôle de verrouillage 302 reçoit le résultat de la comparaison provenant du circuit de comparaison 301, et indique que l'adresse transférée est verrouillée à l'unité de contrôle d'interface entre noeuds 33 si la même adresse que l'adresse de demande d'accès à la mémoire a déjà été enregistrée dans la mémoire tampon d'adresse de verrouillage 300. Si la même adresse que l'adresse de demande d'accès à la mémoire n'a pas été enregistrée dans la mémoire tampon d'adresse de verrouillage 300, alors l'unité de contrôle d'interface entre noeuds 33 indique que l'adresse transférée n'est pas verrouillée
à l'unité de contrôle d'interface entre noeuds 33.
Lorsque l'unité de contrôle d'interface entre noeuds 33 transfère une demande de verrouillage à l'unité de contrôle de verrouillage 34, le circuit de contrôle de verrouillage 302 reçoit le résultat de la comparaison provenant du circuit de comparaison 301, et émet une indication d'échec de verrouillage vers l'unité de contrôle d'interface entre noeuds 33 et vers le bus de verrouillage 6 si la même adresse que l'adresse de demande de lecture de mémoire verrouillée a déjà été enregistrée dans la mémoire tampon d'adresse de verrouillage 300. Si la même adresse qu'une adresse de demande de lecture de mémoire verrouillée n'a pas été enregistrée dans la mémoire tampon d'adresse de verrouillage 300, alors le circuit de contrôle de verrouillage 302 émet une indication de verrouillage réussi vers l'unité de contrôle d'interface entre noeuds 33 et vers le bus de verrouillage 6, et donne l'instruction à la mémoire tampon d'adresse de verrouillage 300 d'enregistrer l'adresse de la demande de verrouillage. Lorsque l'unité de contrôle d'interface entre noeuds 33 transfère une demande de déverrouillage à l'unité de contrôle de verrouillage 34, le circuit de contrôle de verrouillage 302 reçoit le résultat de la comparaison provenant du circuit de comparaison 301, et donne l'instruction à la mémoire tampon d'adresse de verrouillage 300 d'effacer une entrée qui correspond à l'adresse de la demande de déverrouillage parmi les adresses qui sont enregistrées
dans la mémoire tampon d'adresse de verrouillage 300.
Les indications de verrouillage réussi et d'échec de verrouillage envoyées à partir des autres noeuds via le bus de verrouillage sont rapportées, via le circuit de contrôle de verrouillage 302, à l'unité de contrôle
d'acheminement 31.
Une structure détaillée du dispositif de déplacement 35 va être décrite ci-dessous. La figure 4 montre le dispositif de déplacement 35 sous forme de blocs. Comme montré sur la figure 4, le dispositif de déplacement 35 comporte un indicateur 400 pour indiquer l'activation du dispositif de déplacement 35, un registre 401 pour indiquer un noeud auquel le dispositif de déplacement 35 exécute la copie de la mémoire, un sélecteur 402 qui reçoit des signaux de sortie provenant des registres 110, 112, 114, 116 de l'unité de contrôle d'acheminement 31 et d'un additionneur 406 et qui est contrôlé par un circuit de contrôle de dispositif de déplacement 404, un sélecteur 403 qui reçoit des signaux de sortie provenant des registres 111, 113, 115, 117 de l'unité de contrôle d'acheminement 31 et d'un additionneur 406 et qui est contrôlé par le circuit de contr1ôle de dispositif de déplacement 404, un registre 405 pour contenir l'adresse de mémoire d'une demande d'accès à la mémoire émise vers l'unité de contrôle d'acheminement 31, un additionneur 406 pour ajouter une valeur particulière à la valeur du registre 405, par exemple ajouter "8" à la valeur du registre 405 si l'unité d'une demande d'accès à la mémoire émise par le dispositif de déplacement est de 8 octets, et un comparateur 407 pour comparer la valeur du sélecteur 403 et la valeur du registre
405 l'une avec l'autre.
Si "1" est positionné dans l'indicateur 400, alors le circuit de contrôle de dispositif de déplacement 404 contrôle le sélecteur 402 pour mettre l'adresse de début d'une demande d'accès à la mémoire dans le registre 405 sur la base des informations de noeud indiquées par le registre 401. De même, le circuit de contrôle de dispositif de déplacement 404 contr1ôle le sélecteur 403 pour entrer l'adresse de fin de la
demande d'accès à la mémoire dans le comparateur 407.
Sur la base de l'adresse entrée à partir du registre 405, le circuit de contrôle de dispositif de déplacement 404 émet une demande de lecture de mémoire
verrouillée vers l'unité de contrôle d'acheminement 31.
Si une indication d'échec de verrouillage est renvoyée pour la demande de lecture de mémoire verrouillée, alors le circuit de contrôle de dispositif de déplacement 404 émet de nouveau une demande de lecture de mémoire verrouillée vers l'unité de contrôle d'acheminement 31 en utilisant la même adresse. Si des données de réponse sont renvoyées pour la demande de lecture de mémoire verrouillée, alors le circuit de contrôle de dispositif de déplacement 404 émet une demande d'écriture de mémoire non verrouillée à la même adresse. Lorsque la demande d'écriture de mémoire non verrouillée est exécutée, le sélecteur 402 sélectionne une adresse incrémentée par l'additionneur 406, et entre l'adresse sélectionnée dans le registre 405. Tout en incrémentant l'adresse, le circuit de contrôle de dispositif de déplacement 404 émet à plusieurs reprises une demande de lecture de mémoire verrouillée et une demande d'écriture de mémoire non verrouillée vers l'unité de contrôle d'acheminement 31. Si le comparateur 407 détecte que l'adresse du registre 405 dépasse l'adresse du sélecteur 403, le circuit de contrôle de dispositif de déplacement 404 réinitialise l'indicateur 400, et termine l'émission de la demande d'accès à la mémoire vers l'unité de contrôle
d'acheminement 31.
Le fonctionnement du système multiprocesseur pour séparer/connecter un noeud va être décrit ci-dessous en
référence à la figure 5.
Dans ce mode de réalisation, on suppose que les noeuds la, lb, lc montrés sur la figure 1 fonctionnent comme des noeuds de système actifs, et lorsque le noeud la présente un défaut, le noeud la est séparé, et le
noeud ld est nouvellement connecté au système.
A l'étape 501 montrée sur la figure 5, le processeur 2 et l'unité d'entrée/sortie 3 du noeud la
sont séparés de manière logique du système.
17 2792742
Ensuite, à l'étape 502, le noeud ld est connecté de manière logique au bus de système 7 et au bus de
verrouillage 6.
A l'étape 503, les indicateurs 140 de tous les noeuds sont mis à "1", les registres 141 de tous les noeuds sont positionnés au numéro de noeud du noeud séparé la, et les registres 142 de tous les noeuds sont positionnés au numéro de noeud du noeud connecté ld. A cet instant, les demandes d'accès en écriture à la mémoire émises vers la mémoire principale 4 du noeud la à partir des processeurs 2, des unités d'entrée/sortie 3, et des dispositifs de déplacement 35 qui fonctionnent dans les noeuds lb, lc sont également
émises vers la mémoire principale 4 du noeud ld.
Ensuite, le registre 401 dans le dispositif de déplacement 35 du noeud ld est positionné au numéro de noeud du noeud séparé la, et l'indicateur 400est mis à "1". Aux étapes 504 et 505 (étapes 511 à 514), le dispositif de déplacement 35 exécute une demande de lecture de mémoire verrouillée et une demande d'écriture de mémoire non verrouillée entièrement dans un espace de mémoire entre les adresses des limites inférieure et supérieure dans la mémoire principale 4 du noeud la, et copie les données de la mémoire principale 4 du noeud la vers la mémoire principale 4 du noeud ld. Lors de l'achèvement de la copie des données de mémoire, la mémoire principale 4 du noeud la et la mémoire principale 4 du noeud ld contiennent les
mêmes données.
A cet instant, la demande d'accès à la mémoire émise à partir du dispositif de déplacement 35 est verrouillée parce que l'élimination des demandes d'écriture de mémoire devrait être empêchée si les adresses de mémoire des demandes d'écriture de mémoire émises à partir des processeurs 2 ou des unités d'entrée/sortie 3 des noeuds lb, lc sont en conflit les unes avec les autres alors que la copie des données de mémoire est exécutée par le dispositif de déplacement 35. Lorsque la copie des données de mémoire est achevée, les registres 116 de tous les noeuds sont positionnés à la valeur du registre 110, et les valeurs des registres 141 et des registres 142 de tous les noeuds sont échangées, à l'étape 506. A cet instant, les demandes d'accès en lecture à la mémoire émises à partir des processeurs 2 et des unités d'entrée/sortie 3 qui fonctionnent dans les noeuds lb, lc vers la mémoire principale 4 du noeud la sont exécutées vers la mémoire principale 4 du noeud ld, et les demandes d'accès en écriture à la mémoire émises à partir de ceux-ci sont exécutées vers les mémoires principales
4 des noeuds la, ld.
Ensuite, à l'étape 507, les registres 110, 111 de tous les noeuds sont positionnés à "0", invalidant l'espace d'adresses dans le noeud la. A l'étape 508, les registres 140 de tous les noeuds sont positionnés à "0", annulant le mode multidiffusion. A cet instant, la mémoire principale 4 du noeud la est séparée du système actif, et la mémoire principale 4 du noeud ld est
connectée au système actif, à l'étape 509.
Ensuite, à l'étape 510, le processeur 2 et l'unité d'entrée/sortie 3 du noeud ld sont connectés au système actif, après quoi le noeud la et le noeud ld sont
complètement commutés.
La figure 6 montre sous forme de blocs un système multiprocesseur selon un second mode de réalisation de la présente invention. Le système multiprocesseur montré sur la figure 6 diffère du système multiprocesseur montré sur la figure 1 en ce que le dispositif de déplacement 35 est enlevé de l'unité de contrôle de système 5. Tandis que le dispositif de déplacement 35 est mis en oeuvre par du matériel selon le premier mode de réalisation, toutes les fonctions du dispositif de déplacement 35 sont mises en oeuvre par le logiciel qui contrôle le processeur 2 selon le second mode de réalisation. Dans le second mode de réalisation, le processeur 2 émet une demande de lecture de mémoire verrouillée et une demande d'écriture de mémoire non verrouillée pour la copie des
données de mémoire entre des noeuds.
La figure 7 montre sous forme de blocs un système multiprocesseur selon un troisième mode de réalisation de la présente invention. Sur la figure 7, un registre 36 sert à contenir une adresse présentant un défaut dans la mémoire principale 4, et à fournir des informations d'adresse de défaut au dispositif de déplacement 35. Lorsque la mémoire principale 4 présente un défaut et doit être déconnectée, si un accès à la mémoire principale défectueuse est effectué pour la copie de données de mémoire par le dispositif de déplacement 35, alors des données erronées sont lues et un nouveau défaut est détecté. Pour éviter un tel inconvénient, lorsque le dispositif de déplacement 35 émet une demande d'accès à la mémoire pour la copie de données de mémoire, le dispositif de déplacement 35 compare les adresses de mémoire avec l'adresse mémorisée dans le registre 36. Si une adresse de mémoire correspond à l'adresse mémorisée dans le registre 36, alors le dispositif de déplacement
2792742
2o
inhibe l'accès à la mémoire à l'adresse de mémoire, et saute à une adresse de mémoire suivante.
Bien que des modes de réalisation préférés de la présente invention aient été décrits en utilisant des
termes spécifiques, cette description est effectuée uniquement à des fins illustratives, et on doit
comprendre que des changements et des modifications peuvent être effectués sans s'écarter de l'esprit ou de l'étendue des revendications qui suivent.
21 2792742

Claims (9)

REVENDICATIONS
1. Système multiprocesseur d'une structure à mémoire partagée répartie comportant une pluralité de noeuds comprenant chacun au moins un processeur (2) et une mémoire principale (4), caractérisé en ce qu'il comprend: des moyens pour gérer les mêmes adresses de mémoire dans deux noeuds; des moyens pour contenir des informations des deux noeuds en tant que noeud maître et noeud esclave; des moyens pour transférer une demande d'accès en lecture à partir d'un processeur (2) et d'une unité d'entrée/sortie (3) par rapport à ladite mémoire principale (4) à un noeud maître; un indicateur indicatif du fait qu'une demande d'accès en écriture provenant du processeur (2) et de l'unité d'entrée/sortie (3) par rapport à ladite mémoire principale (4) doit être transférée au noeud maître ou au noeud maître et au noeud esclave; des moyens pour transférer la demande d'accès en écriture au noeud maître si ledit indicateur indique que la demande d'accès en écriture doit être transférée au noeud maître; et des moyens pour transférer la demande d'accès en écriture au noeud maître et au noeud esclave si ledit indicateur indique que la demande d'accès en écriture doit être transférée au noeud maître et au noeud esclave.
2. Système multiprocesseur selon la revendication 1, comprenant en outre:
22 2792742
des moyens pour contenir des informations d'adresse d'un espace de mémoire de la mémoire principale (4) de chacun des noeuds; des moyens d'accès en lecture à verrouillage pour lire des données à partir de la mémoire principale (4) du noeud maître sur la base desdites informations d'adresse en réponse à une demande d'accès en lecture verrouillée; des moyens d'accès en écriture à déverrouillage pour écrire les données lues par lesdits moyens d'accès en lecture à verrouillage dans les mémoires principales du noeud maître et du noeud esclave en réponse à une demande d'accès en écriture non verrouillée; des moyens de copie de mémoire pour exécuter de manière inséparable ladite demande d'accès en lecture verrouillée et ladite demande d'accès en écriture non verrouillée; et des moyens pour effectuer parfaitement la copie de mémoire par lesdits moyens de copie de mémoire dans l'espace de mémoire de la mémoire principale (4) dudit
noeud maître.
3. Système multiprocesseur selon la revendication 2, comprenant en outre: une mémoire tampon d'adresse de verrouillage (300) pour exécuter de manière inséparable une demande d'accès en lecture et une demande d'accès en écriture pour ladite copie de mémoire; des moyens pour enregistrer une adresse de ladite demande d'accès en lecture verrouillée dans ladite mémoire tampon d'adresse de verrouillage (300) en réponse à ladite demande d'accès en lecture verrouillée;
23 2792742
des moyens pour effacer la même adresse que celle de ladite demande d'accès en écriture non verrouillée de ladite mémoire tampon d'adresse de verrouillage (300) en réponse à ladite demande d'accès en écriture non verrouillée; et des moyens pour inhiber ladite demande d'accès à la mémoire jusqu'à ce que l'adresse de mémoire d'une demande d'accès à la mémoire soit effacée de ladite mémoire tampon d'adresse de verrouillage (300) si l'adresse de mémoire de la demande d'accès à la mémoire envoyée à partir dudit processeur (2) ou de ladite unité d'entrée/sortie (3) à ladite mémoire principale (4) a déjà été enregistrée dans ladite mémoire tampon
d'adresse de verrouillage (300).
4. Système multiprocesseur selon la revendication 2, dans lequel lesdits moyens de copie de mémoire comprennent: des moyens de mémorisation d'adresse défectueuse pour mémoriser une adresse dans ladite mémoire principale (4) qui présente un défaut; et des moyens pour inhiber la copie de la mémoire si l'adresse de mémoire principale de la demande d'accès en lecture correspond à l'adresse mémorisée dans lesdits moyens de mémorisation d'adresse défectueuse avant la lecture des données à partir de la mémoire principale (4) du noeud maître en réponse à la demande
d'accès en lecture.
5. Système multiprocesseur d'une structure à mémoire partagée répartie comprenant une pluralité de noeuds comprenant chacun au moins un processeur (2), une unité d'entrée/sortie (3), une mémoire principale
24 2792742
(4), et une unité de contrôle de système, ladite unité de contrôle de système comprenant une unité de contrôle d'acheminement (31), une unité de contrôle de mémoire (32), une unité de contrôle d'interface entre noeuds (33), une unité de contrôle de verrouillage (34), et un dispositif de déplacement (35); ladite unité de contrôle d'acheminement (31) comportant des moyens pour recevoir une demande d'accès à la mémoire émise à partir dudit processeur (2), de ladite unité d'entrée/sortie (3), ou dudit dispositif de déplacement (35), déterminant à quelle mémoire principale (4) de noeud la demande d'accès à la mémoire est destinée, ajoutant des informations d'acheminement à la demande d'accès à la mémoire, et transférant la demande d'accès à la mémoire à ladite unité de contrôle d'interface entre noeuds (33); ladite unité de contrôle d'interface entre noeuds (33) comportant des moyens pour, si la demande d'accès à la mémoire transférée à partir de ladite unité de contrôle d'acheminement (31) est destinée à la mémoire principale (4) d'un autre noeud, émettre une demande d'accès à la mémoire vers ledit autre noeud via un bus de système, et pour, si une demande d'accès à la mémoire autre qu'une demande d'accès à la mémoire verrouillée ou non verrouillée reçue à partir de ladite unité de contrôle d'acheminement (31) ou du bus de système est destinée à la mémoire principale (4) de son propre noeud, transférer une demande d'index de mémoire tampon d'adresse de verrouillage à ladite unité de contrôle de verrouillage (34), et pour, si ladite unité de contrôle de verrouillage (34) indique qu'une adresse transférée n'est pas verrouillée, transférer la demande d'accès à la mémoire via ladite unité de contrôle de
2792742
mémoire (32) à ladite mémoire principale (4), et pour, si ladite unité de contrôle de verrouillage (34) indique que l'adresse transférée est verrouillée, conserver la demande d'accès à la mémoire et transférer une adresse de demande d'accès à la mémoire de nouveau à ladite unité de contrôle de verrouillage (34), et répétant le traitement ci-dessus jusqu'à ce que l'adresse de demande d'accès à la mémoire soit déverrouillée, et des moyens pour, si la demande d'accès à la mémoire transférée à partir de ladite unité de contrôle d'acheminement (31) ou du bus de système est une demande de lecture de mémoire verrouillée destinée à son propre noeud, transférer une demande de verrouillage à ladite unité de contrôle de verrouillage (34), si une indication de verrouillage réussi est reçue à partir de ladite unité de contrôle de verrouillage (34), transférer la demande de lecture de mémoire à ladite unité de contrôle de mémoire (32), si une indication d'échec de verrouillage est reçue à partir de ladite unité de contrôle de verrouillage (34), éliminer la demande de lecture de mémoire verrouillée, et si la demande d'accès à la mémoire transférée à partir de ladite unité de contrôle d'acheminement (31) ou du bus de système est une demande d'écriture de mémoire non verrouillée destinée à son propre noeud, transférer la demande d'écriture de mémoire à ladite unité de contrôle de mémoire (32), et transférer une demande de déverrouillage à ladite unité de contrôle de verrouillage (34); ladite unité de contrôle de verrouillage (34) comportant des moyens pour déterminer si l'adresse transférée est verrouillée ou non lorsque ladite demande d'index de mémoire tampon d'adresse de verrouillage est transférée, et indiquant le résultat déterminé à ladite unité de contrôle d'interface entre noeuds (33), et, si l'adresse de ladite demande de verrouillage n'est pas verrouillée, verrouiller ladite adresse et envoyer une indication de verrouillage réussi à ladite unité de contrôle d'interface entre noeuds (33), et, si l'adresse de ladite demande de verrouillage est verrouillée, envoyer une indication d'échec de verrouillage à ladite unité de contrôle d'interface entre noeuds (33) et au bus de verrouillage (6), et déverrouiller l'adresse de ladite demande de déverrouillage lorsque ladite demande de déverrouillage
est reçue.
6. Système multiprocesseur selon la revendication , dans lequel ladite unité de contrôle d'acheminement (31) comprend: un premier registre pour contenir des données d'écriture lorsque la demande d'écriture de mémoire est revue et pour sortir les données d'écriture vers ladite unité de contrôle d'interface entre noeuds (33); un second registre pour contenir le type de la demande d'accès à la mémoire et pour sortir le type de la demande d'accès à la mémoire vers ladite unité de contrôle d'interface entre noeuds (33); un troisième registre pour contenir l'adresse de mémoire de la demande d'accès à la mémoire et pour sortir l'adresse de mémoire vers ladite unité de contrôle d'interface entre noeuds (33); un indicateur pour indiquer le transfert de la demande d'écriture de mémoire à une pluralité de noeuds;
27 2792742
un quatrième registre pour contenir des informations de noeud maître; un cinquième registre pour contenir des informations de noeud esclave; des sixième et septième registres pour contenir, respectivement, des valeurs de limites inférieure et supérieure de l'espace d'adresses de la mémoire principale (4) de chacun desdits noeuds; des premiers circuits combinatoires associés respectivement auxdits sixième et septième registres, pour comparer l'adresse de mémoire contenue dans ledit troisième registre avec les valeurs de limites inférieure et supérieure de l'espace d'adresses qui sont respectivement contenues dans lesdits sixième et septième registres, et pour rendre les signaux de sortie respectifs actifs si l'adresse de mémoire est comprise entre lesdites valeurs de limites inférieure et supérieure de l'espace d'adresses; et un second circuit combinatoire pour sortir le noeud correspondant au signal de sortie actif des signaux de sortie provenant desdits premiers circuits combinatoires, en tant qu'informations d'acheminement indicatives d'une destination d'acheminement vers ladite unité de contrôle d'interface entre noeuds (33) si le transfert de la demande d'écriture de mémoire à une pluralité de noeuds n'est pas indiqué, et pour ajouter un noeud esclave contenu dans ledit cinquième registre en tant que destination d'acheminement et pour sortir la destination d'acheminement en tant qu'informations d'acheminement vers ladite unité de contrôle d'interface entre noeuds (33) si le transfert de la demande d'écriture de mémoire à une pluralité de noeuds est indiqué, si un noeud correspondant au signal de sortie actif provenant desdits premiers circuits combinatoires est un noeud maître contenu dans ledit quatrième registre, et si la demande d'accès à la mémoire contenue dans ledit second registre est une demande d'écriture de mémoire.
7. Système multiprocesseur selon la revendication 6, dans lequel ladite unité de contrôle de verrouillage (34) comprend: une mémoire tampon d'adresse de verrouillage (300) pour contenir une adresse de mémoire principale verrouillée; un circuit de comparaison pour comparer les données contenues dans ladite mémoire tampon d'adresse de verrouillage (300) avec les adresses de mémoire d'une demande de verrouillage, d'une demande de déverrouillage, et d'une demande d'index de mémoire tampon d'adresse de verrouillage transférées à partir de ladite unité de contrôle d'interface entre noeuds (33) pour déterminer si elles correspondent les unes aux autres; et un circuit de contrôle de verrouillage (302) pour recevoir une demande d'accès à la mémoire tampon d'adresse de verrouillage à partir de ladite unité de contrôle d'interface entre noeuds (33), et pour, si le résultat de la comparaison provenant dudit circuit de comparaison indique que la même adresse que celle de la demande d'accès à la mémoire a déjà été enregistrée dans ladite mémoire tampon d'adresse de verrouillage (300), indiquer que l'adresse transférée est verrouillée à ladite unité de contrôle d'interface entre noeuds (33), et pour, si le résultat de la comparaison provenant dudit circuit de comparaison
29 2792742
indique que la même adresse que celle de la demande d'accès à la mémoire n'a pas été enregistrée dans ladite mémoire tampon d'adresse de verrouillage (300), indiquer que l'adresse transférée n'est pas verrouillée à ladite unité de contrôle d'interface entre noeuds (33), et pour, si le résultat de la comparaison provenant dudit circuit de comparaison indique que la même adresse que celle de la demande de lecture de mémoire verrouillée a déjà été enregistrée dans ladite mémoire tampon d'adresse de verrouillage (300) lorsque la demande de verrouillage est transférée à partir de ladite unité de contrôle d'interface entre noeuds (33), émettre une indication d'échec de verrouillage vers ladite unité de contrôle d'interface entre noeuds (33) et le bus de verrouillage (6), et pour, si le résultat de la comparaison provenant dudit circuit de comparaison indique que la même adresse que celle de la demande de lecture de mémoire verrouillée n'a pas été enregistrée dans ladite mémoire tampon d'adresse de verrouillage (300), émettre une indication de verrouillage réussi vers ladite unité de contrôle d'interface entre noeuds (33) et le bus de verrouillage (6), et donner l'instruction à ladite mémoire tampon d'adresse de verrouillage (300) d'enregistrer l'adresse de la demande de verrouillage, et donner l'instruction à ladite mémoire tampon d'adresse de verrouillage (300) d'effacer une entrée qui correspond à l'adresse de la demande de déverrouillage parmi les adresses qui sont enregistrées dans la mémoire tampon d'adresse de verrouillage (300), en réponse au résultat de la comparaison provenant dudit circuit de comparaison
lorsque la demande de déverrouillage est transférée.
2792742
3o
8. Système multiprocesseur selon la revendication 6, dans lequel ledit dispositif de déplacement (35) comprend: un indicateur pour indiquer l'activation du dispositif de déplacement (35); un premier registre pour indiquer un noeud auquel le dispositif de déplacement (35) exécute la copie de la mémoire; un premier sélecteur (402) pour recevoir une adresse contenue dans ledit septième registre de ladite unité de contrôle d'acheminement (31); un second sélecteur (403) pour recevoir une adresse contenue dans ledit sixième registre de ladite unité de contrôle d'acheminement (31); un second registre pour contenir une adresse de mémoire d'une demande d'accès à la mémoire sortie dudit second sélecteur (403) et émise vers ladite unité de contrôle d'acheminement (31); un additionneur (406) pour ajouter une valeur particulière à l'adresse de mémoire sortie dudit second registre et entrer la somme dans ledit sélecteur; un comparateur pour comparer une sortie dudit premier sélecteur (402) et l'adresse de mémoire sortie dudit second registre l'une avec l'autre; et un circuit de contrôle de dispositif de déplacement pour, si ledit indicateur indique l'activation du dispositif de déplacement (35), contrôler ledit second sélecteur (403) pour mettre l'adresse de début d'une demande d'accès à la mémoire dans ledit second registre sur la base des informations de noeud indiquées par ledit premier registre, et contrôler ledit premier sélecteur (402) pour entrer l'adresse de fin de la demande d'accès à la mémoire dans ledit comparateur, émettre une demande de lecture de mémoire verrouillée vers ladite unité de contrôle d'acheminement (31) sur la base de l'adresse entrée à partir dudit second registre, et pour, si une indication d'échec de verrouillage est renvoyée pour la demande de lecture de mémoire verrouillée, émettre une demande de lecture de mémoire verrouillée de nouveau vers ladite unité de contrôle d'acheminement (31) en utilisant la même adresse, et pour, si des données de réponse sont renvoyées pour la demande de lecture de mémoire verrouillée, émettre une demande d'écriture de mémoire non verrouillée à la même adresse, et pour, lorsque la demande d'écriture de mémoire non verrouillée est exécutée, amener ledit second sélecteur (403) à sélectionner une adresse incrémentée par ledit additionneur (406) et entrer l'adresse sélectionnée dans ledit second registre, et pour, tout en incrémentant l'adresse, émettre à plusieurs reprises une demande de lecture de mémoire verrouillée et une demande d'écriture de mémoire non verrouillée vers ladite unité de contrôle d'acheminement (31), et pour, si ledit comparateur détecte que l'adresse dudit second registre dépasse l'adresse provenant dudit premier sélecteur (402), réinitialiser ledit indicateur, et terminer l'émission de la demande d'accès à la mémoire
vers ladite unité de contrôle d'acheminement (31).
9. Système multiprocesseur selon la revendication 7, dans lequel ledit dispositif de déplacement (35) comprend: un indicateur pour indiquer l'activation du dispositif de déplacement (35);
32 2792742
un premier registre pour indiquer un noeud auquel le dispositif de déplacement (35) exécute la copie de la mémoire; un premier sélecteur (402) pour recevoir une adresse contenue dans ledit septième registre de ladite unité de contrôle d'acheminement (31); un second sélecteur (403) pour recevoir une adresse contenue dans ledit sixième registre de ladite unité de contrôle d'acheminement (31); un second registre pour contenir une adresse de mémoire d'une demande d'accès à la mémoire sortie dudit second sélecteur (403) et émise vers ladite unité de contrôle d'acheminement (31); un additionneur (406) pour ajouter une valeur particulière à l'adresse de mémoire sortie dudit second registre et pour entrer la somme dans ledit sélecteur; un comparateur pour comparer une sortie provenant dudit premier sélecteur (402) et l'adresse de mémoire sortie dudit second registre l'une avec l'autre; et un circuit de contrôle de dispositif de déplacement pour, si ledit indicateur indique l'activation du dispositif de déplacement (35), contrôler ledit second sélecteur (403) pour mettre l'adresse de début d'une demande d'accès à la mémoire dans ledit second registre sur la base des informations de noeud indiquées par ledit premier registre, et contrôler ledit premier sélecteur (402) pour entrer l'adresse de fin de la demande d'accès à la mémoire dans ledit comparateur, émettre une demande de lecture de mémoire verrouillée vers ladite unité de contrôle d'acheminement (31) sur la base de l'adresse entrée à partir dudit second registre, et pour, si une indication d'échec de verrouillage est renvoyée pour la demande de lecture de
33 2792742
mémoire verrouillée, émettre une demande de lecture de mémoire verrouillée de nouveau vers ladite unité de contrôle d'acheminement (31) en utilisant la même adresse, et pour, si des données de réponse sont renvoyées pour la demande de lecture de mémoire verrouillée, émettre une demande d'écriture de mémoire non verrouillée à la même adresse, et pour, lorsque la demande d'écriture de mémoire non verrouillée est exécutée, amener ledit second sélecteur (403) à sélectionner une adresse incrémentée par ledit additionneur (406) et entrer l'adresse sélectionnée dans ledit second registre, et pour, tout en incrémentant l'adresse, émettre à plusieurs reprises une demande de lecture de mémoire verrouillée et une demande d'écriture de mémoire non verrouillée vers ladite unité de contrôle d'acheminement (31), et pour, si ledit comparateur détecte que l'adresse dudit second registre dépasse l'adresse provenant dudit premier sélecteur (402), réinitialiser ledit indicateur, et terminer l'émission de la demande d'accès à la mémoire
vers ladite unité de contrôle d'acheminement (31).
FR0001042A 1999-01-28 2000-01-27 Systeme multiprocesseur a memoire partagee repartie comportant une fonction d'enfichage a chaud pour des memoires principales Pending FR2792742A1 (fr)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP02033799A JP3481485B2 (ja) 1999-01-28 1999-01-28 マルチプロセッサシステム

Publications (1)

Publication Number Publication Date
FR2792742A1 true FR2792742A1 (fr) 2000-10-27

Family

ID=12024337

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0001042A Pending FR2792742A1 (fr) 1999-01-28 2000-01-27 Systeme multiprocesseur a memoire partagee repartie comportant une fonction d'enfichage a chaud pour des memoires principales

Country Status (3)

Country Link
US (1) US6553465B1 (fr)
JP (1) JP3481485B2 (fr)
FR (1) FR2792742A1 (fr)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3891004B2 (ja) 2002-02-26 2007-03-07 日本電気株式会社 情報処理システム及び該システムの制御方法並びにプログラム
US20050198449A1 (en) * 2004-03-05 2005-09-08 Darrell Haskell Determination of memory configuration
JP4161276B2 (ja) 2004-12-17 2008-10-08 日本電気株式会社 フォルトトレラントコンピュータ装置およびその同期化方法
JP2007272358A (ja) * 2006-03-30 2007-10-18 Pioneer Electronic Corp 情報処理装置
US8943271B2 (en) * 2008-06-12 2015-01-27 Microsoft Corporation Distributed cache arrangement
CN103403688A (zh) 2011-02-21 2013-11-20 富士通株式会社 处理器管理方法
US8849977B2 (en) * 2012-03-09 2014-09-30 Telefonaktiebolaget Lm Ericsson (Publ) Method and a control node in an overlay network
US9952975B2 (en) * 2013-04-30 2018-04-24 Hewlett Packard Enterprise Development Lp Memory network to route memory traffic and I/O traffic
US11868777B2 (en) 2020-12-16 2024-01-09 Advanced Micro Devices, Inc. Processor-guided execution of offloaded instructions using fixed function operations
US11625249B2 (en) * 2020-12-29 2023-04-11 Advanced Micro Devices, Inc. Preserving memory ordering between offloaded instructions and non-offloaded instructions
US11921634B2 (en) 2021-12-28 2024-03-05 Advanced Micro Devices, Inc. Leveraging processing-in-memory (PIM) resources to expedite non-PIM instructions executed on a host

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5704032A (en) * 1996-04-30 1997-12-30 International Business Machines Corporation Method for group leader recovery in a distributed computing environment
EP0820016A2 (fr) * 1996-07-01 1998-01-21 Sun Microsystems, Inc. Système multiprocesseur avec un mécanisme amélioré de blocage pour transactions de type RTS en mode NUMA
EP0844559A2 (fr) * 1996-11-22 1998-05-27 MangoSoft Corporation Réseau d'ordinateurs à mémoire partagée
WO1998022893A1 (fr) * 1996-11-22 1998-05-28 Mangosoft Corporation Service de repertoire dynamique
US5802582A (en) * 1996-09-10 1998-09-01 International Business Machines Corporation Explicit coherence using split-phase controls

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4571707A (en) * 1984-02-23 1986-02-18 Nec Corporation Memory circuit with improved redundant structure
CA1239227A (fr) * 1984-10-17 1988-07-12 Randy D. Pfeifer Methode et dispositif d'ordonnancement des operations dans un systeme multiprocesseur
JP2886856B2 (ja) * 1986-04-09 1999-04-26 株式会社日立製作所 二重化バス接続方式
JPH0573399A (ja) 1991-09-11 1993-03-26 Kyushu Nippon Denki Software Kk ワークステーシヨン間メモリ共有方法
JPH05257796A (ja) 1992-03-11 1993-10-08 Nec Corp 分散共有型メモリ管理方式
US5546532A (en) * 1993-02-01 1996-08-13 3Dlabs Limited Data-array processing system
JPH08153045A (ja) 1994-11-30 1996-06-11 Nec Corp メモリ制御回路
JP3123413B2 (ja) 1995-11-07 2001-01-09 株式会社日立製作所 コンピュータシステム
JP3696689B2 (ja) 1996-04-15 2005-09-21 富士通株式会社 情報処理システムのメモリコピー装置
US6101497A (en) * 1996-05-31 2000-08-08 Emc Corporation Method and apparatus for independent and simultaneous access to a common data set
JPH1098524A (ja) 1996-09-20 1998-04-14 Nippon Telegr & Teleph Corp <Ntt> 分散型ネットワーク
US6088769A (en) * 1996-10-01 2000-07-11 International Business Machines Corporation Multiprocessor cache coherence directed by combined local and global tables
US5893922A (en) * 1997-03-06 1999-04-13 International Business Machines Corporation Home node migration for distributed shared memory systems
US6230240B1 (en) * 1998-06-23 2001-05-08 Hewlett-Packard Company Storage management system and auto-RAID transaction manager for coherent memory map across hot plug interface

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5704032A (en) * 1996-04-30 1997-12-30 International Business Machines Corporation Method for group leader recovery in a distributed computing environment
EP0820016A2 (fr) * 1996-07-01 1998-01-21 Sun Microsystems, Inc. Système multiprocesseur avec un mécanisme amélioré de blocage pour transactions de type RTS en mode NUMA
US5802582A (en) * 1996-09-10 1998-09-01 International Business Machines Corporation Explicit coherence using split-phase controls
EP0844559A2 (fr) * 1996-11-22 1998-05-27 MangoSoft Corporation Réseau d'ordinateurs à mémoire partagée
WO1998022893A1 (fr) * 1996-11-22 1998-05-28 Mangosoft Corporation Service de repertoire dynamique

Also Published As

Publication number Publication date
JP3481485B2 (ja) 2003-12-22
JP2000222375A (ja) 2000-08-11
US6553465B1 (en) 2003-04-22

Similar Documents

Publication Publication Date Title
KR100441712B1 (ko) 확장 가능형 다중 처리 시스템 및 그의 메모리 복제 방법
JP2572136B2 (ja) 多重処理データシステムにおけるロック制御方法
CA2130411C (fr) Methode et systeme de traitement d&#39;images de documents et de donnees codees
US5790775A (en) Host transparent storage controller failover/failback of SCSI targets and associated units
US7437603B2 (en) Method for restoring snapshot in a storage system
CN109828868B (zh) 数据存储方法、装置、管理设备和双活数据存储系统
US6615314B1 (en) Disk array and method for reading/writing data from/into disk unit
US20060089975A1 (en) Online system recovery system, method and program
FR2792742A1 (fr) Systeme multiprocesseur a memoire partagee repartie comportant une fonction d&#39;enfichage a chaud pour des memoires principales
JP4132322B2 (ja) 記憶制御装置およびその制御方法
US6944684B1 (en) System for selectively using different communication paths to transfer data between controllers in a disk array in accordance with data transfer size
US6397356B1 (en) Alternative path control system and method
CN107329704A (zh) 一种缓存镜像方法及控制器
EP0837396B1 (fr) Opération atomique sur mémoire distante et dispositif permettant d&#39;effectuer cette opération
EP0536375A1 (fr) Systeme de fichier pour reseau insensible aux defaillances
KR19990050357A (ko) 밀결합 결함 허용 시스템에서 메모리 버스 확장에 의한 동시 쓰기 이중화 장치
US5699504A (en) Multiprocessor system formed of a plurality of duplex processors
US6490662B1 (en) System and method for enhancing the reliability of a computer system by combining a cache sync-flush engine with a replicated memory module
US8527983B2 (en) Host bus adaptor driver and operating system installation method
US20070180452A1 (en) Load distributing system and method
US5694550A (en) Automatic switching method of a right of management/control for shared-storage unit
US20110010584A1 (en) Diagnosis of and Response to Failure at Reset in a Data Processing System
US7302526B1 (en) Handling memory faults for mirrored memory
US7225363B2 (en) Method and apparatus for abandoning an interrupted task
CN110688193B (zh) 磁盘处理方法以及装置