FR2860616A1 - Unite de commande de dispositif de memorisation et procede de commande de celui-ci - Google Patents
Unite de commande de dispositif de memorisation et procede de commande de celui-ci Download PDFInfo
- Publication number
- FR2860616A1 FR2860616A1 FR0404007A FR0404007A FR2860616A1 FR 2860616 A1 FR2860616 A1 FR 2860616A1 FR 0404007 A FR0404007 A FR 0404007A FR 0404007 A FR0404007 A FR 0404007A FR 2860616 A1 FR2860616 A1 FR 2860616A1
- Authority
- FR
- France
- Prior art keywords
- section
- data
- memory
- storage device
- access
- 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.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims description 66
- 230000015654 memory Effects 0.000 claims abstract description 289
- 238000004891 communication Methods 0.000 claims abstract description 125
- 230000004044 response Effects 0.000 claims abstract description 19
- 230000008569 process Effects 0.000 claims description 61
- 238000012546 transfer Methods 0.000 claims description 31
- 238000013500 data storage Methods 0.000 claims description 22
- 230000005540 biological transmission Effects 0.000 claims description 13
- 238000007726 management method Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 13
- 238000006243 chemical reaction Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 239000000835 fiber Substances 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 238000005755 formation reaction Methods 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 230000010365 information processing Effects 0.000 description 3
- 238000013075 data extraction Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0868—Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0635—Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0661—Format or protocol conversion arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0674—Disk device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
- G06F12/0897—Caches characterised by their organisation or structure with two or more cache hierarchy levels
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Networks & Wireless Communication (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Unité de commande de dispositif de mémorisation (100) pour écrire des données dans un dispositif de mémorisation (300) et lire des données depuis celui-ci en réponse à des demandes d'un processeur d'informations. L'unité de commande (100) comporte : une section d'interface de communications (500) ; une section d'interface de dispositif de mémorisation (600) ; une mémoire cache (700) comportant une première mémoire (710) pour mémoriser des données circulant entre le processeur d'informations et le dispositif de mémorisation (300) ; et une section de connexion (800) pour connecter la section d'interface de communications (500), la section d'interface de dispositif de mémorisation (600) et la section de mémoire cache (700). La section de connexion (800) comporte une deuxième mémoire (820) pour mémoriser les données identiques à celles mémorisées dans la première mémoire (710).
Description
La présente invention concerne une unité de commande de dispositif de
mémorisation et un procédé de commande de celui-ci.
Une unité de commande de dispositif de mémori- sation connue est d'un type effectuant une écriture de données dans un dispositif de mémorisation et une lecture de données à partir de celui-ci en réponse aux demandes provenant d'un processeur d'informations (à titre d'exemple, se reporter au document JP-A-2000-99 281. Cette uni- té de commande de dispositif de mémorisation s'est large-ment répandue dans différents domaines utilisant des processeurs d'informations, c'est- à-dire dans des services de traitement d'informations.
La vitesse de transfert de données requise en- tre des processeurs d'informations et des unités de com- mande de dispositif de mémorisation augmente d'année en année. Pour suivre une telle augmentation de la vitesse de transfert de données, il est nécessaire que les unités de dispositif de mémorisation disposent d'un mécanisme destiné à réaliser un traitement interne efficace. A l'aide d'un tel mécanisme, un temps de réponse peut être raccourci pour des demandes provenant des processeurs d'informations et, ce gui est mieux, on peut s'attendre à une amélioration de la capacité de traitement dans toute l'unité.
En considération de ceci, un but de la présente invention consiste à fournir une unité de commande de dispositif de mémorisation et un procédé de commande de celui-ci.
Pour atteindre l'objectif ci-dessus, la pré-sente invention concerne principalement une unité de commande de dispositif de mémorisation destinée à effectuer une écriture de données dans un dispositif de mémorisation et une lecture de données à partir de celui-ci en réponse aux demandes provenant d'un processeur d'informa- tions. L'unité est structurée de manière à comporter: une section d'interface de communications pour effectuer des communications avec le processeur d'informations; une section d'interface de dispositif de mémorisation pour effectuer des communications avec le dispositif de mémorisation; une section de mémoire cache comportant une première mémoire pour mémoriser des données circulant entre le processeur d'informations et le dispositif de mémorisation; et une section de connexion pour connecter ensemble la section d'interface de communications, la section d'interface de dispositif de mémorisation et la section de mémoire cache en vue d'établir des communications entre elles. La section de connexion est munie d'une deuxième mémoire pour mémoriser des données identi- ques à celles mémorisées dans la première mémoire.
Conformément à la présente invention, dans la section de connexion connectant ensemble la section d'interface de communications, la section d'interface de dis-positif de mémorisation et la section de mémoire cache en vue d'établir des communications entre elles, la deuxième mémoire est fournie pour mémoriser des données identiques à celles mémorisées dans la première mémoire de la section de mémoire cache.
On suppose ici un cas dans lequel la section d'interface dé communications ou la section d'interface de dispositif de mémorisation (ci-dessous, ces deux sections sont collectivement appelées section d'interface) effectue un accès à la première mémoire de la section de mémoire cache pour les données et autres contenues dans celle-ci. Dans ce cas, si les données faisant l'objet d'un accès sont situées dans la deuxième mémoire de la section de connexion, la section de connexion peut renvoyer les données contenues dans la deuxième mémoire vers la section d'interface. A savoir, la deuxième mémoire de la section de connexion fonctionne en tant que cache lorsque la section d'interface effectue un accès à la première mémoire.
Conformément à la présente invention, le trafic peut être réduit entre la section de connexion et la sec- tion de mémoire cache. En outre, le temps d'accès nécessaire à la section d'interface pour accéder à la première mémoire pour des données et autres contenues dans celle-ci peut être réduit. Cela est dû au fait que, comme ceci a déjà été décrit, la section de connexion n'effec- tue pas d'accès à la section de mémoire cache qui répond à la section d'interface effectuant un accès à la deuxième mémoire pour des données et autres contenues dans celle-ci. En résultat, on s'attend à une amélioration de la capacité de traitement dans toute l'unité.
Conformément à la présente invention, une unité de commande de dispositif de mémorisation et un procédé de commande de celui-ci peuvent être fournis avec succès.
La présente invention va être mieux comprise à la lecture de la description qui va suivre faite en réfé- rence aux dessins annexés, sur lesquels: - la figure 1 est un schéma fonctionnel représentant la structure entière d'un système de mémorisation d'un mode de réalisation, la figure 2 est un schéma représentant la structure extérieure d'une unité de commande de disposi- tif de mémorisation du présent mode de réalisation, - la figure 3 est un schéma fonctionnel représentant la structure d'une unité de commande de dispositif de mémorisation du présent mode de réalisation, - la figure 4 est un schéma représentant la structure de paquet du présent mode de réalisation, - la figure 5 est un schéma montrant la manière selon laquelle un accès va être réalisé lors de communications avec la mémoire cache du présent mode de réalisa- tion, la figure 6 est un schéma montrant la manière selon laquelle un accès va être réalisé lors de communications avec la mémoire cache du présent mode de réalisation, - la figure 7 est un ordinogramme représentant un processus de lecture lors de communications avec la mémoire cache du présent mode de réalisation, - la figure 8 est un ordinogramme représentant un processus d'écriture lors de communications avec la mémoire cache du présent mode de réalisation, - la figure 9 est un ordinogramme représentant un processus de priorité dans une section de commande de commutation de trajet du présent mode de réalisation, - la figure 10 est un schéma montrant la ma- nière selon laquelle un accès va être réalisé lors de communications avec le microprocesseur spécifique du pré- sent mode de réalisation, - la figure 11 est un ordinogramme représentant le fonctionnement de l'unité de commande de dispositif de mémorisation lors de communications avec le microproces- seur spécifique du présent mode de réalisation, - la figure 12 est un ordinogramme représentant le fonctionnement de l'unité de commande de dispositif de mémorisation du présent mode de réalisation répondant à une demande de lecture provenant d'un ordinateur hôte, - la figure 13 est un ordinogramme représentant le fonctionnement de l'unité de commande de dispositif de mémorisation du présent mode de réalisation répondant à une demande d'écriture provenant de l'ordinateur hôte, - la figure 14 est un schéma montrant la manière selon laquelle un accès va être réalisé lors de communications avec l'ensemble des microprocesseurs du présent mode de réalisation, - la figure 15 est un ordinogramme représentant 35 le fonctionnement de l'unité de commande de dispositif de mémorisation lors de communications avec l'ensemble des microprocesseurs du présent mode de réalisation, - la figure 16 est un ordinogramme représentant le fonctionnement de l'unité de commande de dispositif de mémorisation du présent mode de réalisation répondant à une demande de mise à jour de programme provenant d'un terminal administratif, et - la figure 17 est un ordinogramme représentant un processus de mise à jour d'informations structurelles dans l'unité de commande de dispositif de mémorisation du présent mode de réalisation.
Structure Globale du Système de Mémorisation: La figure 1 est un schéma fonctionnel représentant la structure complète d'un système de mémorisation du présent mode de réalisation. Le système de mémorisation est structuré par une unité de commande de dispositif de mémorisation 100, des ordinateurs hôtes ("processeurs d'informations") 200 et des dispositifs de mémorisation 300.
L'unité de commande de dispositif de mémorisation 100 commande le système de mémorisation. Spécifique-ment, l'unité de commande de dispositif de mémorisation 100 est connectée aux ordinateurs hôtes 200 pour recevoir des demandes de lecture/écriture de "données" provenant des ordinateurs hôtes 200. Une pluralité de dispositifs de mémorisation 300 sont également connectés, et en réponse aux demandes d'entrée/sortie de "données" provenant des ordinateurs hôtes 200, une écriture/lecture de "don-nées" est exécutée relativement aux volumes de mémorisa- tion qui sont des ressources des dispositifs de mémorisa- tion 300.
Ici, le volume de mémorisation désigne une ressource de mémorisation incluant à la fois un volume physique et un volume logique. Le volume physique est une région de mémorisation physique fournie par le dispositif de mémorisation 300 (sur la figure 1, PVO à PV3), et le volume logique est une région de mémorisation établie de manière logique sur le volume physique (sur la figure 1, LVA et LVB).
Des communications sont effectuées entre l'uni-té de commande de dispositif de mémorisation 100 et les ordinateurs hôtes 200 conformément à un protocole de communications haute vitesse. Ce protocole peut être par exemple un protocole Fibre Canal, SCSI (Interface Système pour Petits Ordinateurs), FICON (Interconnexion Fibre), ESCONTm (Interconnexion des Systèmes d'Entreprise), ACONARC Tm Tm (Architecture d'Interconnexion Evoluée), FIBARC (Architecture d'Interconnexion Fibre), et TCP/IP (Protocole de Commande de Transmission/Protocole Internet).
En variante, les protocoles de communications décrits ci-dessus peuvent être utilisés ensemble pour des communications entre l'unité de commande de dispositif de mémorisation 100 et les ordinateurs hôtes 200. Par exemple, le protocole Fibre Canal peut être utilisé pour des communications avec un ordinateur hôte A (200), et le protocole TCP/IP peut être utilisé pour des communications avec un ordinateur hôte B (200). Lorsque l'ordinateur hôte 200 est un ordinateur central, les protocoles FICON, ESCON, ACONARC et FIBARC peuvent être utilisés.
Lorsque l'ordinateur hôte 200 est un ordinateur ouvert, les protocoles Fibre Canal, SCSI et TCP/IP peuvent être utilisés.
On note ici que la demande de lecture/écriture de "données" provenant de l'ordinateur hôte 200 peut être effectuée sur une base de bloc qui est une unité de gestion de "données" dans le volume de mémorisation, ou sur une base de fichier via une désignation de nom de fi-chier. Dans le dernier cas, l'unité de commande de dispositif de mémorisation 100 fonctionne en tant que Stockage en Réseau (NAS) réalisant un accès à un niveau de fichier à partir de l'ordinateur hôte 200.
L'ordinateur hôte 200 est un ordinateur fournissant divers services de traitement d'informations à un ordinateur client (non-représenté). Les services de trai- tement d'informations fournis sont, par exemple, des services en ligne et des services de traitement par lots. Les services en ligne incluent des services de Guichet Automatique Bancaire (ATM) et les services de navigation sur Internet,Éet les services de traitement par lots incluent des simulations expérimentales dans des domaines scientifiques et technologiques. Ici, deux bus sont fournis entre l'ordinateur hôte 200 et l'unité de commande de dispositif de mémorisation 100. Ainsi, même si un bus su- bit une défaillance, l'autre bus peut continuer à recevoir des demandes d'entrée/sortie.
Le dispositif de mémorisation 300 est celui fourni pour délivrer toute ressource de mémorisation quelconque incluant le volume physique et le volume logi- que au système de mémorisation. Des dispositifs applicables à celui-ci peuvent être des unités de disque dur (unités de disque), des dispositifs de mémorisation à semi-conducteurs et autres. Dans ce qui suit, on suppose que le dispositif de mémorisation 300 est une unité de disque.
Un terminal administratif 400 est un ordinateur chargé d'une commande de maintenance du système de mémorisation. Par exemple, le terminal administratif 400 peut effectuer un établissement de volume logique sur le dis- positif de mémorisation 300, une installation de programmes à exécuter par un microprocesseur 520 d'une section d'interface d'ordinateur hôte 500 ou par un microprocesseur 620 d'une section d'interface de disque 600. Ici, le terminal administratif 400 peut être incorporé dans le système de mémorisation ou peut être placé à un emplace- ment distant et connecté au système de mémorisation via le réseau de communications. Si tel est le cas, le terminal administratif 400 reçoit des programmes de mise à jour en provenance d'autres ordinateurs sur le réseau de communications et. installe ceux-ci dans la section d'interface d'ordinateur hôte 500 ou dans la section d'inter-face de disque 600 tel qu'approprié.
Apparence Extérieure de l'Unité de Commande de Dispositif de Mémorisation: L'unité de commande de dispositif de mémorisation 100 a une forme de boîte comme représenté sur la figure 2, et inclut une section de fixation d'unité 110. Une unité de commande de canal qui est la section d'interface d'ordinateur hôte 500, une unité de commande de disque qui est la section d'interface de disque 600, une unité de commutation de trajet qui set une section de commutation de trajet 700 et une unité de mémoire cache qui est une section de mémoire cache 700 sont fixées à cette section de fixation d'unité 110. Via la fixation de ces unités (unité de commande de canal, unité de commande de disque, unité de commutation de trajet et unité de mémoire cache) à la section de fixation d'unité 110 tel qu'approprié pour le système de mémorisation, le système de mémorisation est commandé en conséquence. Ces unités peuvent être créées par un matériel formé sur une carte de circuit imprimé ou un micrologiciel à exécuter par ce matériel.
Une section représentée sur la figure 1 délimitée par des lignes en pointillés représente la structure minimum requise pour réaliser le système de commande ou le système de réserve, les deux étant les systèmes situés du côté de l'ordinateur hôte A (200). En se reportant à la figure 3, on va décrire la section d'interface d'ordinateur hôte ("section d'interface de communications") 500, la section d'interface de disque ("section d'inter- face de dispositif de mémorisation") 600, la section de mémoire cache 700 et la section de commutation de trajet ("section de connexion") 800, chacune d'elles étant comprise dans la section représentée sur la figure 1 délimi- tée par les lignes en pointillés.
La section d'interface d'ordinateur hôte 500 est chargée des communications entre l'ordinateur hôte (BOTE) 200 et l'unité de commande de dispositif de mémorisation 100. La section d'interface d'ordinateur hôte 500 est munie d'une section de commande d'interface d'ordinateur hôte (HCTL) 510, du processeur (MPU) 520, d'une mémoire locale (LM) 530 et d'une section de commande d'accès à la mémoire (MACTL) 540.
La section de commande d'interface d'ordinateur hôte 510 est connectée à l'ordinateur hôte 200, et en fonction du protocole de communications avec l'ordinateur hôte 200, elle exécute un processus de conversion de protocole de "données" circulant entre l'ordinateur hôte 200 et l'unité de commande de dispositif de mémorisation 100.
Le microprocesseur 520 est chargé de commander entièrement le transfert de données dans la section d'interface d'ordinateur hôte 500. Pour cette commande, deux modes pouvant être sélectionnés sont disponibles. L'un est un mode synchrone dans lequel le microprocesseur 520 lit un programme de commande mémorisé dans la mémoire locale 530 en vue d'une exécution, et l'autre est un mode asynchrone dans lequel la section de commande d'accès à la mémoire 540 lit le programme de commande à partir de la mémoire locale 530 en vue d'une exécution indépendam- ment de l'opération du microprocesseur 520.
Sur la figure 3, la structure pour le mode asynchrone dans lequel le microprocesseur 520 est autorisé à accéder directement à la mémoire locale 530 est représentée en exemple. Ici, entre le microprocesseur 520 et la mémoire locale 530, une section de commande de mé- moire locale (non-représentée) peut être agencée. Si tel est le cas, la section de commande d'accès à la mémoire 540 fonctionne en tant que ce que l'on appelle un contrôleur d'Accès Direct à la Mémoire (DMA) à l'aide duquel des données dans la mémoire locale 530 et des instructions de commande provenant du microprocesseur 520 de-viennent accessibles non pas via le microprocesseur 520 mais via la section de commande de mémoire locale (non-représentée).
La section de commande d'accès à la mémoire ("section de commande d'accès") 540 commande un transfert de données vers les composants internes (c'est-à-dire une autre section d'interface d'ordinateur hôte 500, la section d'interface de disque 600, la section de mémoire ca- che 700) via la section de commutation de trajet 800. En détail, la section de commande d'accès à la mémoire 540 reçoit des "données" ou des "données de commande" en provenance de la section de commande d'interface d'ordinateur hôte 510, du microprocesseur 520 ou de la section de commande de mémoire locale (non-représentée). Sur la base des "données" ou des "données de commande" ainsi reçues, un paquet 10 (qui va être décrit ultérieurement) est créé pour un transfert de données vers les composants internes. Ici, si le paquet 10 est reçu par la section de mé- moire cache 700 et d'autres via la section de commutation de trajet 800, une extraction de données est effectuée en conséquence à partir de ce paquet 10.
La section d'interface de disque 600 est chargée des communications entre la section de commande de dispositif de mémorisation 100 et le dispositif de mémorisation 300. La section d'interface de disque 600 est munie d'une section de commande d'interface de disque (DCTL) 610, du processeur (MPU) 620, d'une mémoire locale (LM) 630 et d'une section de commande d'accès à la mé- moire (MACTL) 640.
La section de commande d'interface de disque 610 est connectée au dispositif de mémorisation 300, et subit un processus de conversion de protocole de "don-nées" circulant entre le dispositif de mémorisation 300 et l'unité de commande de dispositif de mémorisation 100. Le microprocesseur 620 commande entièrement un transfert de données dans la section d'interface de disque 600. Pour cette commande, il est possible de choisir entre un mode synchrone et un mode asynchrone pour la section d'interface d'ordinateur hôte 500.
La section de commande d'accès à la mémoire ("section de commande d'accès") 640 commande un transfert de données vers les composants internes (c'est-à-dire la section d'interface d'ordinateur hôte 500, une autre sec- tion d'interface de disque 600, la section de mémoire cache 700) via la section de commutation de trajet 800. En détail, la section de commande d'accès à la mémoire 640 reçoit des "données" ou des "données de commande" en provenance de la section de commande d'interface de disque 610, du microprocesseur 620 ou d'une section de commande de mémoire locale (non-représentée) agencée entre le microprocesseur 620 et la mémoire locale 630. Sur la base de ces "données" ou "données de commande" ainsi reçues, le paquet 10 (qui va être décrit ultérieurement) est créé pour un transfert de données vers les composants internes. Ici, si le paquet 10 est reçu par la section de mémoire cache 700 et autres via la section de commutation de trajet 800, une extraction de données est effectuée en conséquence à partir de ce paquet 10.
La section de mémoire cache 700 est munie d'une mémoire (MEM1) 710 et d'une section de commande de mémoire (MCTL) 720. Ici, la section de commande de mémoire 720 et la mémoire 710 sont mutuellement connectées via un bus interne 903.
La mémoire ("première mémoire") 710 mémorise à la fois les "données" circulant entre l'ordinateur hôte 200 et le dispositif de mémorisation 300 et les "données de commande" utilisées pour commander un transfert de données à l'intérieur de l'unité de commande de dispositif de mémorisation 100 via un bus interne 900. La mémoire 710 est représentée en exemple par une mémoire volatile telle qu'une mémoire à accès direct statique (SRAM) et une mémoire à accès direct dynamique (DRAM), par une mémoire non-volatile telle qu'une mémoire flash et une mémoire à lecture seule effaçable électriquement (EEPROM) et autres.
On note ici que les "données de commande" incluent un "microprogramme", "des informations de réper- toire de cache", "des informations de gestion de TACHE", "des informations structurelles", "des informations de défaillance" et analogue. Spécifiquement, le "microprogramme" est celui exécuté par le microprocesseur 520 de la section d'interface d'ordinateur hôte 500 et le micro- processeur 620 de la section d'interface de disque 600. Les "informations de répertoire de cache" sont celles dé-signant la mémoire spécifique (820, 721 ou 700) pour une mémorisation de données de cache. Les "informations de gestion de TACHE" sont celles nécessaires à la section d'interface d'ordinateur hôte 500 et à la section d'interface de disque 600 pour fonctionner ensemble en vue d'une exécution de processus. Les "informations de structure" sont celles indiquant la structure interne de l'unité de commande de dispositif de mémorisation 100 telles que le 'nombre et les types de la section d'inter-face d'ordinateur hôte 500 et de la section d'interface de disque 600, la capacité du dispositif de mémorisation 300 et la capacité de la mémoire (820, 721 et 700). Les "informations de défaillance" sont celles spécifiant les détails des blocages et des défaillances.
La mémoire 710 inclut des espaces d'adresse d'une région de mémorisation pour les "données" (appelée ci-dessous région de mémorisation de données) 711, et d'une région de mémorisation pour les "données de corn- mande" (appelée ci-dessous région de mémorisation de don-nées de commande) 712. Ceci signifie que la section de mémoire cache 700 fonctionne uniquement à la fois en tant que section de mémoire cache et en tant que section de mémoire partagée, lesquelles sont agencées séparément dans l'unité de commande de dispositif de mémorisation habituelle. En conséquence, l'unité de commande de dispositif de mémorisation 100 peut avoir une structure in-terne plus simple, ce qui est avantageux en termes de maintenance.
La section de commande de mémoire 720 est chargée de la commande d'accès à la région de mémorisation de données 711 ou à la région de mémorisation de données de commande 712, les deux étant contenues dans l'espace d'adresse de la mémoire 710. En outre, la section de com- mande de mémoire 720 effectue une création de paquet à partir des "données" et autres lues à partir de la mémoire 710 lors du renvoi des "données" et autres vers la section d'interface d'ordinateur hôte 500 ou la section d'interface de disque 600 via la section de commutation de trajet 800. Le résultat est le paquet 10, qui va être décrit ultérieurement.
A l'intérieur de la section de commande de mémoire 720, une mémoire (MEM3) 721 pour mémoriser les mêmes "données" et "données de commande" que dans la mé- moire 710 est agencée. Ici, la mémoire ("troisième mémoire") 721 peut être agencée sur un bus interne 902 entre la section de commutation de trajet 800 et la section de mémoire cache 700 ou sur un autre bus interne entre la section de commande de mémoire 720 et la mémoire 710 aussi longtemps qu'elle est accessible par la section de commande de mémoire 720.
Ici, dans la section de mémoire cache 700, la mémoire 721 peut fonctionner en tant que cache L1 (Niveau 1), et la mémoire 710 en tant que cache L2 (Niveau 2). En ce sens, la mémoire 721 est de manière préférée supérieure à la mémoire 710 en termes de vitesse de transfert de données.
La section de commande de mémoire 720 n'est pas nécessairement incluse si les sections de commande d'accès à la mémoire 540 et 640 sont structurées de manière à exécuter une conversion de données dans des formats de données pouvant être traités directement par la mémoire 710. Cependant, à la fois la section de commande de mé- moire 720 et la mémoire 721 permettent une construction hiérarchique du cache à trois niveaux (dans l'ordre des mémoires 820, 721 et 710) sur le trajet de communications depuis la section d'interface d'ordinateur hôte 500 ou la section d'interface de disque 600 jusqu'à la mémoire 710.
Ce développement de la profondeur de la hiérarchie de deux niveaux (mémoires 820 et 710) à trois niveaux (mémoires 820, 721 et 710) augmente de manière favorable la flexibilité pour déterminer la mémoire qui doit être utilisée pour la mémorisation de données. Cette flexibilité facilite l'agencement de données dans celle des mémoires (820, 721 ou 710) la mieux adaptée au contenu de données afin d'accroître le taux d'accès réussi au cache de l'unité de commande de dispositif de mémorisation 100 dans sa globalité.
La section de commutation de trajet 800 inclut une section de commande de commutation de trajet (SCTL) 810. La section de commande de commutation de trajet 810 connecte la section d'interface d'ordinateur hôte 500, la section d'interface de disque 600 et la section de mé- moire cache 700 ensemble en vue de communications entre elles. La section de commande de commutation de trajet 810 effectue des communications, via le paquet 10, entre la section de mémoire cache 700 et une section d'inter-face d'ordinateur hôte 500 ou une section d'interface de disque 600, ou entre toutes les sections d'interface d'ordinateur hôte 500 et toutes les sections d'interface de disque 600. Ces communications sont effectuées sur la base des attributs de communications (qui vont être décrits ci-dessous) du paquet 10 reçu par la section de commande d'accès à la mémoire 540 de la section d'inter-face d'ordinateur hôte 500, ou par la section de commande d'accès à la mémoire 640 de la section d'interface de disque 600. Ici, la section de commutation de trajet 800 est en exemple un commutateur à barres croisées haute vi- tasse destiné à établir une connexion dans un réseau en étoile entre la section d'interface d'ordinateur hôte 500, la section d'interface de disque 600 et la section de mémoire cache 700.
Le bus interne 900 est utilisé pour une connexion entre la section d'interface d'ordinateur hôte 500 et la section de commutation de trajet 800, un bus interne 901 est utilisé pour une connexion entre la section d'interface de disque 600 et la section de commutation de trajet 800, et le bus interne 902 est utilisé pour une connexion entre la section de commutation de trajet 800 et la section de mémoire cache 700. Les bus internes 900 et 901 sont tous les deux un bus de données utilisé pour le transfert des "données" et des "données de commande En conséquence, les bus internes 900 à 902 agissent tous à la fois en tant que bus interne pour un transfert de "données" et en tant que bus interne pour un transfert de "données de commande". Cette conception offre plus de place pour le câblage que celle dans laquelle ces deux bus internes sont indépendamment agencés. De cette manière, une diaphonie entre des câbles et d'autres phénomènes peuvent être évités avec succès, permettant ainsi un transfert de données à haute vitesse. De plus, une extension de bus de données est facilitée suite à l'addition des sections d'interface et d'une logique de commande. De manière similaire à la mémoire 721, la section de commande de
commutation de bus ("section de commande") 810 est munie d'une mémoire (MEM2) 820 pour mémoriser les mêmes "données" et "données de commande" que dans la mémoire 710. Ici, la mémoire ("deuxième mémoire") 820 peut être agencée sur le bus interne 900 entre la section d'interface d'ordinateur hôte 500 et la section de commutation de trajet 800, sur le bus interne 901 entre la section d'interface de disque 600 et la section de commutation de trajet 800, ou sur le bus interne 902 entre la section de commutation de trajet 800 et la section de mémoire cache 700 aussi longtemps qu'elle est accessible par la section de commande de commutation de trajet 810.
Lorsque la section d'interface d'ordinateur hôte 500 ou la section d'interface de disque 600 effectue un accès à la mémoire 710, la mémoire 820 peut fonctionner en tant que cache de niveau supérieur (hiérarchie) à la mémoire 721 ou 710. A savoir, dans l'unité de commande de dispositif de mémorisation 100, la mémoire 820 peut fonctionner en tant que cache L1 (Niveau 1), la mémoire 721 en tant que cache L2 (Niveau 2), et la mémoire 710 en tant que cache L3 (Niveau 3). Si la section de mémoire cache 700 n'inclut pas la mémoire 721, la mémoire 820 fonctionne en tant que cache L1 et la mémoire 710 en tant que cache L2. Au vu de ce qui précède, la mémoire 820 est de manière préférée supérieure aux mémoires 721 et 710 en termes de vitesse de transfert de données.
En tant que tel, ceci est considéré avantageux par la section de commande de commutation de trajet 810 de la section de commutation de trajet 800 incluant la mémoire 820. Spécifiquement, lorsque la section d'inter-face d'ordinateur hôte 500 ou la section d'interface de disque 600 effectue un accès à la mémoire 710 de la sec- tion de mémoire cache 700 pour des "données" et autres contenues dans celle-ci, si la mémoire 820 de la section de commande de commutation de trajet 810 contient les données faisant l'objet d'un accès, la section de commutation de trajet 800 peut renvoyer les "données" et au- tres mémorisées dans la section de commutation de trajet 800 ou la mémoire 820 à la section d'interface d'ordinateur hôte 500 ou à la section d'interface de disque 600. Cela réduit de manière favorable le trafic entre la section de commutation de trajet 800 et la section de mé- moire cache 700.
En outre, lorsque la section d'interface d'ordinateur hôte 500 ou la section d'interface de disque 600 effectue un accès à la mémoire 710 pour des "données" et autres contenues dans celle-ci, la section de commutation de trajet 800 n'effectue pas d'accès à la section de mémoire cache 700 comme décrit dans ce qui précède. En conséquence, cela raccourcit le temps d'accès nécessaire à la section d'interface d'ordinateur hôte 500 ou à la section d'interface de disque 600 pour effectuer un accès à la mémoire 710 pour les "données" et autres mémorisées dans celle-ci, conduisant avec succès à une amélioration accrue de la capacité de traitement dans toute l'unité.
En se reportant à la figure 4, on va décrire le format du paquet 10 à créer dans les sections de commande d'accès à la mémoire 540 et 640.
Le paquet 10 est structuré en ajoutant une section d'en-tête 11 à une section de données 12, laquelle inclut les "données" réelles ou les "données de commande" et un "code de contrôle" pour une détection d'erreur ou une correction d'erreur dans le paquet 10.
La section d'en-tête 11 est structurée par "l'identifiant de l'expéditeur", "l'identifiant du destinataire", "un attribut de communications", "des informations d'accès/d'adresse", "une longueur des données" et autres. Spécifiquement, "l'identifiant de l'expéditeur" est celui alloué à la section d'interface d'ordinateur hôte 500 ou à la section d'interface de disque 600 qui est l'expéditeur du paquet 10, "l'identifiant du destina-taire" est celui alloué à la section d'interface d'ordi- nateur hôte 500, à la section d'interface de disque 600 ou à la section de mémoire cache 700 qui est la destination (le noeud) du paquet 10, "les informations d'accès/d'adresse" sont des informations concernant le destinataire du paquet 10, et la "longueur des données" est utilisée pour accéder au destinataire du paquet 10.
"L'identifiant de l'expéditeur" est disponible pour chaque section d'interface d'ordinateur hôte 500 et chaque section d'interface de disque 600. "L'attribut de communications" inclut des "informations sur le type de données", "des informations indiquant un premier accès/aucun accès", "des informations indiquant un second accès/aucun accès", "des informations de noeud" ("informations d'adresse"), et des "informations de priorité". Spécifiquement, les "informations sur le type de données" sont utilisées pour déterminer si le paquet 10 est destiné aux "données" ou aux "données de commande". Les "in-formations indiquant un premier accès/aucun accès" sont utilisées pour indiquer s'il faut ou non effectuer un accès à la mémoire 820 de la section de commutation de tra- jet 800, et les "informations indiquant un second accès/aucun accès" sont utilisées pour indiquer s'il faut ou non effectuer un accès à la mémoire 721 de la section de commande de mémoire 720. Les "informations relatives au noeud" sont utilisées pour désigner la section de mé- moire cache 700, la section d'interface spécifique (500 ou 600), ou chaque section d'interface (500 et 600) en tant que noeud cible du paquet 10. Les "informations de priorité" sont utilisées pour désigner la priorité de processus dans la section de commutation de trajet 800.
Détails des Communications Traitées par la Section de Commutation de Trajet: Sur la base des attributs de communications du paquet 10 reçus par la section d'interface d'ordinateur hôte 500 ou la section d'interface de disque 600, la sec- tion de commutation de trajet 800 effectue des communications avec la section de mémoire cache 700 (appelées ci-dessous communications avec la mémoire cache), des communications avec tout microprocesseur spécifié 520 ou 620 (communications avec un microprocesseur spécifique), ou des communications avec chaque microprocesseur 520 et 620 (communications avec tous les microprocesseurs). Ci-dessous, chaque communication est brièvement décrite en se reportant aux dessins annexés.
Les communications avec la mémoire cache sont principalement effectuées lorsque le microprocesseur 520 ou 620 (appelé ci-dessous microprocesseur maître) de la section d'interface d'ordinateur hôte 500 ou de la section d'interface de disque 600 (section d'interface maître) extrait les "données de commande" telles que des in- formations de répertoire de cache et des programmes de mise à jour mémorisés dans la mémoire 710 (région de mémorisation de données de commande 712) de la section de mémoire cache 700, ou met à jour les "données de commande". La figure 5 est un schéma montrant la manière se- lon laquelle un accès va être réalisé à cet instant.
Les communications avec la mémoire cache incluent un cas dans lequel l'unité de commande de dispositif de mémorisation 100 effectue un accès à la mémoire 710 (région de mémorisation de données 711) de la section de mémoire cache 700 contenant les mêmes "données" que le dispositif de mémorisation 300 en réponse à une demande d'écriture de "données" dans l'ordinateur hôte 200 ou à une demande de lecture de "données" à partir de celui-ci dans le dispositif de mémorisation 300. La figure 6 est un schéma montrant la manière selon laquelle un accès va être réalisé à cet instant.
Ici, dans les communications de mémoire cache, si un accès est requis depuis la section d'interface maître 500 ou 600 jusqu'à la section de mémoire cache 700 (mémoire 710), les bus internes 900 à 903 doivent être tous utilisés. Par conséquent, l'accroissement de l'efficacité d'utilisation des bus internes 900 à 903 conduit de manière favorable à accroître l'efficacité d'accès des communications de mémoire cache, et de plus, conduit à une meilleure capacité de traitement de l'unité de commande de dispositif de mémorisation 100 dans sa globalité.
Au vu de ce qui précède, la présente invention inclut un le mécanisme consistant à accroître l'efficaci- té d'utilisation des bus internes 900 à 903 dans divers processus (processus de lecture, processus d'écriture et processus de priorité) décrits ci-dessous.
La figure 7 est un ordinogramme représentant un processus de lecture lors de communications avec une mé- moire cache. On décrit ci-dessous un processus à exécuter lorsqu'une demande est émise dans la section d'interface maître 500 ou 600 pour lire les "données de commande" mémorisées dans la mémoire 710 de la section de mémoire cache 700. Ici, si la demande émise dans la section d'in- terface maître 500 ou 600 est une demande destinée à lire les "données" mémorisées dans la mémoire cache 710 de la section de mémoire cache 700, le processus à exécuter est le même que dans le cas ci-dessus. Ainsi, la description ne va pas être répétée.
Tout d'abord, après une conversion en paquet 10 d'une demande destinée à la section de mémoire cache 700 pour lire les "données de commande" (par exemple des in-formations de répertoire de cache), le microprocesseur maître 520 Ou 620 de la section d'interface maître 500 ou 600 transmet le résultat à la section de commutation de trajet 800 via le trajet intérieur 900 ou 901 (étape S700). En réponse à la demande de lecture reçue par la section d'interface maître 500 ou 600, la section de corn- mande de commutation de trajet 810 de la section de commutation de trajet 800 analyse l'attribut de communications "d'informations de noeud" inclus dans la demande de lecture pour déterminer que les communications sont des communications avec la mémoire cache (étape S701). La section de commande de commutation de trajet 810 analyse également l'attribut de communications "d'informations indiquant un premier accès/aucun accès" dans la demande de lecture reçue pour déterminer s'il faut ou non effectuer un accès à la mémoire 820 de la section de commuta- tion de trajet 800 (étape S702).
Ici, s'il est déterminé d'effectuer un accès à la mémoire 820 (OUI à l'étape S702), la section de commande de commutation de trajet 810 contrôle si un accès réussi au cache est survenu, c'est-à-dire si les "données de commande" correspondant à la demande de lecture reçue sont ou non mémorisées en lisant des informations de référence de cache mémorisées dans la mémoire 820, par exemple (étape 5703). Si un accès réussi au cache est survenu (OUI à l'étape S704), la section de commande de commutation de trajet 810 renvoie ainsi des "données de commande" d'accès réussi à la section d'interface maître 500 ou 600 qui est l'expéditeur de la demande de lecture via le bus interne 900 ou 901 (étape S705). Ensuite, la section d'interface maître 500 ou 600 reçoit les "données de commande" en provenance de la section de commutation de trajet 800 (étape 5706).
S'il est déterminé qu'aucun accès à la mémoire 820 n'est effectué (NON à l'étape 5702) ou si aucun accès réussi au cache n'est survenu (NON à l'étape S704), la section de commande de commutation de trajet 810 transmet la demande de lecture reçue par la section d'interface maître 500 ou 600 à la section de mémoire cache 700 via le bus interne 902. La section de commande de mémoire 720 de la section de mémoire cache 700 analyse ensuite l'attribut de communications "d'informations indiquant un second accès/aucun accès) dans la demande de lecture ainsi reçue pour déterminer s'il faut ou non effectuer un accès à la mémoire 721 dans la section de commande de mémoire 720 (étape S708).
S'il est déterminé qu'un accès à la mémoire 721 est effectué (OUI à l'étape 5708), la section de commande de mémoire 720 contrôle si un accès réussi au cache est survenu, c'est-à-dire si les "données de commande" cor- respondant à la demande de lecture reçue sont mémorisées dans la mémoire 721 (étape 5709). Si l'accès réussi au cache est survenu (OUI à l'étape S710), la section de commande de mémoire 720 renvoie des "données de commande" d'accès réussi à la section d'interface maître 500 ou 600 via le bus interne 902, la section de commutation de trajet 800 et le bus interne 900 ou 901 {étape S711).
S'il est déterminé qu'aucun accès à la mémoire 721 n'est effectué (NON à l'étape 5708) ou si aucun accès réussi au cache n'est survenu (NON à l'étape S710), la section de commande de mémoire 720 lit les "données de commande" correspondant à la demande de lecture ainsi reçue par la mémoire 710 (région de mémorisation de données de commande 712) (étape S712). Ensuite, les "données de commande" obtenues en résultat sont renvoyées à la sec- tion d'interface maître 500 ou 600 via la section de com- mande de mémoire 720, le bus interne 902, la section de commutation de trajet 800 et le bus interne 900 ou 901 (étape S713).
En tant que tel, lorsque la section d'interface maître 500 ou 600 effectue un accès à la mémoire 710 de la section de mémoire cache 700 pour les "données" ou "données de commande" mémorisées dans celle-ci, la section de commutation de trajet 800 peut renvoyer ces don-nées à la section d'interface maître 500 ou 600 si elles sont trouvées dans la mémoire 820 de la section de commande de commutation de trajet 810. Cela réduit de manière favorable le trafic sur les bus internes 902 et 903 entre la section de commutation de trajet 800 et la section de mémoire cache 700.
Les "données" ou "données de commande" faisant l'objet d'un accès ne sont pas nécessairement contenues dans la mémoire 820 de la section de commande de commutation de trajet 810, mais peuvent être contenues dans la mémoire 721 de la section de commande de mémoire 720 pour permettre à la section de commande de mémoire 720 de renvoyer les "données" ou les "données de commande" mémorisées dans la mémoire 721 à la section d'interface maître 500 ou 600. Cela réduit avec succès le trafic sur le bus interne 903 entre la section de commande de mémoire 720 et la mémoire 710.
Comme cela est connu d'après ce qui précède, conformément à la présente invention, l'efficacité d'utilisation des bus internes 900 à 903 peut être augmentée, ce qui conduit à une meilleure capacité de traitement dans l'unité de commande de dispositif de mémorisation 100.
La figure 8 est un ordinogramme représentant un processus d'écriture lors de communications avec la mémoire cache. On va décrire ci-dessous un processus à exé- cuter lorsqu'une demande d'écriture est émise dans la section d'interface maître 500 ou 600 à destination de la mémoire 710 de la section de mémoire cache 700. Dans ce qui va suivre, même si le mode d'écriture immédiate est appliqué en exemple, le mode d'écriture différée peut également être appliqué.
Tout d'abord, après la conversion d'une demande d'écriture pour la section de mémoire cache 700 et des données d'écriture en paquet 10, le microprocesseur maître 520 ou 620 de la section d'interface maître 500 ou 600 transmet le résultat à la section de commutation de trajet 800 via le trajet intérieur 900 Ou 901 (étape S800). En réponse à la demande d'écriture reçue par la section d'interface maître 500 ou 600, la section de commande de commutation de trajet 810 de la section de corn- mutation de trajet 800 analyse l'attribut de communications "d'informations de noeud" inclus dans la demande d'écriture pour déterminer que les communications sont des communications avec la mémoire cache (étape S801). La section de commande de commutation de trajet 810 analyse également l'attribut de communications des "informations indiquant un premier accès/aucun accès" dans la demande d'écriture reçue pour déterminer s'il faut ou non effectuer un accès à la mémoire 820 de la section de commutation de trajet 800 (étape S802).
Ici, s'il est déterminé qu'un accès à la mémoire 820 est effectué (OUI à l'étape S802), la section de commande de commutation de trajet 810 écrit, dans la mémoire 820, les données d'écriture reçues par la section d'interface maître 500 ou 600 conjointement avec la de- mande d'écriture (étape S803). Ensuite, la section de commande de commutation de trajet 810 transmet la demande d'écriture et les données d'écriture ainsi reçues à la section de mémoire cache 700 via le bus interne 902 (étape S804). Ici, même s'il est déterminé qu'aucun accès à la mémoire 820 n'est effectué (NON à l'étape S802), la section de commande de commutation de trajet 810 transmet la demande d'écriture et les données d'écriture ainsi reçues à la section de mémoire cache 700 via le bus interne 902 (étape S904).
La section de commande de mémoire 720 de la section de mémoire cache 700 analyse l'attribut de communications des "informations indiquant un second accès/aucun accès" inclus dans la demande d'écriture reçue par la section de commutation de trajet 800 pour détermi- ner s'il faut ou non effectuer un accès à la mémoire 721 de la section de commande de mémoire 720 (étape S905). Ici, s'il est déterminé qu'un accès à la mémoire 721 est effectué (OUI à l'étape S905), la section de commande de mémoire 720 écrit, dans la mémoire 820, les données d'écriture reçues conjointement avec la demande d'écriture par la section de commutation de trajet 800 (étape S906). Dans la mémoire 710, les mêmes données d'écriture sont également écrites (étape S907).
S'il est déterminé qu'aucun accès n'est effec- tué dans la mémoire 820 (NON à l'étape S905), la section de commande de mémoire 720 écrit les données d'écriture uniquement dans la mémoire 710 (étape S907).
En réponse à l'achèvement du processus d'écriture, la section de commande de mémoire 720 renvoie un "avis de fin d'écriture" à la section d'interface maître 500 Ou 600 via la section de commutation de trajet 800 et le bus interne 900 ou 901 (étape S908). Cet avis notifie à la section d'interface maître 500 ou 600 que la demande d'écriture est complètement terminée (étape S809).
En tant que tel, cela permet un agencement flexible des données d'écriture dans au moins l'une quel-conque des mémoires (820, 721 et 710) pour la section d'interface maître 500 ou 600 via la section de commande de commutation de trajet 810 de la section de commutation de trajet 800 et la section de commande de mémoire 720 de la section de mémoire cache 700. Ce mécanisme de processus d'écriture place les données d'écriture dans n'importe quelle mémoire appropriée (820, 721 et 710) en fonction des spécificités des données, par exemple, une fréquence de référence, une fréquence de mise à jour, une taille de données. Par exemple, les "données" supérieures en termes de fréquence de référence en provenance de la section d'interface maître 500 ou 600 peuvent être placées dans la mémoire 820 de la section de commutation de trajet 800. En conséquence, le taux d'accès réussi au cache peut être augmenté dans l'unité de commande de dispositif de mémorisation 100, conduisant en outre à une meilleure efficacité d'utilisation des bus internes 900 à 903, et à une meilleure capacité de traitement de l'unité de commande de dispositif de mémorisation 100 dans sa globalité.
La figure 9 est un ordinogramme représentant un processus de priorité dans la section de commande de commutation de trajet 810.
Tout d'abord, concernant une demande d'accès A à la section de mémoire cache 700, la section d'interface maître 500 ou 600 crée le paquet 10 dans lequel l'attribut de communications "d'informations de priorité" représente une "priorité A", et le paquet obtenu en résultat est transmis à la section de commutation de trajet 800 (étape S900). De manière similaire, concernant une autre demande d'accès B à la section de mémoire cache 700, le paquet 10 dans lequel l'attribut de communications "d'in-formations de priorité" représente une "priorité B" est créé pour une transmission à la section de commutation de trajet 800 (étape S901).
La section de commande de commutation de trajet 801 de la section de commutation de trajet 800 détermine laquelle parmi les demandes d'accès A et B reçues par la section d'interface maître 500 ou 600 a une priorité su- périeure (étape S902). Si la priorité A de la demande d'accès A est supérieure à la priorité B de la demande d'accès B (OUI à l'étape 5903), la demande d'accès A est traitée avant la demande d'accès B (étape 5904). D'autre part, si la priorité B de la demande d'accès B est supérieure à la priorité A de la demande d'accès A (NON à l'étape S903), la demande d'accès B est traitée avant la demande d'accès A (étape S905).
En tant que tel, la description ci-dessus cor-
respond au résumé du processus de priorité exécuté par la section de commande de commutation de trajet 810 répondant à une pluralité de demandes d'accès reçues par la section d'interface maître 500 ou 600. Dans la présente invention, en utilisant ce mécanisme, le processus pour les "données de commande" peut être établi de manière à être supérieur en termes de priorité au processus pour les "données", par exemple. A l'aide de cet établisse-ment, le processus de "données" sur une base de "secteur (512 Octets)" a la priorité sur le processus de "données de commande" sur la base d'environ "4 à 6 Octets", de sorte que les bus internes 900 à 903 ne vont pas être occupés longtemps avec un "processus de données". A savoir, l'attente du processus de "données de commande" ne va pas être longue.
Les communications avec un microprocesseur spécifique sont effectuées spécifiquement entre le microprocesseur maître 520 ou 620 et le microprocesseur 520 ou 620 qui est un esclave (appelé ci-dessous microprocesseur esclave). On considère ici un cas en exemple dans lequel le microprocesseur 520 (microprocesseur maître) de la section d'interface d'ordinateur hôte 500 effectue une demande spécifiquement au microprocesseur 620 (microprocesseur esclave) de la section d'interface de disque spécifique 600 pour un processus d'écriture dans le disposi- tif de mémorisation 300 ou de lecture à partir de ce- lui-ci, ou une réponse est donnée à partir du microprocesseur 620 (microprocesseur esclave) de la section d'interface de disque 600 au microprocesseur 520 (microprocesseur maître) de la section d'interface d'ordinateur hôte 500. La figure 10 est un schéma montrant la manière selon laquelle un accès va être réalisé à cet instant.
En utilisant l'ordinogramme représenté sur la figure 11, on va décrire le fonctionnement de l'unité de commande de dispositif de mémorisation 100 lors de commu- nications avec le microprocesseur spécifique.
Tout d'abord, après une conversion en paquet 10, de la demande de transmission des "données de commande" au microprocesseur esclave 520 ou 620 et des "don-nées de commande", le microprocesseur maître 520 ou 620 transmet en conséquence le résultat de conversion à la section de commutation 800 via le trajet interne 900 ou 901 (étape S1100). Ici, l'attribut de communications ("informations de noeud") du paquet 10 est établi à "communications avec le microprocesseur spécifique". Ainsi, la section de commande de commutation de trajet 810 de la section de commutation de trajet 800 analyse l'attribut de communications des "informations de noeud" inclus dans la demande reçue par le microprocesseur maître 520 ou 620 pour constater que les communications sont des communica- tions avec le microprocesseur spécifique (étape 51101).
La section de commande de commutation de trajet 801 détecte le motif d'utilisation du bus interne 900 Ou 901 à l'aide d'un cadencement approprié (étape S1102). Si le résultat de détection indique que le bus interne 900 ou 901 correspondant à la demande reçue est déjà utilisé (OUI à l'étape S1103), la section de commande de commutation de trajet 810 mémorise temporairement dans la mémoire 820 les "données de commande" reçues conjointement à la demande (étape 51104). Lorsque le bus interne 900 ou 901 jusqu'ici utilisé (OUI à l'étape 51103) devient va- cant (NON à l'étape S1103), la section de commande de commutation de trajet 810 lit les "données de commande" qui ont été temporairement mémorisées dans la mémoire 820 pour reprendre le processus à l'étape S1105 et suivantes.
La mémoire 820 de la section de commutation de trajet 800 fonctionne à la fois en tant que tampon et que mémoire cache par rapport aux mémoires 710 et 721. A l'aide de cette fonction de tampon, si le bus interne 900 ou 901 entre la section de commutation de trajet 800 et le microprocesseur maître 520 ou 620 qui est le destina-taire, le microprocesseur maître 520 ou 620 n'a plus besoin de transmettre à nouveau les "données de commande" et autres à la section de commutation de trajet 800. En conséquence, ceci réduit la charge imposée sur le micro- processeur maître 520 ou 620, ce qui aboutit à moins de trafic sur le bus interne 900 ou 901.
Ensuite, si le bus interne 900 ou 901 correspondant à la demande reçue est vacant (NON à l'étape S1103), la section de commande de commutation de trajet 810 détermine si une durée prédéterminée s'est écoulée entre une réception de demande et une exécution (étape S1105). Si la durée prédéterminée ne s'est pas encore écoulée (OUI à l'étape S1105), la section de commande de commutation de trajet 810 transmet les "données de corn- mande" reçues conjointement avec la demande au microprocesseur esclave 520 ou 620 via le bus interne 900 ou 901 (étape S1106).
Ensuite, le microprocesseur esclave 520 ou 620 subit un processus prédéterminé tel qu'un contrôle de toute erreur de données quelconque dans les "données de commande" reçues par la section de commutation de trajet 800 via le bus interne 902, et effectue une écriture dans la mémoire locale 530 ou 630. Si les "données de commande" ne contiennent pas d'erreur de données et si le processus prédéterminé a été normalement exécuté, le mi- croprocesseur esclave 520 ou 620 transmet un "avis normal" au microprocesseur maître 520 ou 620 via la section de commutation de trajet 800 (étape S1110). Ici, si les "données de commande" contiennent certaines erreurs de données ou si le processus prédéterminé n'a pas été normalement exécuté, un "avis anormal" est transmis au microprocesseur maître 520 ou 620 via la section de commutation de trajet 800 (étape S1110).
Si la durée prédéterminée s'est déjà écoulée (NON à l'étape 51105), la section de commande de commutation de trajet 810 renvoie un "avis de dépassement de temps de transmission imparti" au microprocesseur maître 520 ou 620 (étape S1107). A la réception de "l'avis de dépassement de temps de transmission imparti" ou de "l'avis anormal" en provenance du microprocesseur esclave 520 ou 620, le microprocesseur maître 520 ou 620 accuse réception que les communications courantes ne se déroule-ment pas correctement (étape S1108). "L'avis normal" pro-venant du microprocesseur esclave 520 ou 620 indique au microprocesseur maître 520 ou 620 que les communications courantes se déroulement correctement (étape 51111).
Les communications avec l'ensemble des micro-processeurs sont effectuées entre le microprocesseur maître 520 ou 620 et chaque microprocesseur esclave 520 ou 620 qui n'est pas le microprocesseur maître 520 ou 620. Par exemple, pour une synchronisation de processus dans chaque microprocesseur 520 ou 620, la section d'interface maître 500 ou 600 transmet les "données de commande" à chaque microprocesseur esclave 520 ou 620. Ici, les "données de commande" incluent des "informations de structure d'unité" et des"informations de défaillance", les deux étant celles détectées par la section d'interface maître 500 ou 600. La figure 12 est un schéma montrant la manière selon laquelle un accès va être réalisé à cet ins- tant.
En se reportant à l'ordinogramme représenté sur la figure 13, on va maintenant décrire le fonctionnement de l'unité de commande de dispositif de mémorisation 100 lors des communications avec l'ensemble des microproces- saurs.
Tout d'abord, lorsque le paquet 10 est créé dans la section de commande d'accès à la mémoire 540 ou 640 de la section d'interface maître 500 ou 600, l'attribut de communications des "informations de noeud" du pa- guet 10 est établi à "communications avec l'ensemble des microprocesseurs ". En résultat, la section de commande de commutation de trajet 810 de la section de commutation de trajet 800 analyse l'attribut de communications des "informations de noeud" inclus dans la demande reçue par le microprocesseur maître 520 ou 620 (étape S1300) pour constater que les communications sont des communications avec l'ensemble des microprocesseurs (étape S1301).
La section de commande de commutation de trajet 810 détecte le motif d'utilisation des bus internes 900 et 901 (étape 51302). Si le résultat de détection indique que les bus internes 900 et 901 sont déjà en utilisation (OUI à l'étape 51302), les "données de commande" reçues conjointement avec la demande sont temporairement mémorisées dans la mémoire 820 (étape S1304). Lorsque le bus interne 900 ou 901 devient vacant (NON à l'étape 81303), la section de commande de commutation de trajet 810 lit les "données de commande" ayant été temporairement mémo- risées dans la mémoire 820 pour reprendre le processus à l'étape S1350 et suivantes.
Si les bus internes 900 et 901 sont tous les deux vacants (-NON à l'étape 51303), et si la durée prédéterminée n'est pas encore écoulée jusqu'à ce que la de-mande soit exécutée (OUI à l'étape 51305), la section de commande de commutation de trajet 810 effectue toutes les transmissions parallèles en une seule fois pour un trans- fert efficace des "données de commande" reçues conjointe-ment avec chaque demande dans le microprocesseur esclave 520 ou 620 via le bus interne 900 ou 901 (étape 51306). D'autre part, si la durée prédéterminée s'est écoulée (NON à l'étape S1305), la section de commande de commutation de trajet 810 renvoie un "avis de dépassement de temps de transmission imparti" au microprocesseur maître 520 ou 620 (étape S1307).
Ici, les processus (étapes 51309 et 51310) dans le microprocesseur esclave 520 ou 620 après la réception des "données de commande" en provenance de la section de commutation de trajet 800 sont les mêmes que ceux (étapes 51109 et 51110) exécutés pour les communications avec un microprocesseur spécifique. A savoir, à la réception de "l'avis de dépassement de temps de transmission imparti" ou de "l'avis anormal" provenant du microprocesseur es-clave 520 ou 620, le microprocesseur maître 520 ou 620 accuse réception que les communications courantes ne se déroulement pas correctement (étape 51308). "L'avis nor- mal" provenant du microprocesseur esclave 520 ou 620 indique au microprocesseur maître 520 ou 620 que les communications courantes se déroulent correctement (étape S1311).
Fonctionnement de l'Unité de Commande de Dispositif de Mémorisation (Exemple Spécifique) : On va décrire ci-dessous le fonctionnement spécifique de l'unité de commande de dispositif de mémorisation 100 incluant au moins l'une parmi des communications avec la mémoire cache, des communications avec un micro- processeur spécifique, et des communications avec l'en-semble des microprocesseurs traitées par la section de commutation de trajet 800 à l'aide de certains cas en exemple.
On va décrire ci-dessous un exemple spécifique incluant à la fois des communications avec la mémoire ca- che et des communications avec un microprocesseur spécifique. Dans un cas où la section de mémoire cache 700 et autres ne mémorisent aucune "donnée" correspondant à une demande de lecture provenant de la section d'interface d'ordinateur hôte 500, c'est-à-dire lorsqu'un échec d'accès au cache survient, on va décrire le processus consistant à renvoyer les "données" lues à partir du dispositif de mémorisation 300 à l'ordinateur hôte 200 via le processus exécuté par la section d'interface d'ordinateur hôte 500 (microprocesseur 520) et la section d'interface de disque 600 (microprocesseur 620) en coopération.
Ce processus de coopération peut être classé en trois processus: un processus consistant à recevoir et à acheminer des informations de gestion de TACHE ("données de commande") pour amener la section d'interface d'ordinateur hôte 500 et la section d'interface de disque 600 à fonctionner en coopération; un processus consistant à notifier à la section d'interface d'ordinateur hôte 500 qu'une écriture dans la section de mémoire cache 700 est terminée après que la section d'interface de disque 600 ait lu les "données" à partir du dispositif de mémorisation 300; et, après que la section d'interface d'ordinateur hôte 500 ait reçu l'avis, un processus consistant à lire les "données" ainsi écrites dans la section de mé- moire cache 700 en vue d'un transfert vers l'ordinateur hôte 200.
Tout d'abord, en se reportant à l'ordinogramme représenté sur la figure 12, on va décrire le processus consistant à recevoir et à acheminer les informations de gestion de TACHE entre la section d'interface d'ordinateur hôte 500 et la section d'interface de disque 600. On suppose ici que, à la réception de la demande de lecture pour le dispositif de mémorisation 300 à partir de l'ordinateur hôte 200, la section d'interface d'ordinateur hôte 500 accuse réception d'un échec d'accès au cache en lisant des informations de répertoire de cache à partir de la mémoire 710 (région de mémorisation de données de commande 712) de la section de mémoire cache 700.
Après la lecture des informations de gestion de TACHE à partir de la mémoire locale 530, le microprocesseur 520 de la section d'interface d'ordinateur hôte 500 émet une demande pour écrire des informations de gestion de TACHE dans la mémoire 820 de la section de commutation de trajet 800 (étape S1201). Ici, des informations de gestion de TACHE sont des informations de paramètre utilisées à la fois par la section d'interface d'ordinateur hôte 500 et la section d'interface de disque 600 dans le processus de coopération entre elles telles que des "in-formations d'adresse de disque" lors de l'accès au dispo- sitif de mémorisation 300, "des informations d'adresse de mémoire" lors de l'accès à la mémoire 710 de la section de mémoire cache 700, et la taille des "données" au ni-veau des accès respectifs.
Après avoir reçu la demande d'écriture, la sec- tion de commande d'accès à la mémoire 540 de la section d'interface d'ordinateur hôte 500 crée le paquet 10 pour chacune des demandes d'écriture et des informations de gestion de TACHE. Ensuite, les résultats sont envoyés à la section de commutation de trajet 800 via le bus in- terne 900 (étape S1202). Ici, l'attribut de communications "d'informations indiquant un premier accès/aucun accès" des paquets obtenus en résultat 10 est établi de manière à accéder à la mémoire 820 de la section de commutation de trajet 800. Par conséquent, la section de commande de commutation de trajet 810 de la section de commutation de trajet 800 écrit en conséquence les informations de gestion de TACHE reçues par la section de commande d'accès à la mémoire 540 dans la mémoire 820 (étape S1203).
D'autre part, le microprocesseur 520 de la section d'interface d'ordinateur hôte 500 émet une demande d'interruption dans toute section d'interface de disque spécifique 600 pour recevoir des informations de gestion de TACHE en provenance de ceux-ci et envoyer des informations de gestion de TACHE à ceux-ci (étape S1204). En réponse à la demande d'interruption, la section de commande d'accès à la mémoire 540 de la section d'interface d'ordinateur hôte 500 crée le paquet 10 pour la demande d'in- terruption en vue d'une transmission à la section de commutation de trajet 800 via le bus interne 900 (étape S1205). Ici, l'attribut de communications "d'informations de noeud" du paquet 10 ainsi créé est établi à "communications avec un microprocesseur spécifique". A savoir, à la réception de la demande d'interruption provenant de la section de commande d'accès à la mémoire 540, la section de commande de commutation de trajet 810 de la section de commutation de trajet 800 comprend qu'il s'agit des communications avec un microprocesseur spécifique. Ensuite, la demande d'interruption est envoyée à la section d'interface de disque 600 via le bus interne 901 (étape S1206).
La section de commande d'accès à la mémoire 640 de la section d'interface de disque 600 génère une inter- ruption dans le microprocesseur 620 lorsqu'elle reçoit la demande d'interruption provenant de la section de commutation de trajet 800 (étape S1207). En résultat, le microprocesseur 620 comprend que la section d'interface d'ordinateur hôte 500 a émis une demande de récep- tion/d'envoi des informations de gestion de TACHE. En-suite, le microprocesseur 620 émet une demande destinée à lire les informations de gestion de TACHE mémorisées dans la mémoire 820 de la section de commutation de trajet 800 (étape S1208).
Après avoir reçu la demande de lecture, la section de commande d'accès à la mémoire 640 de la section d'interface de disque 600 crée le paquet 10 pour la de-mande de lecture en vue d'une transmission à la section de commutation de trajet 800 via le bus interne 902 (étape S1209). La section de commande de commutation de trajet 810 de la section de commutation de bus 800 lit les informations de gestion de TACHE mémorisées dans la mémoire 820 (étape S1210), et renvoie les informations à la section de commutation de trajet 800 via le bus in-terne 902 (étape S1211).
21 s'agit de la fin de la réception et de l'envoi des informations de gestion de tâche entre la section d'interface d'ordinateur hôte 500 et la section d'inter- face de disque 600. En se reportant à l'ordinogramme (dans le bloc A) représenté sur la figure 15, on va décrire un processus de notification, dans lequel après la réception et l'envoi des informations de gestion de tâche, la section d'interface de disque 600 lit les "don- nées" à partir dû dispositif de mémorisation 300, et notifie à la section d'interface d'ordinateur hôte 500 que les "données" sont maintenant mémorisées dans la section de mémoire cache 700.
Tout d'abord, le microprocesseur 620 de la sec- tion d'interface de disque 600 établit la section de commande d'interface de disque 610 à l'aide d'un paramètre pour un transfert d'accès direct à la mémoire sur la base des informations de gestion de TACHE et émet une demande d'initialisation pour un transfert d'accès direct à la mémoire (étape S1501). Après avoir reçu la demande, la section de commande d'interface de disque 610 émet une demande au dispositif de mémorisation 300 pour lire les "données" (étape S1502), et lit ensuite les "données" correspondant à la demande de lecture à partir du dispo- sitif de mémorisation 300 (étape S1503).
Les "données" ainsi lues à partir du dispositif de mémorisation 300 sont soumises à un transfert d'accès direct à la mémoire vers la section de commande d'accès à la mémoire 640 {étape S1504).
Ensuite, la section de commande d'accès à la mémoire 640 crée le paquet 10 pour la demande d'écriture et les "données" d'écriture pour l'écriture des "données" transférées par accès direct à la mémoire dans la mémoire 710 (région de mémorisation de données 711) de la section de mémoire cache 700. Le résultat est ensuite envoyé à la section de commutation de trajet 800 via le bus interne 901 (étape S1505). Dans les attributs de communications du paquet obtenu en résultat 10, les "informations de noeud" sont établies à "communications avec la mémoire cache", et les "informations indiquant un premier accès/aucun accès" et les "informations indiquant un second accès/aucun accès" sont toutes les deux établies à "aucun accès".
La section de commande de commutation de trajet 810 de la section de commutation de trajet 800 détermine que les "données" du paquet 10 reçues par la section de commande d'accès à la mémoire 640 sont les communications avec la mémoire cache, et transmet le paquet 10 à la section de mémoire cache 700 via le bus interne 902 (étape S1506). En résultat, la section de commande de mémoire 720 de la section de mémoire cache 700 extrait les "don-nées" du paquet 10 reçues par la section de commutation de trajet 800. Les "données" ainsi extraites sont écrites dans la mémoire 710 (région de mémorisation de données 711) (étape S1507). Une fois l'écriture terminée, un avis de fin d'écriture est envoyé à la section d'interface de disque 600 via le bus 902, la section de commutation de trajet 800 et le bus interne 901 (étape S1508).
En réponse à l'avis de fin d'écriture provenant 35 de la section de mémoire cache 700, la section de com- mande d'accès à la mémoire 640 de la section d'interface de disque 600 génère une interruption dans le microprocesseur 620 (étape $1509). En tant que tel, le microprocesseur 620 détermine que l'écriture de "données" dans la mémoire 710 de la section de mémoire cache 700 est main- tenant terminée. Le microprocesseur 620 émet ensuite une demande d'interruption pour la section d'interface d'ordinateur hôte 500 afin de lire les "données" mémorisées dans la mémoire 710 (étape S1510).
Après avoir reçu la demande d'interruption, la section de commande d'accès à la mémoire 640 de la section d'interface de disque 600 crée le paquet 10 pour la demande d'interruption, et envoie le résultat à la section de commutation de trajet 800 via le bus interne 902 (étape S1511). L'attribut de communications "d'informations de noeud" du paquet obtenu en résultat 10 est établi à "communications avec un microprocesseur spécifique".
En réponse à la demande d'interruption reçue par la section de commande d'accès à la mémoire 640, la section de commande de commutation de trajet 810 de la section de commutation de trajet 800 détermine que les communications sont les communications avec un microprocesseur spécifique, et la demande est envoyée à la sec- tion d'interface d'ordinateur hôte 500 via le bus interne 900 (étape S1512). Ensuite, la section de commande d'accès à la mémoire 540 de la section d'interface d'ordinateur hôte 500 génère une interruption dans le microprocesseur 520 lorsqu'elle reçoit la demande d'interruption provenant de la section d'interface de disque 600 (étape S1513). De cette manière, le microprocesseur 520 émet une demande pour que la section de commande d'interface d'ordinateur hôte 510 initialise un transfert d'accès direct à la mémoire (étape S1514).
En se reportant à l'ordinogramme représenté sur la figure 13 (dans le bloc B), on va maintenant décrire un processus de transfert applicable uniquement aux communications avec la mémoire cache. A savoir, après avoir reçu l'avis, la section d'interface d'ordinateur hôte 500 lit les "données" écrites dans la section de mémoire cache 700 (région de mémorisation de données 711) pour un transfert vers l'ordinateur hôte 200.
Après avoir reçu la demande d'initialisation pour un transfert d'accès direct à la mémoire, la section de commande d'interface d'ordinateur hôte 510 de la section d'interface d'ordinateur hôte 500 émet une demande pour lire les "données" écrites dans la section de mémoire cache 700 (étape S1515). En réponse à la demande de lecture, la section de commande d'accès à la mémoire 540 crée le paquet 10 pour la demande de lecture en vue d'une transmission à la section de commutation de trajet 800 via le bus interne 900 (étape S1516). Dans les attributs de communications du paquet 10, les "informations de noeud" sont établies à "communications avec la mémoire cache", et les "informations indiquant un premier accès/aucun accès" et les "informations indiquant un second accès/aucun accès" sont toutes les deux établies à "aucun accès".
La section de commande de commutation de trajet 810 de la section de commutation de trajet 800 détermine que la demande de lecture reçue par la section de commande d'accès à la mémoire 540 est une demande de communications avec la mémoire cache, et transmet la demande à la section de mémoire cache 700 via le bus interne 902 (étape S1517). Après avoir reçu la demande de lecture en provenance de la section de commutation de trajet 800, la section de commande de mémoire 720 de la section de mémoire cache 700 lit les "données" écrites dans la mémoire 710 (région de mémorisation de données 711) (étape S1518). Après avoir converti les "données" ainsi lues en paquet 10, le résultat est envoyé à la section d'inter-face d'ordinateur hôte 500 via le bus interne 902, la section de commutation de trajet 800 et le bus interne 900 (étape S1519).
La section de commande d'accès à la mémoire 540 de la section d'interface d'ordinateur hôte 500 soumet les "données" reçues par la section de mémoire cache 700 à un transfert d'accès direct à la mémoire vers la section de commande d'interface d'ordinateur hôte 510 (étape S1520). Ensuite, la section de commande d'interface d'ordinateur hôte 510 applique un processus de conversion de protocole aux "données" transférées par accès direct à la mémoire correspondant au protocole de communications avec l'ordinateur hôte 200. Ensuite, en réponse à la demande provenant de l'ordinateur hôte 200, les "données" ayant été soumises à la conversion de protocole sont renvoyées (étape S1521).
En se reportant à l'ordinogramme représenté sur la figure 16, on va décrire ci-dessous des exemples spécifiques incluant les communications avec la mémoire cache. On va décrire en détail un processus d'écriture, dans la mémoire 710 (région de mémorisation de données de commande 712) de la section de mémoire cache 700, d'un microprogramme de mise à jour ("données de commande") reçu par la section d'interface maître 500 en provenance du terminal administratif (étape SVP) 400 sur le réseau de communications, et un processus de lecture du microprogramme de mise à jour écrit dans la section de mémoire cache 700 (région de mémorisation de données de commande 712) par la section d'interface esclave 500 ou 600.
Tout d'abord, la section d'interface maître (section d'interface d'ordinateur hôte) 500 reçoit le microprogramme de mise à jour en provenance du terminal ad- ministratif 400 sur un réseau de communications tel qu'un réseau local (LAN) (étape S1601), et écrit le microprogramme de mise à jour dans la mémoire locale 530 (étape S1602). En outre, le microprocesseur maître 520 de la section d'interface maître 500 émet une demande destinée à écrire le microprogramme de mise à jour dans la mémoire 710 (région de mémorisation de données de commande 712) de la section de mémoire cache 700 (étape S1603).
La section de commande d'accès à la mémoire 540 de la section d'interface maître 500 crée le paquet 10 pour la demande d'écriture et le microprogramme de mise à jour en vue d'une transmission à la section de commutation de trajet 800 via le bus interne 900 (étape S1604). Dans les attributs de communications du paquet obtenu en résultat 10, les "informations de noeud" sont établies à "communications avec la mémoire cache", et les "informations indiquant un premier accès/aucun accès" et les "in-formations indiquant un second accès/aucun accès" sont toutes les deux établies à "aucun accès". A partir du paquet 10 reçu par la section de commande d'accès à la mé- moire 540, la section de commande de commutation de trajet 810 de la section de commutation de trajet 800 détermine qu'il s'agit de communications avec la mémoire cache, et le paquet est ensuite transmis à la section de mémoire cache 700 via le bus interne 900 (étape S1605).
La section de commande de mémoire 720 de la section de mémoire cache 700 extrait le microprogramme de mise à jour du paquet 10 reçu par la section de commutation de trajet 800. Le programme ainsi extrait est écrit dans la région de mémorisation de données de commande 712 de la mémoire 710 (étape S1606). Une fois l'écriture ter-minée, la section de commande de mémoire 720 renvoie un "avis de fin d'écriture" à la section d'interface maître 500 via la section de commutation de trajet 800, et également à la section d'interface maître 500 ou 600 (étape S1607).
En réponse à "l'avis de fin d'écriture" provenant de la section de commutation de trajet 800, la section d'interface esclave 500 ou 600 détermine que le microgramme mémorisé jusqu'ici dans la mémoire 710 (région de mémorisation de données de commande 712) de la section de mémoire cache 700 est maintenant mis à jour. Le micro-processeur 520 ou 620 de la section d'interface esclave 500 ou 600 émet ensuite une demande destinée à lire le microprogramme de mise à jour à partir de la mémoire 710 (région de mémorisation de données de commande 712) de la section de mémoire cache 700 (étape S1608).
Après avoir créé le paquet 10 correspondant à la demande de lecture, la section de commande d'accès à la mémoire 540 ou 640 de la section d'interface esclave 500 ou 600 envoie le paquet 10 à la section de mémoire cache 700 via la section de commutation de trajet 800 (étape S1609). L'attribut de communications des "informations de noeud" du paquet obtenu en résultat 10 est établi à "communications avec la mémoire cache".
La section de commande de mémoire 720 de la section de mémoire cache 700 lit le microprogramme de mise à jour à partir de la mémoire 710 (région de mémorisation de données de commande 712) en réponse à la de-mande de lecture reçue par la section de commutation de trajet 800 (étape S1610). Ensuite, après avoir converti le microprogramme de mise à jour en paquet 10, le résultat est renvoyé à une autre section d'interface esclave 500 ou 600 via la section de commutation de trajet 800 (étape S1611). Cela permet à la section d'interface es- clave 500 ou 600 de recevoir le microprogramme de mise à jour en provenance de la section de mémoire cache 700 pour écrire dans la mémoire locale 530 ou 630 (étape S1612).
En tant qu'exemple spécifique incluant les corn- munications avec l'ensemble des microprocesseurs, on va décrire un processus de la section d'interface maître 500, à savoir, la transmission d'informations structurel-les de l'unité interne à chaque section d'interface es-clave 500 ou 600 en se reportant à l'ordinogramme repré- santé sur la figure 17.
Tout d'abord, la section d'interface maître 500 crée une tâche pour un processus de mise à jour d'informations structurelles via la détection d'un changement de structure à l'intérieur de l'unité de commande de dispo- sitif de mémorisation 100. Ensuite, la section d'inter-face maître 500 écrit les informations structurelles mi-ses à jour dans un espace d'adresse de diffusion, qui est précédemment agencé dans la mémoire locale 520. En tant que tel, le microprocesseur 520 de la section d'interface maître 500 émet une demande d'écriture pour chaque section d'interface esclave 500 et 600 afin de diffuser (transmettre) les informations structurelles mises à jour (étape S1701). Ensuite, le microprocesseur 520 de la section d'interface maître 500 interrompt temporairement la tâche du processus de mise à jour d'informations structurelles, et bascule celui-ci sur une tâche d'un autre processus.
Après avoir créé un paquet 10 pour la demande d'écriture et les informations structurelles mises à jour, la section de commande d'accès à la mémoire 540 de la section d'interface maître 500 transmet les paquets 10 à la section de commutation de trajet 800 via le bus in-terne 900 (étape S1702). Dans les attributs de communications des paquets obtenus en résultat 10, les "informa- tions de noeud" sont établies à "communications avec l'ensemble des microprocesseurs ", et les "informations indiquant un premier accès/aucun accès" et les "informations indiquant un second accès/aucun accès" sont toutes les deux établies à "aucun accès". Ainsi, la section de commande de commutation de trajet 810 de la section de commutation de trajet 800 détermine que les paquets 10 reçus par la section de commande d'accès à la mémoire 540 sont des communications avec l'ensemble des microprocesseurs, et diffuse ceux-ci à chaque section d'interface esclave 500 ou 600 via les bus internes 900 et 901 (étape S1703).
Les sections d'interface esclave 500 et 600 reçoivent les paquets diffusés 10 via la section de commutation de trajet 800, et écrivent les informations struc- turelles mises à jour dans la mémoire locale 530 ou 630 (étape S1704). Ensuite, une fois l'écriture d'informations structurelles mises à jour terminée, un "avis de fin d'écriture" est renvoyé à la section de commutation de trajet 800 (étape S1705).
La section de commande de commutation de trajet 810 de la section de commutation de trajet 800 attend "l'avis de fin d'écriture" provenant de chaque section d'interface esclave 500 et 600 avant de renvoyer un "avis de fin d'écriture complète" à la section d'interface maî- tre 500 (étape S1706). Ensuite, la section de commande d'accès à la mémoire 540 de la section d'interface maître 500 génère une interruption dans une tâche d'un autre processus actuellement exécuté par le microprocesseur 520 de la section d'interface maître 500 (étape S1707).
En réponse à cette interruption, le microprocesseur 520 de la section d'interface maître 500 reprend la tâche du processus de mise à jour d'informations structurelles et détermine que la tâche du processus de mise à jour d'informations structurelles est maintenant terminée.
En tant que tel, la section d'interface maître 500 transmet les informations structurelles mises à jour à chaque section d'interface esclave 500 et 600. Ici, le processus dans lequel la section d'interface maître 500 transmet les informations d'erreur détectée à chaque sec- tion d'interface esclave 500 et 600 peut être décrit en tant que déroulement de processus similaire.
Le mode de réalisation décrit dans ce qui pré-cède est fourni pour faciliter la compréhension de la présente invention, et non pas pour une interprétation restrictive de celle-ci. La présente invention peut être changée et modifiée sans s'écarter de la portée de celle-ci, et les résultats sont inclus de manière équivalente dans la présente invention.
Claims (15)
1. Unité de commande de dispositif de mémorisation (100) pour effectuer une écriture de données dans un dispositif de mémorisation (300) et une lecture de don- nées à partir de celui-ci en réponse à une demande provenant d'un processeur d'informations, l'unité comportant: une section d'interface de communications (500) pour effectuer des communications avec le processeur d'informations, une section d'interface de dispositif de mémorisation (600) pour effectuer des communications avec le dispositif de mémorisation (300), une section de mémoire cache (700) comportant une première mémoire (710) pour mémoriser des données circulant entre le processeur d'informations et le dispositif de mémorisation (300), et une section de connexion (800) pour connecter ensemble la section d'interface de communications (500), la section d'interface de dispositif de mémorisation (600) et la section de mémoire cache (700) en vue d'établir des communications entre elles, caractérisée en ce que la section de connexion (800) est munie d'une deuxième mémoire (820) pour mémoriser les données identi- ques à celles mémorisées dans la première mémoire (710).
2. Unité de commande de dispositif de mémorisation (100) selon la revendication 1, caractérisée en ce que la section d'interface de communications (500) et la section d'interface de dispositif de mémorisation (600) comportent chacune une section de commande d'accès (540; 640) pour transmettre, à la section de connexion (800), des informations indiquant un premier accès/aucun accès pour déterminer s'il faut ou non effectuer un accès à la deuxième mémoire (820)conjointement à une demande d'accès à la première mémoire (710), et en ce que la section de connexion (800) inclut une section de commande (810) pour commander s'il faut ou non effectuer un accès à la deuxième mémoire sur la base des informations indiquant un premier accès/aucun accès in-cluses dans la demande d'accès reçue par la section de commande d'accès (540; 640).
3. Unité de commande de dispositif de mémorisa- tion (100) selon la revendication 1, caractérisée en ce que la section de mémoire cache (700) comporte: une section de commande de mémoire (720) pour commander une écriture des données dans la première mémoire et une lecture des données à partir de celle-ci, et une troisième mémoire (721) qui est accessible par la section de commande de mémoire (720), et qui mémorise des données identiques à celles mémorisées dans la première mémoire (710).
4. Unité de commande de dispositif de mémorisa- tion (100) selon la revendication 3, caractérisée en ce que la section d'interface de communications (500) et la section d'interface de dispositif de mémorisation (600) comportent chacune une section de commande d'accès (540; 640) pour transmettre, à la section de connexion (800), les informations indiquant un second accès/aucun accès pour déterminer s'il faut ou non effectuer un accès à la troisième mémoire (721) conjointement à une demande d'accès à la première mémoire (710), et en ce que la section de commande de mémoire (720) commande s'il faut ou non effectuer un accès à la troisième mémoire (721) sur la base des informations indiquant un second accès/aucun accès incluses dans la demande d'accès reçue par la section de commande d'accès (540; 640) via la section de connexion (800).
5. Unité de commande de dispositif de mémorisation (100) selon la revendication 1, caractérisée en ce que la section d'interface de communications (500) et la section d'interface de dispositif de mémorisation (600) comportent chacune une section de commande d'accès (540; 640) pour transmettre, à la section de connexion (800), des informations de destinataire désignant en tant que destinataire l'ensemble des sections d'interface de communications (500) et l'ensemble des sections d'inter-face de dispositif de mémorisation (600), la section d'interface de communications (500) ou la section d'interface de dispositif de mémorisation (600), ou la section de mémoire (700) conjointement avec les données ou les données de commande destinées à commander le transfert des données, et en ce que la section de connexion (800) inclut une section de commande (810) pour commander des communications avec le destinataire désigné par les informations de destinataire reçues par la section de commande d'accès (540; 640) conjointement avec les données ou les données de commande.
6. Unité de commande de dispositif de mémorisation (100) selon la revendication 5, caractérisée en ce que la section de commande (810) de la section de connexion (800) mémorise les données ou les données de commande reçues dans la deuxième mémoire (820) jusqu'à ce qu'un bus de données à utiliser pour transférer les don- nées ou les données de commande devienne disponible.
7. Unité de commande de dispositif de mémorisation (100) selon la revendication 5, caractérisée en ce que la section de commande (810) de la section de connexion (800) renvoie, à un expéditeur des données ou des données de commande reçues, des informations indiquant si oui ou non les données ou les données de commande reçues sont transmises au destinataire dans un dé-lai prédéterminé.
8. Unité de commande de dispositif de mémorisation (100) selon la revendication 5, caractérisée en ce que lorsque les informations de destinataire reçues conjointement avec les données ou les données de commande désignent l'ensemble des sections d'interface de communications (500) et l'ensemble des sections d'interface de dispositif de mémorisation (600) en tant que destina-taire, la section de commande (810) de la section de connexion (800) effectue une transmission parallèle des données ou des données de commande reçues au destina- taire.
9. Unité de commande de dispositif de mémorisation (100) selon la revendication 1, caractérisée en ce que la section d'interface de communications (500) et la section d'interface de dispositif de mémorisation (600) comportent chacune une section de commande d'accès (540; 640) pour transmettre, à la section de connexion (800), les données ou les données de commande afin de commander un transfert des données conjointement avec des informations de priorité à l'aide desquelles une priorité est établie dans un processus de transfert à exécuter dans la section de connexion (800), et en ce que la section de connexion (800) comporte une sec- tion de commande (810) pour exécuter le processus de transfert sur la base de la priorité établie dans les in-formations de priorité qui sont reçues par la section de commande d'accès (540; 640) conjointement avec les don-nées ou les données de commande.
10. Unité de commande de dispositif de mémorisation (100) selon la revendication 9, caractérisée en ce que dans les informations de priorité, les données ou les données de commande ayant une première taille de données ont une priorité supérieure aux données ou aux données de commande ayant une seconde taille de données inférieure à la première taille de données.
11. Unité de commande de dispositif de mémori- sation (100) selon la revendication 1, caractérisée en ce que la première mémoire (710) mémorise les données circulant entre le processeur d'in- formations et le dispositif de mémorisation (300), et les données de commande destinées à commander les données qui circulent.
12. Unité de commande de dispositif de mémorisation (100) selon la revendication 1, caractérisée en ce que une connexion entre la section d'interface de communications (500), la section d'interface de dispositif de mémorisation (600), et la section de connexion (800), et entre la section de connexion (800) et la section de mémoire cache (700) est établie par un bus de données qui est utilisé pour transférer les données circulant entre le processeur d'informations et le dispositif de mémorisation (300), et les données de commande destinées à commander les données qui circulent.
13. Unité de commande de dispositif de mémori- sation {100) selon la revendication 1, caractérisée en ce que la section de connexion (800) est un commuta- teur à barres croisées haute vitesse destiné à établir une connexion dans un réseau entre la section d'interface de communications (500), la section d'interface de dispo- sitif de mémorisation (600) et la section de mémoire cache (700).
14. Unité de commande de dispositif de mémorisation (100) selon la revendication 1, caractérisée en ce que la section d'interface de communications (500), la section d'interface de dispositif de mémorisation (600), la section de mémoire cache (700) et la section de connexion (800) forment chacune une unité, et en ce que l'unité de commande de dispositif de mémorisation (100) comporte une section de fixation (110) à la-quelle l'unité peut être fixée.
15. Procédé pour commander une unité de commande de dispositif de mémorisation (100) comportant: une section d'interface de communications (500) pour effectuer des communications avec un processeur d'informations, une section d'interface de dispositif de mémorisation (600) pour effectuer des communications avec un dispositif de mémorisation (300), une section de mémoire cache (700) comportant une première mémoire (710) pour mémoriser des données circulant entre le processeur d'informations et le dispositif de mémorisation (300), et une section de connexion (800) pour connecter ensemble la section d'interface de communications (500), la section d'interface de dispositif de mémorisation (600)et la section de mémoire cache (700) en vue d'établir des communications entre elles, et la section de connexion (800) étant munie d'une deuxième mémoire (820) pour mémoriser les données identiques à celles mémorisées dans la première mémoire (710), caractérisée en ce que la section d'interface de communication (500) reçoit en provenance du processeur d'informa- tions une demande d'écriture de données dans le disposi- tif de mémorisation (300) et une demande de lecture de données à partir de celui-ci, et transmet, à la section de connexion (800), une demande d'accès à la première mémoire répondant à la de- mande, et en ce que la section de connexion (800) reçoit la demande d'accès en provenance de la section d'interface de communications (500), et commande s'il faut ou non exécuter une opéra- tion dans la deuxième mémoire (820) conformément aux détails de la demande d'accès.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003348063A JP2005115603A (ja) | 2003-10-07 | 2003-10-07 | 記憶デバイス制御装置及びその制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
FR2860616A1 true FR2860616A1 (fr) | 2005-04-08 |
Family
ID=32171468
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR0404007A Withdrawn FR2860616A1 (fr) | 2003-10-07 | 2004-04-16 | Unite de commande de dispositif de memorisation et procede de commande de celui-ci |
Country Status (5)
Country | Link |
---|---|
US (1) | US7043603B2 (fr) |
JP (1) | JP2005115603A (fr) |
DE (1) | DE102004013128A1 (fr) |
FR (1) | FR2860616A1 (fr) |
GB (1) | GB2406929B (fr) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6953392B2 (en) * | 2001-01-05 | 2005-10-11 | Asm Nutool, Inc. | Integrated system for processing semiconductor wafers |
JP4441286B2 (ja) * | 2004-02-10 | 2010-03-31 | 株式会社日立製作所 | ストレージシステム |
JP4405277B2 (ja) * | 2004-02-16 | 2010-01-27 | 株式会社日立製作所 | ディスク制御装置 |
US7467238B2 (en) | 2004-02-10 | 2008-12-16 | Hitachi, Ltd. | Disk controller and storage system |
JP4672282B2 (ja) * | 2004-05-07 | 2011-04-20 | 株式会社日立製作所 | 情報処理装置、及び情報処理装置の制御方法 |
KR100551480B1 (ko) * | 2004-10-25 | 2006-02-13 | 삼성전자주식회사 | 프로세서와 비휘발성 메모리 사이에 위치하는 메모리장치, 이를 포함한 시스템 및 상기 시스템 내의 데이터송수신 방법 |
US20080276013A1 (en) * | 2005-04-05 | 2008-11-06 | Akihiko Ohtani | Semiconductor Integrated Circuit |
JP2006344119A (ja) * | 2005-06-10 | 2006-12-21 | Fujitsu Ltd | ストレージ装置、構成情報管理方法及びプログラム |
JP5008845B2 (ja) * | 2005-09-01 | 2012-08-22 | 株式会社日立製作所 | ストレージシステムとストレージ装置及びその制御方法 |
JP2007219571A (ja) * | 2006-02-14 | 2007-08-30 | Hitachi Ltd | 記憶制御装置及びストレージシステム |
JP4900807B2 (ja) | 2007-03-06 | 2012-03-21 | 株式会社日立製作所 | ストレージシステム及びデータ管理方法 |
JP4936088B2 (ja) | 2010-03-15 | 2012-05-23 | 日本電気株式会社 | ディスクアレイ装置、ディスクアレイシステム、及びキャッシュ制御方法 |
US20120290786A1 (en) * | 2011-05-11 | 2012-11-15 | Mesnier Michael P | Selective caching in a storage system |
JP6933535B2 (ja) * | 2017-09-21 | 2021-09-08 | 株式会社東芝 | 通信装置、通信方法及びプログラム |
JP2024011865A (ja) * | 2022-07-15 | 2024-01-25 | 株式会社日立製作所 | ファイルストレージシステム及びファイル転送方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010049773A1 (en) * | 2000-06-06 | 2001-12-06 | Bhavsar Shyamkant R. | Fabric cache |
GB2366424A (en) * | 2000-03-31 | 2002-03-06 | Emc Corp | Data transfer via director boards and a cache |
US6385681B1 (en) * | 1998-09-18 | 2002-05-07 | Hitachi, Ltd. | Disk array control device with two different internal connection systems |
US20020078299A1 (en) * | 2000-12-14 | 2002-06-20 | Lih-Sheng Chiou | Caching system and method for a network storage system |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2567922B2 (ja) * | 1988-08-30 | 1996-12-25 | 株式会社日立製作所 | パス制御方式 |
JP2637788B2 (ja) | 1988-09-02 | 1997-08-06 | 株式会社日立製作所 | ディスクキャッシュ制御方式および情報処理システム |
US6038641A (en) | 1988-12-30 | 2000-03-14 | Packard Bell Nec | Two stage cache memory system and method |
DE4323929A1 (de) | 1992-10-13 | 1994-04-14 | Hewlett Packard Co | Software-geführtes Mehrebenen-Cache-Speichersystem |
JP3528094B2 (ja) | 1994-02-09 | 2004-05-17 | 株式会社日立製作所 | バス利用方法および記憶制御装置 |
US5778422A (en) | 1996-04-04 | 1998-07-07 | International Business Machines Corporation | Data processing system memory controller that selectively caches data associated with write requests |
EP0845738A3 (fr) | 1996-11-28 | 2006-09-20 | Hitachi, Ltd. | Système de stockage pour transférer une commande et transférer des données correspondant à cette commande, après cette commande |
US6275897B1 (en) | 1997-06-17 | 2001-08-14 | Emc Corporation | Remote cache utilization for mirrored mass storage subsystem |
US6865642B2 (en) | 1998-06-24 | 2005-03-08 | International Business Machines Corporation | Method and apparatus for disk caching for an intermediary controller |
JP4036992B2 (ja) | 1998-12-17 | 2008-01-23 | 富士通株式会社 | キャッシュモジュール間でデータを動的に管理するキャッシュ制御装置および方法 |
US6314491B1 (en) | 1999-03-01 | 2001-11-06 | International Business Machines Corporation | Peer-to-peer cache moves in a multiprocessor data processing system |
JP2001256003A (ja) * | 2000-03-10 | 2001-09-21 | Hitachi Ltd | ディスクアレイ制御装置、そのディスクアレイ制御ユニットおよびその増設方法 |
US6751703B2 (en) * | 2000-12-27 | 2004-06-15 | Emc Corporation | Data storage systems and methods which utilize an on-board cache |
US6901477B2 (en) | 2002-04-01 | 2005-05-31 | Emc Corporation | Provision of a victim cache within a storage cache hierarchy |
JP4189171B2 (ja) * | 2002-05-24 | 2008-12-03 | 株式会社日立製作所 | ディスク制御装置 |
JP4219633B2 (ja) | 2002-07-25 | 2009-02-04 | 株式会社日立製作所 | 記憶装置システムのデステージ方法、ディスク制御装置、記憶装置システム、及びプログラム |
US7051174B2 (en) | 2002-09-24 | 2006-05-23 | International Business Machines Corporation | Method, system, and program for restoring data in cache |
JP4483168B2 (ja) | 2002-10-23 | 2010-06-16 | 株式会社日立製作所 | ディスクアレイ制御装置 |
-
2003
- 2003-10-07 JP JP2003348063A patent/JP2005115603A/ja active Pending
-
2004
- 2004-01-30 US US10/767,433 patent/US7043603B2/en not_active Expired - Fee Related
- 2004-03-17 DE DE102004013128A patent/DE102004013128A1/de not_active Ceased
- 2004-03-22 GB GB0406404A patent/GB2406929B/en not_active Expired - Fee Related
- 2004-04-16 FR FR0404007A patent/FR2860616A1/fr not_active Withdrawn
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6385681B1 (en) * | 1998-09-18 | 2002-05-07 | Hitachi, Ltd. | Disk array control device with two different internal connection systems |
GB2366424A (en) * | 2000-03-31 | 2002-03-06 | Emc Corp | Data transfer via director boards and a cache |
US20010049773A1 (en) * | 2000-06-06 | 2001-12-06 | Bhavsar Shyamkant R. | Fabric cache |
US20020078299A1 (en) * | 2000-12-14 | 2002-06-20 | Lih-Sheng Chiou | Caching system and method for a network storage system |
Non-Patent Citations (2)
Title |
---|
BARROSO L A ET AL: "PIRANHA: A SCALABLE ARCHITECTURE BASED ON SINGLE-CHIP MULTIPROCESSING", PROCEEDINGS OF THE 27TH. INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE. (ISCA-27). VANCOUVER, BRITISH COLUMBIA, CANADA, JUNE 12-14, 2000, INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE.(ISCA), LOS ALAMITOS, CA : IEEE COMP. SOC, US, 10 June 2000 (2000-06-10), pages 282 - 293, XP001003053, ISBN: 0-7803-6518-6 * |
KEN WOOD: "Built to scale: The Hitachi Freedom storage - Lightning 9900 Series", HITACHI DATA SYSTEMS - ENTERPRISE STORAGE, October 2000 (2000-10-01), pages 1 - 18, XP002299577 * |
Also Published As
Publication number | Publication date |
---|---|
JP2005115603A (ja) | 2005-04-28 |
US7043603B2 (en) | 2006-05-09 |
GB2406929B (en) | 2005-09-14 |
US20050076177A1 (en) | 2005-04-07 |
GB0406404D0 (en) | 2004-04-21 |
DE102004013128A1 (de) | 2005-05-12 |
GB2406929A (en) | 2005-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9917805B2 (en) | Collecting messages from a group chat window that mention a specific user | |
FR2860616A1 (fr) | Unite de commande de dispositif de memorisation et procede de commande de celui-ci | |
US7949893B1 (en) | Virtual user interface failover | |
US9467513B2 (en) | Method and apparatus for web based storage on-demand | |
FR2865818A1 (fr) | Systeme informatique, dispositif de commande, systeme de memorisation et dispositif informatique | |
FR2807253A1 (fr) | Systeme et procede de gestion de ressources memoire dans un environnement informatique en grappes | |
EP2284725A1 (fr) | Client, serveur de courtage et procédé pour fournir le stockage de nuages | |
EP2791798B1 (fr) | Bus logiciel | |
EP2353256A1 (fr) | Determination et gestion de reseaux virtuels | |
US7634567B1 (en) | Configuring data storage for electronic mail application | |
CN110795278A (zh) | 用于提供文件级恢复的系统和方法 | |
FR2842377A1 (fr) | Systeme et procede de configuration automatique et de lancement d'applications clients telnet 3270 dans un environnement windows | |
JPH10285164A (ja) | ネットワーク管理システム及び方法並びにネットワーク管理プログラムを記録した記録媒体 | |
FR2962619A1 (fr) | Dispositif d'acces a des donnees a bord d'un aeronef | |
CN110445826B (zh) | 一种会话信息获取方法、装置及服务器 | |
WO2007107674A2 (fr) | Procede de communication de donnees entre des systemes de traitement heterogenes connectes en reseau local et systeme de communication mettant en oeuvre ce procede | |
WO2024251107A1 (fr) | Procédé d'orchestration de conteneurs, procédé d'accès à des données et dispositif électronique et support de stockage | |
CN110149365B (zh) | 服务适配方法、设备、系统以及计算机可读介质 | |
EP2497235B1 (fr) | Outil de diagnostic pour réseaux à haut débit | |
CN110870275A (zh) | 共享存储器文件传输 | |
CN117319476A (zh) | 多系统终端的实施方法、服务端、应用能力端及系统 | |
US11954077B1 (en) | Crawler-less tiering for cloud based file systems | |
EP4343568A1 (fr) | Entité pour mettre en oeuvre un service dans un réseau, dispositif applicatif, et procédé d'éxecution d'une opération d'un service | |
WO2009013440A1 (fr) | Procede d'echange de messages entre serveur de donnees de session et des services clients | |
Ledwon et al. | Streamlining XR Application Deployment with a Localized Docker Registry at the Edge |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ST | Notification of lapse |
Effective date: 20101230 |