FR 2468163 A1 19810430 FR 8022125 A 19801016 La présente invention concerne des moyens de mémorisation ou de stockage de données numériques et, plus particulièrement, un dispositif et un procédé per- fectionnés permettant la gestion et l'affectation de données dans un dispositif de mémoire à disques. Une des considérations principales, dont il faut tenir compte lors de la conception et de l'exploi- tation d'un dispositif de traitement de données numéri- ques, est la nécessité de prévoir des moyens convenables pour stocker de l'information reçue de l'unité centrale (UC) de l'ordinateur et pour fournir une information ap- propriée à l'UC lorsque cela est nécessaire. On admet généralement que les mémoires à bande magnétique et les mémoires à disques présentent des ca- ractéristiques fonctionnelles différentes et spécifiques. En conséquence, chacun de ces types de support d'informa- tion se prête particulièrement à certains types d'appli- cations mais non à d'autres. En particulier, les fi- chiers de données à organisation séquentielle et à accès également séquentiel sont les plus compatibles avec la technologie des dérouleurs de bande magnétique étant donné que l'information est nécessairement écrite et lue sur la bande de façon séquentielle. Par contre, les dispositifs de mémoire à disques offrent généralement la possibilité d'écrire et de lire de l'information pratiquement dans n'importe quelle partie des disques presqu'instantanément. En conséquence, des ensembles de données multiples, tous stockés sur le même disque, peuvent être actifs simultanément, ce qui n'est pas pra- tiquable avec de la bande. En conséquence, on préfére- rait toujours utiliser des dispositifs de mémoire à -2- disques si ce n'était qu'une mémoire à disques est beaucoup plus coûteuse que de la bande. Il en résulte que, si des données organisées en séquentiel peuvent être aisément écrites et lues en continu sur une bande, l'écriture ou l'obtention de données qui ne sont pas organisées en séquentiel posent souvent un problème. Si une donnée est située sur une partie éloignée de la bande, celle-ci doit 9tre enrou- lée ou déroulée jusqu'au point auquel est située la donnée. Un second inconvénient beaucoup plus grave de la mémoire à bande est le fait que, pour la plupart des applications à grande échelle, le nombre de bobines de bande nécessaires pour stocker de l'information est beaucoup plus grand, parfois des centaines de fois plus grand, que le nombre de dérouleurs de bande disponibles pour lire ou écrire sur les bandes. En fait, de nom- breuses opérations de traitement de données à grande échelle exigent l'utilisation de milliers de bobines de bande. En général, environ 90 % de la totalité des bandes ne contiennent qu'un seul ensemble de données (par exemple une liste de clients ou un fichier de feuilles de paie), étant donné qu'en général les pro- priétés physiques de la bande rendent impraticables une lecture ou une écriture sur deux ou plus de deux ensembles de données à la fois, ce qui est pourtant très souvent désirable. Il est donc clair qu'une mé- moire à bande esiArès inefficace, car il ne peut adve- nir que par pure coïncidence que la longueur d'un en- semble de données déterminé soit approximativement égale à la zone de mémoire disponible. En fait, des études montrent que normalement 1 % seulement environ de la bande est effectivement utilisé. Il est évident qu'aucun utilisateur ne peut disposer d'un dérouleur de bande pour chaque bobine de bande; en conséquence, des bobines individuelles sont continuellement prélevées à leur emplacement de range- ment, montées en vue de leur utilisation, puis démon- tées et replacées dans leur magasin. Ces opérations prennent beaucoup de temps et ne sont pas très effica- ces étant donné qu'elles impliquent l'intervention d'un opérateur humain. Des efforts ont été faits pour combler cette lacune du support d'information constitué par la bande magnétique, par exemple en prévoyant un grand nombre de petites cartouches de bande et un mécanisme automa- tique permettant de retirer rapidement les cartouches d'un casier de rangement et de les placer rapidement sur un dérouleur de bande. Des dispositifs de montage automatiques ont également été créés en vue d'être uti- lisés avec de la bande-classique. Toutefois, il n'exis- te à ce jour aucun procédé absolument efficace permet- tant de mettre immédiatement de grandes quantités de bande à la disposition de dérouleurs de bande. A première vue, les dispositifs de mémoire à disques sembleraient propres à combler les lacunes de la bande. On peut accéder très rapidement à pratique- ment n'importe quelle partie d'un disque quelconque, de sorte qu'un dispositif à disques n'a pas besoin d'ex- plorer toutes les données enregistrées sur les disques de façon séquentielle. En conséquences en répondant à des codes d'adresse, une unité de disques peut accéder à un bloc de données déterminé presque instantanément. Des ensembles de données multiples peuvent donc être stockés sur un seul et même disque et être traités concurremment. Toutefois, le coût d'unités de disques est relativement élevé et, en outre, les unités de dis- ques de la technique antérieure n'utilisent pas très efficacement toute la zone de stockage possible. Des études ont démontré qu'à un instant don- né quelconque, dans un dispositif à disques, 75 % en- -4- viron seulement de l'espace de stockage possible sont en fait disponibles à des fins de mémorisation de don- nées. La "zone de manoeuvre" ou espace de mémoire to- tal utilisé pour permettre l'activité de lecture/écri- ture nécessaire pour mettre à jour et enregistrer les données est donc approximativement de 20 % à 25 %. En outre, pour la plupart des applications, les 2/3 ou 45 % environ seulement de l'espace disponible pour les données sont en fait utilisés pour stocker des données, en raison de l'espace exigé par les disposi- tifs d'adressage couramment utilisés. Par suite, le facteur d'utilisation total de la plupart des dispo- sitifs à disques de la technique antérieure n'est que de 50 % environ ou moins. En conséquence, les disposi- tifs à disques, bien qu'ils offrent des vitesses d'ac- cès aux données et d'extraction de données élevées attrayantes, sont relativement inefficaces au point de vue coût et, partant, peuvent 8tre coûteux, consi- dérés au point de vue de l'espace de mémoire effective- ment utilisé. Par contre, dans un dispositif à bande, une seule adresse est nécessaire par ensemble de don- nées, ce qui augmente considérablement l'efficacité de la mémoire. On voit donc qu'il serait extr8mement avan- tageux de réaliser un dispositif offrant à la fois l'efficacité du support d'information constitué par de la bande au point de vue espace de mémoire et la ca- ractéristique d'accès rapide d'une mémoire à disques. En outre, particularité désirable, un tel dispositif de mémoire n'exigerait aucune modification du reste de l'installation de calcul intéressée; en d'autres termes, il se "présenterait" à l'ordinateur exacte- ment de la même manière qu'une mémoire à bande ou une mémoire à disques de la technique antérieure. Compte tenu de ce qui précède, l'invention -5 - a pour objet de créer: - un dispositif de mémorisation perfectionné pour ordi- nateur, calculateur numérique, ou analogues; - un dispositif et un procédé permettant de stocker des données arrangées séquentiellement et d'accéder à ces données plus rapidement que dans les disposi- tifs de mémorisation de la technique antérieure; - un dispositif de mémorisation répondant à des ordres du dispositif principal à la manière d'un dérouleur de bande mais faisant usage de la capacité d'accès rapide des unités de disques; - un dispositif de gestion de mémoire de données qui accepte et délivre des données sous la forme séquen- tielle mais qui enregistre et retrouve l'information sur des unités de disques sous la forme de fragments optimaux. Sous l'un des aspects de l'invention, les buts énumérés ci-dessus sont atteints au moyen d'un "dispositif de mémorisation virtuelle" comprenant un étage de jonction principale capable, en réponse à des ordres d'un ordinateur principal, de recevoir et de transmettre de l'information avec une structure sé- quentielle du type bande et un premier tampon de don- nées dans ladite jonction principale pour mémoriser temporairement des données reçues de l'ordinateur principal ou dirigées vers celui-ci. Il est également prévu une pluralité d'unités de disques conjointement avec une jonction de disques et avec un second tampon de données associé qui mémorise temporairement des données dirigées vers les unités de disques ou reçues de celles-ci. Les étages de jonction sont couplés entre eux et sont également couplés en commun avec une grande mémoire centrale qui reçoit et met en file d'attente l'information passant d'une jonction à une autre. Enfin, un processeur de commande principal est -6- couplé avec les unités de jonction et avec la mémoire centrale et dirige le fonctionnement de l'appareil de telle manière que les étages de jonction principale répondent à l'ordinateur principal de la m9me façon que le ferait un dispositif à bande, tandis que les étages de jonction de disques lisent et écrivent des données sur des mémoires à disques de façon aléatoire ou directe, en fonction de l'espace de mémoire actuel- lement disponible. L'invention sera mieux comprise à la lecture de la description détaillée qui suit et à l'examen des dessins joints qui en représentent, à titre d'exemple non limitatif, un mode de réalisation préféré. Sur ces dessins: la Fig. 1 représente l'organisation générale d'un dispositif de mémorisation virtuelle construit suivant l'invention; la Fig. 2 est un schéma simplifié représen- tant la circulation de signaux de commande et d'infor- mation'dans le dispositif de la Fig. 1, et les Fig. 3 et 4 indiquent la circulation des signaux d'ordre et de l'information dans des situa- tions de "lecture" et "d'écriture" respectivement. La Fig. 1 représente sous une forme simpli- fiée l'architecture de base du dispositif de mémorisa- tion virtuelle suivant l'invention lorsque celui-ci est couplé avec un ordinateur principal 100 L'invention constitue un moyen permettant de commander une ou plu- sieurs unités de mémoire à disques extrêmement rapides et accessibles pour leur faire accepter des données et les faire répondre exactement de la même manière qu'un dérouleur de bande tout en assurant une bien meilleure utilisation de la mémoire disponible, de sorte qu'elles offrent en fait une capacité de stoc- kage fortement élargie et un temps de réponse beaucoup plus rapide qu'une bande ou des disques. L'ordinateur principal 10 peut être d'un type approprié quelconque, bien qu'on puisse prévoir que l'exploitation écono- mique de la présente invention exigera son utilisation avec un ordinateur principal à grande unité centrale, tel que les ordinateurs IBM 360 ou 370 et les complexes de processeurs des modèles IBM 3031, 3032 et 5033. Le dispositif de mémorisation virtuelle suivant l'inven- tion peut également être utilisé avec une pluralité d'ordinateurs principaux. Le dispositif de mémorisa- tion comprend une série d'étages de jonction principale 12a à 12n, le nombre de ces étages de jonction étant fonction de la quantité de données à transférer. Etant donné que les étages de jonction principale sont iden- tiques, le nombre effectif de ces étages devant être utilisé importe peu pour les buts visés ici. Les étages de jonction principale sont couplés avec l'ordinateur principal 10 au moyen de voies classiques 14 et ils reçoivent et transmettent de l'information à partir de l'ordinateur 10, ou à celui-ci avec la configuration séquentielle ordinaire associée aux dérouleurs de bande. Un ou plusieurs étages de jonction de dis- ques 16a à 16n sont prévus et sont couplés avec tous les étages de jonction principale au moyen d'un bus d'information commun 18. De cette manière, de l'in- formation peut être transférée entre un étage de jonc- tion principale donné quelconque et n'importe quel étage de jonction de disques. Les étages de jonction de disques sont cou- plés chacun avec une d'une série de mémoires à disques respectives 20a à 20n. Comme décrit plus loin de façon plus détaillée, chaque étage de jonction de disques comprend une jonction de mémoire, un tampon de données et une jonction de disques, conjointement avec un dis- -8- positif de commande local à microprocesseur destiné à commander les divers éléments de l'étage de jonction. Au bus principal 18 est également connectée une mémoire centrale 22. La mémoire 22 forme un "abri" ou "cache" pour de l'information transférée des étages de jonction principale aux étages de jonction de dis- ques et peut en outre servir de mémoire au processeur de commande 24 également couplé avec le bus principal 18. Le processeur de commande 24, qui constitue l'uni- té centrale ou UC du dispositif de mémorisation vir- tuelle, est couplé avec chacun des étages de jonction principale et de disques 12 et 16, respectivement, et dirige le fonctionnement de ces étages de telle manière que de l'information puisse être reçue, mise en file d'attente, organisée et stockée de la manière conve- nable. Le processeur de commande 24 donne en outre des instructions aux divers étages de jonction princi- pale 12 pour les faire répondre à l'ordinateur princi- pal 10 d'une manière qui simule un dérouleur de bande. On va maintenant se référer à la Fig. 2, sur laquelle est représentée de façon plus détaillée la structure d'exemples d'éléments du dispositif. Le pro- cesseur 24 est couplé directement avec l'étage de jonction principale 12 et, en particulier, avec une jonction interne 26, qui facilite simplement le trans- fert de signaux entre le processeur de commande 24 et un microprocesseur 28, qui forme le dispositif de com- mande de l'étage de jonction principale. L'étage de jonction principale comprend également un tampon de données 30, une jonction principale 32, qui rend le tampon de données compatible avec l'ordinateur princi- pal 10 et une jonction de mémoire 34, par l'intermé- diaire de laquelle le tampon de données communique avec le bus'de données 18. La fonction de l'étage de jonction principale -9- 12 est de simuler pour l'ordinateur principal un dispo- sitif à dérouleurs de bande, c'est-à-dire de convertir les ordres de l'ordinateur principal 10 destinés à des dérouleurs de bande en ordres destinés au dispositif de mémorisation virtuelle suivant l'invention et de transmettre à l'ordinateur principal 10 des données sous la forme qu'elles présenteraient si elles étaient transmises par un dérouleur de bande. Plus particuliè- rement, l'étage de jonction principale 12 accepte les signaux d'un ordinateur principal 10, signaux qui sont du type utilisé pour faire fonctionner les dérouleurs de bande. On obtient de tels signaux en couplant l'é- tage de jonction principale avec les voies de multi- plexage de blocs ou de multiplets, ou de sélection, de l'ordinateur principal 10. Il est à noter que ces signaux comprennent des ordres opérateur tels que monter bande" et "démonter bande"t aussi bien que des ordres machine tels que "lire", "écrire" et "faire un espacement". L'étage de jonction principale répond à ces deux types de signaux comme s'il était un opérateur et un dérouleur de bande en accusant réception des si- gnaux, en répondant que le "montage" d'une bobine de bande imaginaire (virtuelle) a été effectué, etc. Le tampon de données 30 de chaque étage de jonction principale accepte des données de l'ordina- teur principal 10 sous forme séquentielle, comprenant généralement neuf bits en parallèle, exactement de la même manière que ces données seraient retransmises à un dispositif à bande en vue de leur écriture sur une bande. Le tampon 30, conjointement avec la jonction principale 32, au cours d'une opération d'écriture, "déséquentialise" l'information, c'est-à-dire la mé- morise dans des zones en parallèle contenant les bits individuels jusqu'à ce que huit multiplets complets soient disponibles. Généralement, 72 bits sont trans- * - -10- mis à la fois, ce qui réduit le temps de transmissions De cette manière, on peut obtenir une compression de jusqu'à 90 % du temps nécessaire pour transmettre les données sur le bus 18. Lorsque des données doivent être échangées entre le tampon 30 et le bus 18, les données traversent la jonction de mémoire 34, ici en- core en huit multiplets parallèles ou simultanés, de sorte qu'un échange de données extrêmement rapide peut avoir lieu. La taille dudit tampon peut varier large- ment, selon les exigences du dispositif mais, dans un mode de réalisation préféré, elle est suffisamment grande (64 000 multiplets) pour que ce tampon puisse retenir un enregistrement complet, ce qui accélère le fonctionnement en temps partagé du bus 18. Finalement, les données reçues de l'ordina- teur principal 10 sont écrites sur des disques magné- tiques montés sur une ou plusieurs unités de disques a à 20n. LYétage de jonction de disques 16 couple le bus de données 18 avec une unité de disques 20 (non représentée) et est constitué par un dispositif de com- mande local 36 à microprocesseur, qui fait fonctionner les divers éléments de cet étage de jonction conformé- ment à des instructions du processeur de commande 24. De même que dans le cas des étages de jonction princi- pale 12, au moyen des étages de jonction de disques 16, des instructions du processeur de commande sont transmises, par l'intermédiaire d'une jonction 38, au dispositif de commande local 36. Ce dernier répond alors en faisant transférer des données par un tampon de données 20, une jonction de disques 42 et une jonc- tion de mémoire 44 vers l'unité de disques ou à partir de celle-ci. En particulier, la jonction de mémoire 44 sert à recevoir huit multiplets de données du bus 18 et à "séquentialiser" les données de façon qu'elles 11 - soient installées dans le tampon 40 sous la forme d'un unique train de bits. L'arrangement et la mise en file d'attente des données dans la mémoire tampon sont assu- rés par le dispositif de commande local 36, de même que le fonctionnement de la jonction de disques 42, qui fait passer des données du tampon 40 à l'unité de dis- ques aux instants appropriés. En outre, les étages de jonction de disques servent à rechercher et à enregis- trer les emplacements de données sur les divers disques de l'unité de disques associée, de façon que l'informa- tion puisse 6tre retrouvée au moment voulu. Entre l'instant auquel une donnée se trouve dans un étage de jonction principale 12 et l'instant auquel elle est reçue dans un étage de jonction de dis- ques 16, cette donnée est stockée dans une mémoire cen- trale 22, la mémoire centrale rapide 22 joue donc le rôle d'une "banque", "cache" ou "abri", qui retient les données jusqu'à ce que l'une des unités de disques 20 soit prête à les accepter. Lorsque cela se produit, la jonction de disques 42 associée à l'unité de disques 20 signale sa disponibilité au processeur de commande 24. Le processeur de commande 24 donne alors à la mémoire centrale "abri" 22 l'instruction de décharger les don- nées dans l'étage de jonction de disques 16 par l'inter- médiaire du bus 18. D'une manière analogue, lorsque l'ordinateur principal 10 recherche des données, l'identité des don- nées recherchées est transférée par l'intermédiaire de l'étage de jonction principale 12 au processeur de com- mande 24, qui détermine alors si les données demandées ont été précédemment transférées dans la mémoire cen- trale. Dans la négative, le processeur de commande 24 applique à son tour un signal "de transmission" à l'é- tage de jonction de disques 16 et le dispositif de com- mande local 36 de celui-ci provoque l'extraction de -12- données dans le tampon associé 40, leur transmission à travers la jonction de mémoire 44 associée jusque sur le bus de données 18 et, de là, jusqu'à la mémoire cen- trale 22. En même temps, le dispositif de commande local 28 de l'étage de jonction principale 12 disponible dé- verrouille la jonction de mémoire 34 associée, de sorte que les données nouvellement lues sont reçues de la mé- moire centrale 22 et transmises dans le tampon de don- nées 30 de l'étage de jonction principale. Par ailleurs, si cela s'est produit, les données sont immédiatement extraites du tampon 30, "séquentialisées" par le module de jonction principale 32 et transmises à l'ordinateur principal 10. Dans un mode de réalisation de variante, les tampons principaux 30 et les tampons de disques 40 peuvent être supprimés, leurs fonctions étant alors assurées par la mémoire centrale 22. De cette manière, des segments de données qui ont été dispersés entre un certain nombre d'unités de disques peuvent être compilés, mis en file d'attente puis réassemblés automatiquement sous forme séquentielle. En conséquence, l'information parvenant à l'ordinateur principal 10 à partir des diverses unités de disques 20 apparaît sous la forme séquentielle, exactement comme si elle était lue sur une bande. De la manière décrite précédemment, la mémoire centrale rapide constitue un "abri" dans lequel des don- nées peuvent être choisies et mises en file d'attente en vue de leur réassemblage ultérieur sous la forme sé- quentielle avant d'être dirigées vers l'ordinateur prin- cipal. Comme le comprendront aisément les spécialistes de cette technique à la lumière des enseignements de la présente invention, les divers éléments du dispositif de -13 - mémorisation virtuelle suivant l'invention peuvent être assemblés à partir d'éléments disponibles dans le com- merce et peuvent être couplés entre eux d'une manière convenable quelconque. Par exemple, bien que les divers éléments de l'étage de jonction de disques 16 soient représentés comme étant tous disposés à un unique em- placement éloigné du processeur de commande 24, en fait ces éléments peuvent être disposés à des emplacements différents et peuvent être couplés au moyen de câbles ou bus appropriés, ou analogues. Les dispositifs de commande locaux à microprocesseur utilisés pour faire fonctionner les composants de chaque étage de jonction * n'ont besoin d'offrir qu'une capacité relativement li- mitée et peuvent comprendre un quelconque des divers microprocesseurs rapides disponibles sur le marché. Un.exemple de tels microprocesseurs est le LSI-11 distribué sur le marché par DEC Incorporated de Boston, Massachusetts, EU ; selon une variante, une unité con- venable peut être assemblée à partir de la série de pièces 2900 de.AMD Co. D'une manière analogue, les jonctions principales et de disques 12 et 16 qui assu- rent la "séquentialisation" et la "déséquentialisation" de l'information peuvent être des unités standards, telles que le multiplexeur de blocs, modèle 370 dispo- nible chez IBM Corporation d'Armonk, New York, ESUA. D'une manière analogue, un multiplexeur de blocs IBM peut être utilisé pour un accès direct à la mémoire, la connexion effective des diverses unités étant bien connue des spécialistes. De même, les tampons 30 et 40 utilisés pour la mémorisation temporaire de données dans les étages de jonction principale et de disques 12 et 16 peuvent être de n'importe quel type approprié bien que, dans un mode de réalisation actuellement préféré, on utilise une mémoire d'au moins 64 K multiplets. Un tampon de ce -14- type disponible dans le commerce est fabriqué par Fairchild Seriiconductor; il comprend une mémoire à accès direct à N'-MOS d'une vitesse de 200 nanosecondes. La mémoire rapide 22 qui sert d'abri ou cache de données doit être du type généralement dénommé "mé- moire à accès rapide", c'est-à-dire ayant une durée de cycle de 400 nanosecondes ou moins. Dans un mode de réa- lisation préféré, l'abri à grande vitesse a une capaci- té de 16 millions de multiplets. Une mémoire particu- lière disponible dans le commerce et qui est propre à être utilisée avec l'invention est fabriquée par Intersil Corp., Sunnyvale, Californie, EUA, et est distribuée par Storage Technology Corp. de Louisville, Colorado, EUA, Déposant de la présente demande; cette mémoire est désignée sous le nom de "modèle 3758" ou "modèle 3768". La Fig. 3 est une représentation fonctionnelle du fonctionnement du dispositif suivant l'invention sur un mode "lecture", dans lequel l'ordinateur principal 10 a demandé de l'information contenue dans la mémoire. Les signaux de commande sont représentés par des lignes en trait plein et la circulation des données par des lignes en trait interrompu. En conséquence, l'ordina- teur principal 10 transmet un signal d'ordre à l'opéra- teur humain pour demander une certaine information (par exemple "monter bande N") et étant donné que l'ordina- teur principal 10 "suppose" que les données sont stoc- kées sur bande sous forme séquentielle, seule l'identi- fication initiale ou "label" a besoin d'être spécifiée. D'autres éléments du dispositif de mémorisation vir- tuelle, en particulier le processeur de commande 24, répondent à l'information en accédant à toutes les don- nées qui correspondent à l'information demandée et en provoquant l'assemblage de ces données sous forme sé- quentielle. -15 - L'ordinateur principal 10 appelle donc simple- ment la bande N dont il "suppose", conformément à l'in- formation fournie par le programme individuel qu'il est en train d'exécuter, qu'elle contient un ensemble de données particulier. En fait, dans le cas du dispositif de mémorisation virtuelle suivant l'invention, cet ensemble de données particulier peut être réparti sur un certain nombre de disques différents et/ou peut être situé à un certain nombre d'emplacements sur un mgme disque. En conséquence, le dispositif de mémorisation virtuelle suivant l'invention répond à un ordre à l'opé- rateur tel que "monter bande N" en recherchant dans sa propre mémoire pour indiquer par des données o les di- verses parties de l'enregistrement que l'ordinateur principal a dénommé "bande N' ont été stockées, La ré- ponse du dispositif ne consiste donc pas à inciter un opérateur à monter la bande N mais simplement à rappe- ler l'information relative à l'emplacement ou aux em- placements de l'ensemble de données identifié par la dénomination "bande N" à partir de sa propre mémoire. Lorsque l'étage de jonction principale 12 in- dique qu'une instruction "monter bande N" a été exécu- tée, ce qui est pratiquement instantané par comparaison avec le montage d'une bande réelle, l'ordinateur princi- pal 10 transmet un ordre à la jonction 12 pour désigner l'identité spécifique du bloc d'information à lire. Cet ordre est transmis directement par l'étage de jonction de disques 12 au processeur de commande 24 qui identifie les diverses zones dans lesquelles l'information est stockée. Ce résultat peut être obtenu grâce à l'utilisa- tion d'un enregistreur de données 46 couplé avec le pro- cesseur de commande. Dans un mode de réalisation ac- tuellement préféré, l'enregistreur de données 46 com- prend une mémoire à accès directe (RAM) (qui peut être complétée à titre de secours par une unité de dérouleur -16- de bande et de la bande associée en cas de perte de mé- moire dans la RAM) dans laquelle les emplacements des divers sous-blocs de données qui constituent ensemble les données demandées pEr l'ordinateur principal 10 sont enregistrés. Une fois que les emplacements des divers sous- blocs de données ont été identifiés pour le compte du processeur de commande 24, des signaux sont appliqués aux parties "dispositif de commande" des divers étages de jonction de disques 16, après quoi un accès aux don- nées est assuré à partir des diverses unités de disques 20. Les données sont alors transférées dans le tampon de l'étage de jonction 16 et sont préparées en vue de leur transmission à l'abri ou mémoire centrale 22 pour y résider temporairement jusqu'à ce qu'elles soient nécessaires aux divers étages de jonction principale 12. Lorsque le tampon 40 est rempli de données, un signal est transféré de l'étage de jonction de dis- ques 16 au processeur de commande 24 pour indiquer ce fait et, à ce moment, le processeur de commande 24 transmet l'information tamponnée directement à un es- pace antérieurement affecté à cet effet dans l'abri ou mémoire centrale rapide 22. Avec les dispositifs à bande de la technique antérieure, l'opération "montage" initiale prend ordi- nairement environ 30 s à 50 mn. Le temps total néces- saire pour exécuter un ordre "lire" varie entre 1 et 10 millisecondes selon les caractéristiques du dispositif individuel et, bien entendu, selon la longueur de l'en- registrement lu. Dans un mode de réalisation préféré du dispositif de mémorisation virtuelle représenté, une opération "montage" prend généralement moins d'une se- conde. L'opération "lecture" effective prend générale- ment 1 à 10 millisecondes comme précédemment, selon la longueur de l'enregistrement et les caractéristiques de -17- l'abri 22. En conséquence, à ce stade, l'in.formation qui doit avoir été lue aura été très rapidement placée dans l'abri 22 o elle est stockée jusqu'à ce qu'un signal provenant de la jonction de mémoire 12 indique à l'abri que l'ordinateur principal est prêt à recevoir les don- nées. A ce moment, les données ont alors été recueillies à partir des divers points des divers disques 20 o elle a été stockée, a été mise sous forme séquentielle dans l'ordre convenable et est prête à être transférée dans l'ordinateur principal 10 sans retard de temps d'a- dressage ou de recherche de l'information sur les di- vers disques. Il est donc clair que le dispositif de mémoire suivant l'invention offre des avantages tempo- rels considérables par rapport aux disques et que, par rapport aux dispositifs à bande, il évite complètement les délais de temps de montage. De cette manière, le "tamponnage anticipé" assuré par l'utilisation de l'abri combine les avantages du disque et de la bande en ce sens qu'il combine l'absence de montage que permettent les disques avec la structure séquentielle des bandes, ce qui économise du temps pour l'ordinateur principal du fait que les données sont complètement organisées dans l'abri. En même temps, grâce à l'organisation supérieure et à la coopération des divers éléments, une très petite fraction de la mémoire à disques effec- tive est affectée à la commande d'une activité de lec- ture/écriture ou à la mise à jour ou à l'enregistrement des données dans cette fraction, parfois désignée sous le nom de facteur "de zone de manoeuvre" de la capacité des mémoires à disques. En conséquence, un pourcentage beaucoup plus élevé de la mémoire à disques effective est disponible pour les données. De cette manière, l'ef- ficacité de stockage de la mémoire à disques peut être portée à un niveau analogue à celui de la bande. Dans le mode "écriture" principal représenté -18- sur la Figure 4, la procédure est sensiblement l'inver- se de celle du mode "lecture" qui vient d'être décrite. Comme sur la Fig. 3, les signaux de commande sont repré- sentés par des lignes en trait plein et la circulation des données par des ligneEk6n trait interrompu. Lorsque l'ordinateur principal 10 signale, au moyen de codes de dérouleur de bande classiques, qu'il désire "écrire" ou enregistrer des données, cet ordre est transmis, par l'intermédiaire de l'étage de jonction 12, au processeur de commande 24. Ce dernier commande à la jonction 12 d'accuser réception de l'ordre et en même temps inter- roge les étages de jonction de disques 16 afin de trou- ver un tampon 40 propre à accepter tout ou partie des données. Lorsque de tels emplacements sont déterminés, ils sont enregistrés dans l'enregistreur de données 46 par le processeur de commande 24. Le processeur de commande 24 commande alors à l'étage de jonction principale 12 d'accepter les don- nées provenant de l'ordinateur principal 10 et de les diriger vers des emplacements appropriés dans le tampon de données 50 de l'étage de jonction principale 12. Si le tampon 30 vient à 9tre rempli avant qu'un espace correspondant soit disponible dans les tampons 40 des étages de jonction de disques, une instruction "affec- ter espace" est transmise par le processeur de commande à l'abri-mémoire 22, après quoi des données provenant du tampon de l'étage de jonction principale sont appli- quées à cet abri-mémoire 22. A un certain instant ulté- rieur, lorsqu'une capacité de tampon convenable est disponible dans un ou plusieurs étages de jonction de disques 16, le processeur de commande commande à la mémoire-abri 22 de transmettre les données stockées aux tampons 40 des étages de jonction de disques 16 appropriés en vue de leur disposition sur les disques des unités de disques 20 associées. -19- Lors de l'application de chaque bloc de don- nées à une jonction principale 32 par l'ordinateur prin- cipal 10, le module de jonction de mémoire 34 détermine o, dans le tampon associé 30, l'information nouvelle- ment reçue sera stockée; comprime les données de façon séquentielle de manière à produire par exemple huit voies de données, et ajoute un ou plusieurs bits d'i- dentification au bloc d'information pour indiquer la dimension de celuici. De cette manière, des données sont continuellement transmises aux tampons 30 jusqu'à ce qu'un bloc de données déterminé soit complet ou jus- qu'à ce que l'ordinateur principal engendre un signal indiquant la fin d'un enregistrement donné. Sous un im- portant aspect de l'invention, un tel signal est inter- prêté par le dispositif de commande local 28 comme un signal de fin de message après lequel aucun autre espace de mémoire tampon n'a besoin d'être affecté. A ce stade, le processeur de commande 24 di- rige les données maintenant stockées dans le tampon de données 30 vers l'abri rapide 22. Pendant le temps au cours duquel l'ordinateur principal stocke des données dans le tampon de données 30, comme décrit précédem- ment, le processeur de commande 24 peut "rechercher" un espace suffisant sur les unités de disques 20 et peut affecter cet espace aux données alors en train d'âtre stockées dans le tampon de données 30. Ainsi, lorsque le signal de fin d'enregistrement est reçu dans les données du processeur de commande, celles-ci peuvent ftre "séquentialisées" et transmises à l'abri rapide qui sert d'espace de mémorisation temporaire et peuvent alors être transférées aux unités de disques 20 en vue de leur stockage. En d'autres termes, lorsque l'ordinateur prin- cipal produit un ordre initial "monter bande", c'est-à- dire invite l'opérateur à prévoir une bande vierge à des -20- fins de stockage de données, cet ordre est transmis, par l'intermédiaire de l'étage de jonction principale 12, au processeur de commande 24. Le processeur de com- mande 24 répond à l'instruction "monter bande" en cher- chant de l'espace sur un ou plusieurs disques 20 et en réservant un espace convenable dans un ou plusieurs des tampons 40 des étages de jonction de disques. Cela fait, le processeur de commande 24 commande à l'étage de jonc- tion principale 12 d'accepter des données de l'ordina- teur principal 10, de les "déséquentialiser" et de les stocker dans le tampon 30 associé. Une fois que ce tam- pon est plein, si aucun autre espace de tampon n'est disponible, ces données sont transmises à l'abri-mémoire 22. Lorsqu'un espace de disque suffisant est disponible, le pas suivant réside en ce que le processeur de com- mande 24 commande à la jonction de disques 42 de l'éta- ge-de jonction de disques 16 d'écrire les données sur l'unité de disques 20 associée, après quoi le module de jonction 44 lit et "séquentialise" l'information en la plaçant dans le tampon 40 associé, d'o elle est écrite sur l'unité de disques 20 associée. On comprendra sisé- ment qu'une autre possibilité consiste à reproduire ou à mémoriser les donnée's sur un dérouleur de bande clas- sique si, par exemple, une duplication s'avère dési- rable; en d'autres termes, le dispositif de mémorisa- tion de données suivant l'invention peut être branché en parallèle avec un dispositif à bande classique de la technique antérieure si on le désire. Les spécialistes comprendront aisément que jO l'association d'un abri rapide avec un processeur de commande, conjointement avec des étages de jonction principale et de jonction de disques et avec des mo- dules de commande associés, permet de combiner les avantages des dispositifs à bande et à disques de la technique antérieure; plus précisément, l'accessibilité -21- facile des unités de disques est combinée avec l'effica- cité de stockage des dérouleurs de bande, ce qui permet l'obtention d'un "dispositif de mémorisation virtuelle" extrêmement efficace et rapide dans lequel, grâce à l'invention, un dispositif à disques "apparaît" au processeur central comme un dérouleur de bande, mais sans les inconvénients de celui-ci. Etant donné que les dis- ques de mémoire suivant l'invention sont montés en per- manence, une intervention d'un opérateur n'est pas né- cessaire lorsqu'un enregistrement du type bande (c'est- à-dire un enregistrement séquentiel) est désiré. En outre, les unités de disques de la technique antérieure peuvent être utilisées avec le dispositif de mémorisa- tion virtuelle suivant l'invention sans modification; c'est-à-dire que le dispositif suivant l'invention peut être considéré comme une unité ou jonction insérée entre un ordinateur principal de la technique antérieu- re et des unités de disques de la technique antérieure. En conséquence, il n'est pas nécessaire de modifier les unités de disques ni l'ordinateur principal pour pou- voir les faire fonctionner conjointement avec le dis- positif de mémorisation virtuelle suivant l'invention. De plus, on remarquera que le dispositif de mémorisation virtuelle suivant l'invention peut être utilisé pour établir une liaison entré un nombre quel- conque d'ordinateurs principaux et un nombre quelconque d'unités de disques. En conséquence, on comprendra ai- sément que si un opérateur dispose de plusieurs ordi- nateurs principaux et d'un nombre limité d'unités de disques, le dispositif de mémorisation virtuelle sui- vant l'invention peut être utilisé pour assurer une efficacité de stockage maximale et éliminer une multi- plication indésirable de dispositifs de mémoire à dis- ques ou à bande. Les unités de jonction principale sui- vant l'invention peuvent être couplées avec plusieurs -22- ordinateurs principaux. En outre, on remarquera que la présence d'une mémoire ou abri rapide est essentielle pour le "tamponnage anticipée qui constitue une très importante caractéristique de l'invention. En utilisant l'abri rapide comme tampon intermédiaire entre la jonc- * tion de l'ordinateur principal et les divers étages de jonction d'unité de disques, on peut assurer le tampon- nage de données multiplex; autrement dit, suivant l'in- vention, des données stockées à un certain nombre d'em- placements sur un certain nombre d'unités de disques (ce qu'on peut dénommer "stockage sous la forme aléa- toire") peuvent 8tre assemblées, "séquentialisées" et stockées temporairement dans l'abri rapide jusqu'à ce qu'elles soient appelées par l'ordinateur principal. De cette manière, aucun délai n'est nécessaire pour le transfert de l'information de la mémoire dans l'ordi-, nateur principal. D'une manière analogue, des données sorties de l'ordinateur principal peuvent 9tre arran- gées, divisées et stockées dans l'abri rapide jusqu'au moment o diverses zones de stockage sur disque sont disponibles pour mémoriser l'information. Une possibilité particulièrement importante offerte par le dispositif de stockage suivant l'inven- tion est la compression des données. Jusqu'à présent, une technique courante de la compression de données, qui peut impliquer le remplacement d'une longue chaîne de "1" ou de "0" numériques par des symboles indiquant la longueur de la chaSne, ne pouvait pas être utilisée avec des unités de disques, étant donn4,que cette tech- nique comprimait l'information d'adressage aussi bien que les données. Or, étant donné que, suivant l'inven- tion, des unités de disques prennent l'apparence d'une bande, cette difficulté de la technique antérieure est éliminée et la compression des données est rendue com- patible avec le stockage sur disques. De préférence, la -23- compression des données est réalisée dans l'étage de jonction principale, c'est-à-dire que, pendant une opé- ration d'écriture, de longues chaînes continues de "1" ou de 't0oi peuvent être détectées et remplacées par des symboles plus courts; pendant une opération de lecture, ces symboles sont détectés et remplacés par les données ainsi définies. Enfin, bien entendu, l'invention n'est nulle- ment limitée au mode de réalisation préféré particulier représenté et décrit; elle est susceptible de nombreu- ses variantes sans qu'on s'écarte pour cela de l'esprit ni du domaine de l'invention. l -24- - REVENDICATIONS - 1 - Dispositif de mémorisation de données destiné à être utilisé avec au moins un calculateur numérique principal, ledit dispositif étant caractérisé en ce qu'il comprend: au moins une unité de jonction principale capable, en réponse à des ordres provenant dudit calculateur numérique principal ou desdits calcu- lateurs numériques principaux, de stocker de l'informa- tion arrangée sous forme séquentielle ou d'accéder à une telle information, ladite unité ou chacune desdites unités comportant un premier tampon de données pour stocker des données reçues dudit calculateur numérique principal ou desdits calculateurs numériques principaux ou dirigées vers celui-ci ou ceux-ci; une mémoire cen- trale; au moins une unité de disques, ladite unité ou chacune desdites unités comportant une pluralité de disques capables de stocker de l'information numérique et un second tampon de données couplé avec l'unité de disques considérée et avec ladite mémoire centrale pour stocker des données reçues de ladite unité de disques considérée ou dirigées vers celle-ci; et une unité de commande couplée avec lesdites unités de jonction prin- cipale et de disques pour assurer la réception et l'ac- ceptation, par l'unité ou les unités de jonction princi- pale, de données sous forme séquentielle et pour per- mettre à l'unité ou aux unités de disques de stocker de l'information sous forme aléatoire et d'accéder à cette information sous la même forme. 2 - Dispositif de mémorisation de données des- tiné à être utilisé conjointement avec un ou plusieurs ordinateurs principaux et une ou plusieurs unités de disques, ledit dispositif étant caractérisé en ce qu'il comprend: un "abri" (ou cache) de données comportant une unité de mémoire rapide; un certain nombre d'étages de jonction d'ordinateur principal, au moins égal au nombre 2468 1 63 -25- d'ordinateurs principaux et comprenant chacun un dispo- sitif de commande local et des moyens de jonction pour coupler les jonctions d'ordinateur principal avec le ou les ordinateurs principaux et avec l'abri de données; un certain nombre d'étages de jonction d'unité de dis- ques comprenant chacun un dispositif de commande local et des moyens de jonction pour coupler l'étage de jonc- tion d'unité de disques considéré avec des unités de disques associées et avec l'abri de données; et un dis- positif de commande pour coordonner le fonctionnement des étages de jonction d'ordinateur principal, des éta- ges de jonction d'unité de disques et de l'abri de don- nées. 3 - Dispositif de mémorisation de données tel que revendiqué dans l'une des revendications 1 et 2, caractérisé en ce qu'il répond aussi bien à des ordres opérateur qu'à des ordres machine. 4 - Dispositif de mémorisation de données tel que revendiqué dans l'une des revendications 1 et 2, caractérisé en ce qu'il comprend en outre des moyens de compression de données et des moyens de décompres- sion de données. - Dispositif de mémorisation de données tel que revendiqué dans la revendication 2, caractérisé en ce que chaque étage de jonction d'ordinateur princi- pal comprend un tampon de données. 6 - Dispositif de mémorisation de données tel que revendiqué dans la revendication 2, caractérisé en ce que chaque étage de jonction d'unité de disques comprend un tampon de données. 7 - Procédé de mémorisation de données numé- riques, caractérisé en ce qu'il comprend les opérations consistant: à recevoir lesdites données dans une mé- moire centrale; à déterminer des emplacements de stoc- kage appropriés sur des unités de mémoire à disques; à -26_ transmettre lesdites données à des unités de jonction de disques associées auxdites unités de mémoire à dis- ques; et à écrire lesdites données à partir desdites unités de jonction de disques sur lesdites unités de mémoire à disques. 8 - Procédé suivant la revendication 7, ca- ractérisé en ce que la circulation de données entre lesdites unités de mémoire à disques et ladite mémoire centrale est commandée par un dispositif de commande0 9 - Procédé suivant la revendication 8, ca- ractérisé en ce que le dispositif de commande répond aussi bien à des ordres opérateur qu'à des ordres ma- chine. - Procédé suivant la revendication 7, ca- ractérisé en ce que lesdites données sont reçues à partir d'un ordinateur principal par une unité de jonc- tion principale et sont "déséquentialisées"' antérieure- ment à leur transmission à la mémoire centrale, puis "reséquentialisées" antérieurement à leur écriture sur les unités de mémoire à disques. 11 - Procédé suivant l'une des revendications 7 et 10, caractérisé en ce qu'il comprend en outre une opération de compression des données; 12 - Procédé suivant la revendication 7, carac- térisé en ce que les adresses des emplacements de stoc- kage auxquels les données sont mémorisées sur les uni- tés de disques sont enregistrées dans une mémoire à accès direct. 13 - Procédé suivant la revendication 12, ca- ractérisé en ce que lesdites adresses sont en outre en- registrées dans d'autres moyens de mémoire. 14 - Procédé permettant de retrouver des don- nées stockées surune pluralité d'unités de mémoire à disques, caractérisé en ce qu'il comprend les opérations consistant: à déterminer o lesdites données sont stoc- -27- kées; à faire retrouver lesdites données à partir des- dites unités de mémoire à disques et à les faire écrire dans une mémoire centrale; à faire mettre lesdites don- nées en file d'attente dans ladite mémoire centrale; et à faire transmettre lesdites données à un ordinateur principal. - Procédé suivant la revendication 14, ca- ractérisé en ce que lesdites données sont "déséquentia- lisées" avant d'être écrites dans la mémoire centrale et sont "reséquentialisées avant d'être transmises à l'ordinateur principal. 16 - Procédé suivant l'une des revendications 14 et 15, caractérisé en ce qu'il comprend en outre une opération de décompression des données. 17 - Procédé suivant la revendication 14, ca- ractérisé en ce qu'il comprend en outre une opération consistant à mémoriser lesdites données dans un tampon interposé entre la mémoire centrale et l'ordinateur principal. 18 - Procédé suivant la revendication 14, ca- ractérisé en ce-que la circulation de données entre les unités de disques, la mémoire centrale et l'ordinateur principal est commandée par un dispositif de commande. 19 - Procédé suivant la revendication 18, ca- ractérisé en ce que ledit dispositif de commande répond aussi bien à des ordres opérateur qu'à des ordres ma- chine. - Procédé de mémorisation de données numé- riques, caractérisé en ce qu'il comprend les opérations consistant: à recevoir des données organisées séquen- tiellement d'un ordinateur principal dans des moyens de jonction principale; à déterminer quelles portions des moyens de mémoire à disques sont disponibles pour le stockage desdites données; à subdiviser lesdites don- nées en blocs correspondant auxdites portions; et à stocker lesdites données sous forme de blocs dans les- dites portions. 21 - Procédé suivant la revendication 20, caractérisé en ce que lesdites données sont "déséquen- tialisées" dans lesdits moyens de jonction principale. 22 - Procédé suivant l'une des revendications et 21, caractérisé en ce que lesdites données sont mémorisées dans une mémoire centrale avant d'être stoc- kées dans lesdites portions. 23 - Procédé suivant la revendication 21, ca- ractérisé en ce que lesdites données sont comprimées dans lesdits moyens de jonction principale. 24 - Procédé suivant la revendication 20, ca- ractérisé en ce que les adresses des emplacements aux- quels lesdites données sont stockées sont mémorisées dans des moyens de mémoire à accès direct. ___ - Procédé suivant la revendication 20, ca- ractérisé en ce que les données organisées séquentielle- ment sont en outre stockées sur des moyens de mémoire à bande classiques.