FR2458846A1 - Sous-ensemble a antememoire pour ensemble de memorisation a disques magnetiques - Google Patents
Sous-ensemble a antememoire pour ensemble de memorisation a disques magnetiques Download PDFInfo
- Publication number
- FR2458846A1 FR2458846A1 FR8012450A FR8012450A FR2458846A1 FR 2458846 A1 FR2458846 A1 FR 2458846A1 FR 8012450 A FR8012450 A FR 8012450A FR 8012450 A FR8012450 A FR 8012450A FR 2458846 A1 FR2458846 A1 FR 2458846A1
- Authority
- FR
- France
- Prior art keywords
- data
- memory
- storage
- cache
- controller
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Bus Control (AREA)
Abstract
L'INVENTION CONCERNE UN SOUS-ENSEMBLE A ANTEMEMOIRE DESTINE A UN SYSTEME DE TRAITEMENT DE DONNEES. ELLE SE RAPPORTE A UN SOUS-ENSEMBLE QUI COMPREND UNE MEMOIRE 14 FORMEE D'UNITES DE DISQUES MAGNETIQUES QUI CONSERVENT DES DONNEES, UNE MEMOIRE 16 A ACCES DIRECT, DESTINEE A CONSERVER DES DONNEES PREDETERMINEES ET DE CAPACITE INFERIEURE A LA MEMOIRE 16, ET UNE COMMANDE RELIANT CES DEUX MEMOIRES AU SYSTEME DE TRAITEMENT DE DONNEES ET REGLANT LA COMMUNICATION. SELON L'INVENTION, LE TEMPS NECESSAIRE A LA RESTITUTION DES INFORMATIONS DE LA MEMOIRE 16 EST INFERIEUR AU TEMPS NECESSAIRE A LA RESTITUTION D'INFORMATIONS DE LA MEMOIRE 14. APPLICATION A LA REDUCTION DES TEMPS DE TRAITEMENT DES SYSTEMES DE TRAITEMENT DE DONNEES.
Description
La présente invention concerne le domaine des
mémoires à disques magnétiques rotatifs pour ordinateurs.
Plus précisément, elle concerne une architecture perfec-
tionnée de sous-ensembles dans laquelle une mémoire à semi-conducteur à grande vitesse ayant une petite di- mension permet un accès très rapide aux informations qui sont souvent utilisées par l'unité centrale de traitement. Depuis l'introduction du système 360, une
architecture normalisée a été établie pour la conne-
xion des dispositifs d'entrée-sortie aux unités cen-
trales de traitement de type "IBM". L'unité centrale de traitement communique par l'intermédiaire d'un
"canal" avec des dispositifs périphériques d'entrée-
sortie. Le circuit de couplage à canal permet la con-
nexion d'une unité de commande de stockage qui inter-
prète les ordres de l'unité centrale de traitement et dirige l'écriture des informations sur les unités de
disques ou l'accès aux informations de ces unités.
En pratique, l'unité de commande de mémorisation se connecte à un contrôleur de disques qui lui-même peut coopérer avec plusieurs unités de stockage à disques magnétiques rotatifs. Une unité de commande de stockage du type décrit précédemment est l'unité "Memorex" 3674, décrite dans la brochure Memorex Publication 3674.21-00 "3674 Storage Control Unit Theory of Operation". Un contrôleur de disques du type décrit précédemment est du type "Memorex" 3673, décrit dans la brochure Memorex Publication 3673.21-02
"3673/75/70 Disc Storage Subsystem Theory of Operation".
Des unités de stockage à disques du type décrit pré-
cédemment sont les modules "Memorex" 3670 et 3675
d'unités de disques, décrits dans la seconde des bro-
chures précitées. L'interconnexion du canal au con-
trôleur de disques de l'unité de commande de stocka-
ge et aux modules d'unités de disques est décrite aussi
dans la seconde brochure précitée.
-22458846
On sait aussi qu'un contrôleur de disques,
par exemple du type "Memorex" 3673, connecté à plu-
sieurs modules d'unités de disques, peut être relié à plusieurs unités de commande de mémorisation par mise en oeuvre d'un commutateur de chaîne. Cette caracté-
ristique de commutation de chaîne se rapporte à un ar-
rangement de circuitsmatérielset de microprogrammation,
permettant la formation d'un circuit de couplage pro-
grammé par l'utilisateur et qui permet ainsi la commu-
nication de plusieurs unités de commande de stockage avec une seule chaîne d'unités de disques commandée
par le contrôleur de disques du type 3673.
Une demande de stockage d'une donnée particu-
lière ou une demande d'accès à une donnée particulière
est déclenchée par le canal. La chaîne de disques ob-
tient l'accès à l'information particulière par l'inter-
médiaire de l'unité de commande de stockage et du con-
trôleur de disques. Cependant, un retard apparaît dans ce processus du fait de la configuration mécanique et électronique des composants. Dans le cas particulier de la configuration mécanique des unités de stockage à disques, les têtes magnétiques de lecture-écriture sont fixées rigidement à un chariot mobile qui peut
avoir accès à plusieurs pistes préalablement enre-
gistrées sur l'unité de disque. Une demande d'infor-
mation nécessite souvent le déplacement du chariot
portant les transducteurs magnétiques de lecture-
écriture vers la piste qui conserve les données. Le temps nécessaire à cet accès-par le chariot peut être
aussi faible que 10 ms mais peut aussi atteindre 50 ms.
En outre, lorsqu'une piste particulière a été atteinte et lorsque le chariot est verrouillé électroniquement en place afin qu'il suive l'information de recherche
asservie, un autre retard se présente lorsque le dis-
que tourne jusqu'à la position convenable qui contient l'information voulue. Le retard dû à la rotation du disque ou "latence" peut être négligeable ou peut atteindre 17 ms dans le cas de disques tournant à 3600 tr/min. En moyenne, cette latence correspond à un retard d'environ 8 ms dans le cas des disques tournant à 3600 tr/min. Les retards dus à la latence et au temps d'accès peuvent atteindre des temps
système importants qui ont une influence sur les ca-
ractéristiques de l'unité centrale de traitement lors-
qu'elle effectue les tâches voulues.
- En outre, du fait de leur propre nature, les
unités de stockage à disques ne transfèrent l'informa-
tion au canal, par l'intermédiare des dispositifs convenables de commande, qu'à des fréquences fixes
de transmission de données. Cette fréquence de trans-
mission de données est fonction de la densité des bits d'information conservés sur le dispositif de stockage à disques et de la vitesse de rotation des disques eux-mêmes. Dans le cas des unités "Memorex" 3670 et 3675, la vitesse de transmission de données correspond à une fréquence nominale de 806 000 octets
par seconde; cependant, le canal, du fait de ses pro-
pres restrictions, permet souvent la transmission avec des fréquences bien supérieures à 806 000 octets par seconde. Ainsi, l'unité de stockage à disques ne met pas en oeuvre complètement la vitesse maximale des circuits électroniques du canal, et les architectes des différents systèmes ont appris à s accommoder de ce fait. On sait aussi que, bien qu'on connaisse des
unités de stockage à disques constituant des disposi-
tifs de stockage à accès direct, c'est-à-dire pouvant enregistrer ou restituer une information particulière
à peu près pendant le même temps écoulé, les utilisa-
teurs n'enregistrent pas et ne restituent pas très fréquemment les informations de façon aléatoire, dans
les installations normales comprenant les ordinateurs.
En pratique, l'utilisation des unités de stockage à disques est souvent "regroupée" dans le temps autour d'ensembles particuliers de données. Le résultat de
ce phénomène est que des pistes particulières d'in-
formation dans une unité de stockage à disques sont souvent atteintes ou remises à jour, à l'exclusion de centaines de millions d'octets d'autres informa- tions. Ainsi, le principe de l'utilisation d'une "antémémoire" a été exploré pour la conservation de
l'information cherchée le plus souvent dans un cir-
cuit tampon à grande vitesse, fonctionnant-d'après la probabilité pour que l'information soit recherchée à l'exclusion de la plupart des autres informations actuellement conservées dans des unités de stockage à
accès direct de plus grande capacité.
Les brevets des Etats-Unis d'Amérique no 4 075 686 et 4 070 706 décrivent tous deux des
configurations de système mettant en oeuvre une anté-
mémoire donnant un accès rapide à une information prioritaire afin que les caractéristiques du système soient améliorées. Cependant, aucun de ces brevets ne décrit ou ne suggère particulièrement l'application d'une antémémoire à semi-conducteur à grande vitesse à l'architecture classique des chaînes d'unités de disques. Le brevet des Etats-Unis d'Amérique n0 3 949 369 décrit un système de calcul numérique mettant en oeuvre
un circuit tampon à grande vitesse formant antémémoi-
re. Ce dernier brevet note que l'information contenue dans ce circuit tampon peut en pratique avoir une
structure telle qu'un système hiérarchique est éta-
bli dans l'information en fonction de sa fréquence d'utilisation. L'information utilisée-le plus souvent a l'ordre hiérarchique le plus élevé et l'information utilisée le moins souvent a l'ordre hiérarchique le plus bas. Lorsque des informations supplémentaires doivent être conservées dans l'antémémoire à grande vitesse et qu'il n'y a pas d'espace disponible,
l'information utilisée le moins fréquemment, actuel-
lement présente dans le circuit tampon, est effacée.
Le principe de l'algorithme de détermination de l'in-
formation la moins utilisée a été étudié dans le bre-
vet des Etats-Unis d'Amérique no 3 737 881. Ce brevet décrit plus précisément les critères de l'application d'une antémémoire au traitement de "pages" d'informa-
tions, dans une mémoire à domaines magnétiques à gran-
de vitesse. Dans l'industrie des ordinateurs, les "pa-
ges" sont des blocs prédéterminés ayant une certaine dimension, imposée par le système d'exploitation ou de programmation de commande du système. En général,
l'introduction des techniques de stockage ou de mémo-
risation virtuelle, mises en oeuvre dans la configura-
tion du système d'exploitation ou de programmation de commande du système, s'est accompagnée du concept de stockage à grande vitesse pouvant être utilisé pour l'accès très rapide de l'unité centrale de traitement
aux informations fréquemment utilisées, dans que l'ac-
cès de cette unité centrale à des unités de stockage
à accès direct de plus grande capacité soit nécessai-
re. Un système fonctionnant par pages, décrit de fa-
çon générale et mettant en oeuvre une antémémoire à grande vitesse ainsi qu'une mémoire à disques de plus
grande capacité, est décrit dans le brevet des Etats-
Unis d'Amérique no 3 647 348. En outre, le concept de "dispositif de stockage apparent" est décrit dans le
brevet des Etats-Unis d'Amérique n0 3 569 938 selon le-
quel le stockage à grande vitesse est utilisé dans un
tampon intermédiaire, entre l'unité centrale de trai-
tement et un dispositif de stockage principal bien plus important afin que les caractéristiques de l'unité centrale de traitement soient améliorées. Cependant, aucun des brevets cités ne décrit ou ne suggère l'application d'une antémémoire à semi-conducteur à grande vitesse, mettant en oeuvre un algorithme de détermination d'informations les moins utilisées,à
une chaîne d'unités de disques, alors que cette appli-
cation peut être efficace.
L'invention concerne une antémémoire pour unités de disques ou un sousensemble à antémémoire pour unités de disques, mettant en oeuvre des unités de mémoire à semi-conducteur à grande vitesse placées au niveau du contrôleur d'une chaîne d'unités de dis- ques afin que l'accès aux données souvent demandées
soit plus rapide que celui qui peut être obtenu au-
trement de manière classique. L'antémémoire pour uni-
tés de disques comprend quatre constituants principaux 1. un circuit de couplage au contrôleur d'unités de disques,
2. un microprocesseur de commande d'antémémoi-
re 3. un microprocesseur de chargement et de contrôle
4. une antémémoire.
Le circuit de couplage (1) comprend un circuit électronique à bus de commande et de données permettant la connexion de l'antémémoire pour unités de disques à l'intérieur du contrôleur de disques. De cette manière,
l'unité de commande de stockage peut communiquer al-
ternativement avec l'antémémoire ou la chaîne d'unités de disques. En outre, dans certaines circonstances, l'antémémoire peut prendre la commande de la chaîne d'unités de disques et peut communiquer directement
avec les unités de disques, en établissant une condi-
tion de "chaîne occupée" vis-à-vis de l'unité de com-
mande de stockage. En outre, l'antémémoire peut en fait
être séparée du sous-ensemble à chaîne d'unités de dis-
ques si bien que les ordres de l'unité de commande de
stockage "traversent" simplement le contrôleur d'uni-
tés de disques et parviennent aux unités de stockage
à disques.
Le microprocesseur (2) de commande d'antémé-
moire est'fondamentalement un assemblage d'un micro-
processeur par tranches fonctionnant à grande vitesse,
de mémoires de travail et de registres de stockage.
Ce microprocesseur de commande d'antémémoire est le constituant central du sous-ensemble à antémémoire et met en oeuvre un microprogramme pour la commande de la
réponse de l'antémémoire aux ordres de l'unité de com-
mande de stockage, et le stockage de modules de données
dans-la mémoire de l'antémémoire.
Le microprocesseur (3) de chargement et de
contrôle est un assemblage de composants destiné à char-
ger le microprogramme de commande d'antémémoire d'un sup-
port externe dans une mémoire vive de commande.
La mémoire (4) de l'antémémoire est une mé-
moire à semi-conducteur à grande vitesse utilisée pour le stockage de l'information qui est demandée le plus
souvent par l'unité centrale de traitement. Ce micro-
processeur détermine quelle information doit être en-
registrée et conserve la trace des adresses des modu-
les de données lorsque l'information se trouve sur les
unités de stockage à disques.
Le sous-ensemble à antémémoire pour unités de disques est sous la commande d'un microprogramme. Dans
un mode de réalisation convenable, un algorithme de dé-
termination de l'information utilisée la moins récem-
ment est programmé afin que l'antémémoire conserve les modules de données. qui sont atteints le plus souvent et
efface de l'antémémoire les modules présentant une fai-
ble activité.
Lorsqu'un module de données se trouve dans l'antémémoire et lorsque l'unité centrale le demande,
ce module peut être transmis directement de l'anté-
mémoire à l'unité de commande de stockage et à l'unité centrale de traitement. Cette transmission des données ne dépend pas de la rotation d'un disque et c'est ainsi
un avantage de ce sous-ensemble à antémémoire que l'in-
formation puisse être transmise de la mémoire de l'an-
témémoire à l'unité de commande de stockage par "accès direct à la mémoire" à une vitesse qui n'est limitée
que par la fréquence du canal de données.
En outre, si un module particulier de données se trouve dans la mémoire de l'antémémoire et si une partie du module de données est demandée par l'unité centrale de traitement, le principe de fonctionnement de l'antémémoire permet l'utilisation du saut dans ce
module directement à l'information voulue. Cet avanta-
ge de saut est obtenu parce que le module de données est sous forme d'une mémoire à semi-conducteur à accès direct qui peut être atteinte par simple sélection de
l'adresse et qui ne dépend pas de la rotation d'un dis-
que. Ainsi, l'invention permet à une unité centrale de traitement d'un ordinateur un accès plus rapide aux
données fréquemment utilisées qu'en l'absence de la mi-
se en oeuvre de l'invention.
L'invention concerne aussi la mise en oeuvre d'une mémoire à semiconducteur à grande vitesse, sous
la commande d'un microprocesseur, pour le stockage d'in-
formations souvent utilisées.
Elle concerne aussi la commande du stockage de
l'information dans une antémémoire, en fonction d'un al-
gorithme.
Elle concerne aussi la disposition de l'anté-
mémoire pour unités de disques au niveau du contrôleur d'une chaîne d'unités de disques afin que l'antémémoire puisse interagir avec l'unité de commande de stockage et
puisse communiquer avec les unités de stockage à disques.
D'autres caractéristiques et avantages de
l'invention ressortiront mieux de la description qui va
suivre, faite en référence aux dessins annexés sur les-
quels: - la figure 1 est un diagramme synoptique d'un système de type connu, comprenant un ordinateur; - la figure 2 est un diagramme synoptique d'un système comportant un ordinateur et mettant en oeuvre un sous-ensemble à antémémoire pour unités de disques; - la figure 3 est un schéma indiquant comment les figures 6, 7a et 7b doivent être placées les unes à côté des autres; - la figure 4 est un diagramme synoptique d'une variante d'antémémoire pour unitésde disques, utilisée dans un système comprenant un ordinateur mais n'ayant pas d'unitésde commande de stockage; - la figure 5 est un diagramme synoptique des principaux constituants matériels de l'antémémoire pour unitésde disques; - la figure 6 est un diagramme synoptique du circuit de couplage de l'antémémoire au contrôleur de disques; - la figure 7a est un diagramme synoptique du circuit logique de commande de couplage d'antémémoire pour unités de disques; - la figure 7b est un diagramme synoptique du
microprocesseur de commande d'antémémoire, du micro-
processeur de chargement et de contrôle et de l'anté-
mémoire;
- la figure 8 est un diagramme synoptique re-
présentant sous forme simplifiée la configuration maté-
rielle de l'antémémoire pour unités de disques; - la figure 9 est un diagramme synoptique
illustrant la mise en oeuvre de l'appareil de la fi-
gure 8 lors de la commande des circuits suivant le mode à bit drapeau 0; la figure 10 est un diagramme synoptique
analogue à la figure 8 illustrant la commande des cir-
cuits, par mise en oeuvre de l'unité de commande de stockage - la figure 11 est un diagramme synoptique illustrant le mode de commande des circuits; - la figure 12 est un diagramme synoptique
illustrant la commande des circuits par simple traver-
sée;
- la figure 13 est un organigramme d'un mi-
croprogramme mis en oeuvre dans l'antémémoire;
- la figure 14 est un diagramme des temps re-
présentant des impulsions de synchronisation d'entrée et de synchronisation de sortie dans le cas d'un système connu; et - la figure 15 est un diagramme des temps re- présentant les impulsions de synchronisation d'entrée
et de synchronisation de sortie dans le cas d'une anté-
*mémoire pour unités de disques à fréquence variable de données.
La description détaillée d'un mode de réali-
sation avantageux comporte un certain nombre de chapi-
tres qui concernent des généralités (1), les circuits matériels de l'antémémoire pour unités de disques (2), les modes de fonctionnement des circuits matériels de
l'antémémoire (3), le logiciel du sous-ensemble à anté-
mémoire (4), la gestion du stockage (5), les ordres à bit drapeau zéro (6) , et la caractéristique de fréquence
variable des données (7).
1. Généralités.
On note sur la figure 1 (qui correspond à un système connu) qu'un système de traitement de données a habituellement une configuration telle qu'une unité centrale 2 de traitement communique par l'intermédiaire
d'un bus 4 de mémoire avec une mémoire principale 6.
L'unité centrale 2 peut communiquer de façon alternée,
par l'intermédiaire d'un bus 8 de canal ou d'entrée-
sortie avec une unité 10 de commande de stockage.
Lorsque des données doivent être restituées d'un sup-
port de stockage à disques, ou enregistrées sur un
tel support, l'unité centrale 2 de traitement dé-
clenche un ordre convenable. Cet ordre est trans-
formé par l'unité 10 de commande de stockage en une série d'ordres qui sont spécifiques de la nature des dispositifs adressés; dans le cas considéré, l'unité 10 de commande de stockage transforme les
ordres provenant de l'unité centrale 2 en ordres re-
connaissables par le contrôleur 12 de disques. L'unité il
de commande de stockage communique avec le contrô-
leur 12 par un circuit 13 de couplage de commande du système. Les ordres de l'unité 10 de commande de stockage sont à leur tour interprétés et exécutés par le contrôleur 12 d'unités de disques si bien qu'une information particulière peut être écrite à l'aide d'unités 14 de disques ou restituée par ces unités 14, par l'intermédiaire d'un circuit 15 de couplage
d'unités de disques. Les définitions de l'architec-
ture d'un ordinateur, de manière classique, y compris les circuits matériels de couplage, et les définitions des lignes de commande figurent dans les brevets cités
au début du présent mémoire.
On note sur la figure 2 que le sous-ensemble à antémémoire pour unités de disques selon l'invention est analogue au sous-ensemble connu représenté sur la la figure 1. Cependant, l'antémémoire 16 pour unités de disques est connectée au contrôleur 20 d'unités de disques, dans la hiérarchie des différents composants,
par l'intermédiaire d'un circuit 78 de couplage de com-
mande d'antémémoire. En fait, l'antémémoire 16 est
placéeen réalité en avant du circuit logique du con-
trôleur (référence 62 sur la figure 6) et des unités 14 de disques. L'antémémoire 16 représente un niveau de hiérarchie des mémoires compris entre le stockage
de type plus lent représenté par exemple par les sys-
tèmes à disques, et le stockage de type plus rapide
représenté par exemple par la mémoire principale 6.
L'antémémoire 16 contient des informations internes qui sont utilisées pour la manipulation des modules
de données qui sont partagés par le contrôleur con-
necté 20 et la chaîne des unités connectées 14 de dis-
ques. Dans le présent mémoire, l'expression "module de données" est une expression générique s'appliquant à un bloc ou une unité fixe de données de dimension commode. Lorsqu'elle communique avec le contrôleur 20
et les unités 14 de disques, l'antémémoire 16 effec-
tue des opérations d'entrée-sortie à une vitesse qui est limitée par la vitesse de rotation des unités 14 de disques. Cependant, les opérations d'entrée-sortie entre l'unité 18 de commande de stockage et l'antémémoire 16 peuvent être exécutées à une vitesse de
transmission bien supérieure (réduction du temps d'at-
tente ou de latence) à celle qui est possible avec la configuration et l'architecture connues, comme décrit
plus en détail dans le chapitre concernant la carac-
téristique de fréquence variable des données, dans la
suite du présent mémoire.
Dans le sous-ensemble de la figure 2 qui contient une antémémoire 16 destinée à être connectée par un circuit 78 de couplage de commande au contrôleur
et à la chaîne d'unités 14 de disques, le fonction-
nement est le suivant, de façon générale.
Dans le cas d'une opération de restitution de données, l'unité centrale 2 exécute une demande d'entrée-sortie correspondant à un ou plusieurs modules déterminés de données, contenus dans les unités 14 de disques, cette demande étant transmise par le bus 8 de
canal à l'unité 18 de commande de stockage. Cette uni-
té 18 transforme la demande de l'unité centrale 2 en un jeu d'ordres acceptables par l'antémémoire 16. Comme indiqué sur la figure 5, lorsque le module demandé de données est présent dans la mémoire 54 de l'antémémoire 16, il est transmis à l'unité 18 de commande de stockage
par l'intermédiaire du circuit 13 de couplage de com-
mande du système et du circuit 78 de couplage de com-
mande de l'antémémoire. Lorsque le module de données qui est demandé n'est pas présent dans la mémoire 54
de l'antémémoire, cette dernière recherche, par l'in-
termédiaire du circuit 78 de couplage et du bus 15, le module nécessaire de données dans les unités 14 de disques par l'intermédiaire du contrôleur 20, et elle le conserve dans sa mémoire 54. Le module de données demandé est alors transmis à l'unité 18 de commande de stockage par la mémoire 54 de l'antémémoire 16. (Il faut noter que l'ordre des opérations de l'antémémoire peut varier suivant le mode de réalisation particulier de l'invention, et que cet ordre dépend évidemment
du microprogramme).
Si l'unité centrale 2 de traitement veut re-
mettre à jour l'information sur un support de stockage (c'est-à-dire dans le cas d'une demande du type "écriture"), il est possible que la remise à jour ou le stockage de cette information soit réalisé soit
directement dans les unités 14 de disques par l'inter-
médiaire du contrôleur 20, soit par remise à jour ou écriture directement de l'information dans la mémoire
* 54 de l'antémémoire 16. (Là encore, l'ordre des opéra-
tions du sous-ensemble à antémémoire dépend du micro-
programme). Si cette information est écrite directe-
ment dans la mémoire 54 de l'antémémoire, elle est normalement transférée ultérieurement aux unités 14
de disques qui la stocke de façon permanente.
Lors de la mise en oeuvre de l'invention et
suivant certaines architectures de traitement de don-
nées, une unité de commande de stockage peut ne pas
être utilisée, et les opérations ou fonctions de l'uni-
té de commande de stockage sont exécutées dans l'unité centrale de traitement. Comme indiqué sur la figure 4, l'antémémoire 16 peut communiquer directement avec l'unité centrale 36 de traitement, à l'aide d'un
bus convenable 13 de commande de données et par l'in-
termédiaire du circuit 78 de couplage de commande d'antémémoire, dans le cadre de l'invention. Dans ce
mode de réalisation, l'unité centrale 36 de traite-
ment contient des informations convenables permettant la communication directe avec l'antémémoire 16 par
l'intermédiaire du bus 13 d'entrée-sortie. L'antémé-
moire 16 communique ensuite avec le contrôleur 20 et les unités 14 de disques par l'intermédiaire du bus 15 ib
d'entrée-sortie dé commande.
Ainsi, dans son mode de réalisation le plus général, l'antémémoire pour unitésde disques constitue une mémoire à grande vitesse, capable de remplir des fonctions, spécifique d'unités de disques et placée dans l'architecture du sous-ensemble d'entrée-sortie afin qu'elle permette, dans certaines circonstances, la restitution de l'information du sousensemble d'entrée-sortie à une vitesse supérieure à celle
que permet la mise en oeuvre des procédés connus.
2. Circuit matériel de l'antémémoire pour unités de disques. Le sousensemble à antémémoire pour unités
de disques décrit dans le présent mémoire est un appa-
reil qui combine des techniques mettant en oeuvre du
matériel et du logiciel pour l'obtention des résul-
tats voulus, décrits en détail précédemment. La ré-
alisation particulière de l'appareil (des composants
matériels dans le cas considéré) peut avoir de nom-
breuses formes, mais la figure 5 représente un mode
de réalisation d'antémémoire 16 pour unités de dis-
ques de la figure 2 qui convient à cet effet. On note
que les principaux constituants matériels du sous-
ensemble à antémémoire sont un circuit logique 48 de commande de circuits de couplage, un microprocesseur de commande d'antémémoire, un microprocesseur 52 de
chargement-contrôle et la mémoire 54 de l'antémémoire.
Le premier constituant matériel principal est le circuit 48 de couplage du microprocesseur 50 de commande d'antémémoire et du contrôleur 20 d'unités
de disques. Le circuit de couplage a pour rôle de per-
mettre la connexion du sous-ensemble à antémémoire au
contrôleur de disques comme représenté sur la figure 6.
Ce contrôleur peut être tel que le contrôleur de sto-
ckage à unités de disques "Memorex" 3673 qui est dé- crit de façon générale dans la brochure Memorex Publi-
cation 3673.21-03. Comme l'indique la figure 6, le
contrôleur 20 est modifié afin qu'il permette la con-
nexion de l'antémémoire 16 par addition d'un circuit de couplage 58 placé dans le circuit de couplage de commande du contrôleur d'unités de disques. Il faut noter que le circuit 58 de couplage est placé entre le circuit 13 de couplage de commande du système, après le commutateur 68 de chaîne, et le circuit logique 62 du contrôleur des unités de disques. Les lignes 64 de
commande relient les commutateurs 68 de chaîne au cir-
cuit 58 de couplage et les lignes 34 de commande re-
lient le circuit logique 62 du contrôleur au circuit 58 de couplage. Dans ce mode de réalisation particulier
considéré, il faut que le contrôleur d'unités de dis-
ques "Memorex" 3673 comporte le commutateur 68 de chai-
ne décrit dans la brochure Memorex Publication 3673.21-03.
Le circuit 58 de couplage forme les bus de données et
les lignes de commande nécessaires au circuit de cou-
plage de commande du système. Les lignes 70 de com-
mande d'antémémoire permettent au sous-ensemble à an-
témémoire d'assurer la commande du circuit de couplage des commutateurs de chaîne placés dans le contrôleur d'unités de disques. L'accès total aux circuits de couplage de commande est assuré, vers l'antémémoire, par des lignes 72 de commande du système et, à partir de l'antémémoire, par des lignes 74 de commande de l'antémémoire. Le second constituant matériel principal de
l'antémémoire 16 est un microprocesseur 50 de com-
mande d'antémémoire représenté sur la figure 5 et plus en détail sur la figure 7b. Dans un mode de réalisation particulier, on constate qu'un microprocesseur par tranches à grande vitesse, capable de gérer 4 000 000
d'instructions par seconde, peut constituer le micro-
processeur 76 de la figure 7b. Dans ce mode de réalisa-
tion particulier, on constate qu'on peut utiliser un microprocesseur courant tiré de la famille Advanced Micro Devices 2900 de paillettes de processeur intégrées à grande échelle. Cependant, de nombreux autres types de processeur peuvent être utilisés lors de la mise en
oeuvre du sous-ensemble à antémémoire selon l'inven-
tion, du moment qu'ils peuvent remplir les tâches de l'antémémoire. Les tâches principales du microproces- seur 50 de commande d'antémémoire sont (1) de répondre
aux ordres de commande et de transfert de données pro-
venant du circuit 78 de couplage de la figure 6, (2)
de conserver un répertoire des données disponibles ac-
tuellement dans la mémoire 54 de l'antémémoire des fi-
gures 5 et 7b (comme décrit en détail dans la suite),
(3) de commander et remplir la mémoire 54 de l'anté-
mémoire à l'aide des données des unités de disques qui ont la plus grande probabilité d'être demandées (comme décrit dans la suite), (4) d'assurer la mise en oeuvre
des procédures de détection d'erreurs et de rétablisse-
ment, et (5) de communiquer des données sur les perfor-
mances au microprocesseur 52 de chargement-contrôle.
Le troisième constituant matériel principal d'un mode de réalisation convenable de sous-ensemble à
antémémoire est le microprocesseur 52 de chargement-
contrôle de la figure 5. On constate qu'un tel micro-
processeur peut être formé par un microprocesseur "Intel" 8080A. Ce dernier est une unité centrale de traitement complète à 8 bits parallèles, traitant
2 000 000 de cycles par seconde. Il existe des micro-
processeurs disponibles dans le commerce et-qui peu-
vent être utilisés à la place du microprocesseur "Intel". Les tâches principales du microprocesseur 52 de chargement-contrôle sont (1) de commander le
chargement des informations de mémoire de commande pro-
venant d'une unité 84 de disques souples (comme dé-
crit dans la suite), et (2) d'exécuter les tâches de
contrôle de performancespour le sous-ensemble à anté-
35. mémoire.
Le dernier constituant matériel principal du sous-ensemble à antémémoire, tel que représenté sur la
figure 5, est la mémoire 54. Dans un mode de réalisa-
tion convenable d'antémémoire, la mémoire 54 est com-
posée de deux niveaux de mémoire à semi-conducteur. Le premier niveau de mémoire est formé par un circuit tampon 86 ayant une capacité d'une piste complète, comme représenté sur la figure 7b. Bien qu'il ne
soit pas indispensable selon l'invention que deux ni-
veaux de mémoire à semi-conducteur forment la mémoire 54 et bien qu'il ne soit pas non plus indispensable selon l'invention que l'unité d'information à conserver dans l'antémémoire 16 soit une piste complète de données
d'unités de disques, on constate que cette configura-
tion des circuits de l'antémémoire est commode. Ainsi,
le premier niveau de mémoire à semi-conducteur, le cir-
cuit tampon 86 ayant une piste complète de capacité, contient au moins une piste complète de données d'une
unité de disques et peut être réalisé à l'aide de di-
verses paillettes de mémoire à accès sélectif de type
statique ou dynamique.. On constate que le circuit tam-
pon 86 ayant une capacité d'une piste complète peut être avantageusement formé de circuits intégrés "Intel" 2147 ou 2117. Le second niveau de la mémoire 54 est sous forme de dispositifs de plus faible vitesse, et on utilise de façon satisfaisante des dispositifs à
couplage par charge pour ce niveau de mémoire à vi-
tesse plus faible. Dans le mode de réalisation consi-
déré, on utilise jusqu'à 12 méga-octets de dispositifs à couplage par charge dans une configuration formée par des dispositifs "Fairchild" F464 (chaque dispositif
peut conserver au maximum 64 000 bits d'informations).
En pratique, la mémoire 54 forme réellement deux ni-
veaux d'une hiérarchie de mémoire à trois niveaux du sous-ensemble à antémémoire, le premier niveau de stockage étant formé par les unités 14 de disques et les deux autres niveaux étant formés par les mémoires
à semi-conducteur décrites précédemment. Comme indi-
qué dans la suite, la fonction de la mémoire 54 est
de conserver des données des unités de disques confor-
mément à un algorithme qui conserve les données des unités de disques qui ont la plus grande probabilité d'être demandées par le système de l'ordinateur (comme décrit plus en détail dans la suite).
On décrit maintenant plus en détail les prin-
cipaux constituants matériels de l'antémémoire 16, en référence aux figures 7a et 7b. Les définitions qui
suivent sont utiles pour la compréhension de la des-
cription des circuits des figures 7a et 7b.
Circuit 90 de couplage Deux plaquettes de circuit im-
primé de commande de couplage comprenant un circuit logique pour la formation des bus de
données et des signaux de com-
mande destinés au circuit 78 de
couplage de commande de l'an-
mémoire.
Entrée directe 92 à la Entrée à accès direct à la mé-
mémoire de l'unité de moire qui comprend un circuit lo-
commande de stockage gique de demande de mémoire et des compteurs d'adresse et de
mot pour la commande des trans-
missions de données entre la mé-
moire 54 de l'antémémoire et
l'unité 18 de commande de sto-
ckage. Entrée 94 à accès di- Circuit d'entrée à accès direct
rect à la mémoire des à la mémoire qui contient un cir-
unités de disques cuit logique de demande de mé-
moire et des compteurs d'adres-
se et de mot, destinés à régler
les transmission de données en-
tre la mémoire 54 de l'antémé-
moire et les unités 14 de dis-
ques. Microprocesseur 76 de commande d'antémémoire Microprocesseur 82 de chargement-contrôle Mémoire 96 de travail Mémoire 98 de travail Dispositif de stockage
de commande de type ac-
tif - 30 Registre 102 en ligne Microprocesseur par tranches à 4 000 000 d'instructions par seconde, de la famille "AMD"
2900 de paillettes de proces-
seur intégrées à grande échelle.
Microprocesseur ayant une uni-
té centrale de traitement sous forme d'une seule paillette
"Intel" 8080A formant le com-
posant de base. Il fonctionne
à 2 MEIz et a une mémoire pas-
sive programmable effaçable de
commande de 2K X 8.
Mémoire statique à accès direct de 8K X 16 destinée à coopérer avec le microprocesseur 76 de
commande d'antémémoire.
Deux mémoires de microprocesseur de commande d'antémémoire à 16 octets X 8 du type premier entré-premier sorti, utilisées comme circuit tampon de données pour la communication avec le
microprocesseur 82 de charge-
ment-contrôle. 4K X 40 bits de mémoire à accès direct de type statique "Intel" 2147 utilisée comme mémoire de commande du microprocesseur 76
de commande d'antémémoire.
Registre de commande dont les
bits sont établis par les com-
mutateurs en ligne provenant du panneau 104 de l'opérateur. Le microprocesseur 76 de commande
d'antémémoire contrôle ce re-
gistre et détermine quelles uni-.
tés de disques doivent être re-
liées à l'antémémoire.
Panneau 104 de l'opéra-
teur Unité 84 de disques sou- ples Code 106 de correction
d'erreurs.
Circuit tampon 86 ayant une capacité d'une piste complète Mémoire 88 à dispositifs à couplage par charge
Bus 108 de données fon-
damentales
Bus 110 d'adressesfonda-
mentales Comporte des commutateurs de
mise sous tension et de vali-
dation d'antémémoire pour cha-
que unité de disques.
Unité de disques souples utili-
sée pour le chargement du mi-
croprogramme. Peut être du type
"Memorex" 550.
Circuit logique de détection et
de correction d'erreurs (sui-
vant le schéma de Hamming) uti-
lisé pour la correction des er-
reurs à un seul-bit et la détec-
tion des erreurs à deux bits.
4K X 40 bits de mémoire à accès direct de type statique mettant
en oeuvre des circuits paillet-
tes "Intel" 2147 (y compris le circuit de code de correction d'erreurs). 1 à 12 méga-bits de mémoire de dispositifsà couplage par
charge de type "Fairchild".
Bus bidirectionnel de données
destiné au transfert des don-
nées entre l'unité de commande de stockage ou les entrées à accès direct à la mémoire des
unités de disques et le cir-
cuit tampon 86.
Adresse de mémoire à trois états transmise au circuit tampon 86 par lecircuit 92 ou 94 d'accès direct à la mémoire de l'unité de commande de stockage ou
d'une unité de disques.
Bus C 138 Bus C 140 Bus Y 142 Bus B 144 Bus 148 d'adresse de mémoire Bus séquentiel 150
Bus 150 d'entrée d'an-
témémoire Bus bidirectionnel de données destiné au transfert entre le circuit tampon 86 et la mémoire 88 à dispositifs à couplage par charge. Bus source à trois états destiné à toutes les entrées externes
disponibles pour le micropro-
cesseur 76 de commande d'anté-
mémoire. Bus de destination à trois états destiné à toutes les entrées externes disponibles pour le microprocesseur 76 de commande d'antémémoire. Bus de données à trois états utilisé pour l'accès au circuit
logique 106 de correction d'er-
reurs, par le circuit tampon 86.
Bus d'adresse de mémoire utili-
sé par le microprocesseur 76 de commande d'antémémoire pour l'adressage du dispositif actif
de stockage de commande.
Bus séquentiel d'instructions par lequel le microprocesseur 76 obtient ses microinstructions provenant du dispositif 100 de
stockage de commande et par le-
quel il communique avec la mé-
moire de travail 98.
Bus d'entrée de données à 8
bits; il s'agit du bus d'en-
trée de données des lignes 72 de commande du système assurant les transferts de l'antémémoire
à l'unité de commande de stocka-
ge du système.
Bus d'entrée 152 Bus de sortie 156
Bus de sortie 158 d'an-
témémoire 25. Ligne 160 de commande Ligne 70 de commande d'antémémoire Bus d'entrée de données à 8
bits; il s'agit du bus d'en-
trée de données des lignes 74 de contrôle d'antémémoire, utilisées pour les transferts
de données des unités de dis-
ques à la mémoire de l'anté-
mémoire. Bus de sortie à 8 bits; il s'agit du bus de sortie des
lignes 72 de commande du sys-
tème utilisées pour le trans-
fert de données et des données d'ordre de commande provenant de l'unité 18 de commande de
stockage du système et desti-
nées à l'antémémoire 16.
Bus de sortie à 8 bits; bus de sortie des lignes 74 de
commande d'antémémoire uti-
lisées pour les ordres de com-
mande et les données lorsque l'antémémoire 16 commande les
unités 14 de disques.
Ligne de commande de couplage
alimentée dans le circuit lo-
gique 90 de couplage.
Un jeu de signaux de commande créé dans le circuit logique de couplage par le microprocesseur
76 pour la commande de la com-
mutation des multiplexeurs du circuit 58 de couplage de la figure 6 en vue de la sélection
du trajet voulu de communica-
tion pour le couplage.
BClxx Toutes les lignes indiquées dans le cadre 52 en traits interrompus de la figure 7b indiquent un bus ou un trajet de communication de commande qui existe mais qui n'est pas défini plus précisément dans
le présent mémoire.
Les figures 6, 7a et 7b doivent avoir l'o-
rientation indiquée sur la figure 3 pour être mieux comprises. Comme indiqué sur les figures 7a et 7b, le
microprocesseur 76 est le composant qui assure la com-
mande dans 1'antémémoire 16 pour unités de disques. Le
microprocesseur 76 reçoit toutes les données exté-
rieures par l'intermédiaire du bus 140 de données à 16 bits à trois états et il transmet des données
d'écriture à toutes les sorties externes par l'inter-
médiaire du bus 142 de données de sortie à trois états à 16 bits. Comme indiqué précédemment, l'une des fonctions fondamentales du sous-ensemble à antémémoire est de répondre aux ordres de commande et de transfert de données provenant de l'unité 18 de commande de stockage du système (figure 2) par l'intermédiaire
du circuit 78 de couplage de commande de l'antémémoire.
Le microprocesseur 50 de commande de l'antémémoire con-
trôle les ordres reçus en provenance du circuit logi-
* que 48 de commande du circuit de couplage et, à son
tour, du circuit 78 de couplage de commande de l'an-
témémoire. Le microprocesseur 50 est sensible aux
ordres et établit une réponse convenable dans des re-
gistres de commande à l'intérieur du circuit logique 48 de commande de couplage. Ces ordres sont alors
transmis au circuit 78 de couplage, telsque l'impo-
sent les spécifications du circuit de couplage de
commande, de manière connue.
Le microprocesseur 76 reçoit ses micro-
instructions du dispositif 100 de stockage de commande
qui est de type actif, par l'intermédiaire du bus sé-
quentiel 148. Le microprocesseur 76 adresse le dispo-
sitif 100 de stockage par l'intermédiaire du bus 146 d'adresse de mémoire. La mémoire de travail 96 est utilisée essentiellement par le microprocesseur 76 pour l'enregistrement d'une liste d'adresses de pistes d'unités de mémoire qui se trouvent actuellement dans la mémoire 54 de l'antémémoire. Les adresses de listes de pistes, conservées dans la mémoire 96 de travail, peuvent être cherchées et remises à jour dynamiquement par le microprocesseur 76 lors de-l'accès aux données
présentes dans la mémoire 54.
Le microprocesseur 76 met en oeuvre le bus D 140 et le bus Y 142 pour l'accès à la mémoire 96 de travail. En outre, d'autres données pertinentes de commande d'antémémoire sont conservées dans la mémoire 96 de travail, comme déterminé par le microprogramme
d'antémémoire (décrit dans la suite). Le microproces-
seur 76 intègre aussi l'information dans le registre 102 en ligne et détermine quelles unités 14 de disques
de la chaîne doivent être utilisées par l'antémé-
moire. Le circuit 92 à accès direct à la mémoire de l'unité de commande de stockage et le circuit 94 d'accès direct à la mémoire des unités de disques sont utilisés pour les transmission de données entre le circuit tampon 86 ayant une capacité d'une piste et l'unité 18 de commande de stockage du système et les unités 14 de disques respectivement. Les entrées d'accès direct à la mémoire sont programmées et contrôles par l'intermédiaire des bus D 140 et
Y 142, par le microprocesseur 76.
Le circuit tampon 86 est adressé par l'in-
termédiaire du bus 110 d'adressesfondamentaleset son contenu est transféré à l'entrée d'accès direct à la
mémoire ou en provenant d'une telle entrée par l'in-
termédiaire du bus 108 de données fondamentales.
Le circuit tampon 86 et la mémoire 88 à dis-
positifs à couplage par charge se partagent le cir-
cuit logique commun 106 de détection d'erreurs et de correction. Les transmissions de données entre le circuit tampon 86 et la mémoire 88 s'effectuent sui- vant le type d'opération connue comme constituant un accès direct à la mémoire, par l'intermédiaire du
bus bidirectionnel C 183 commandé par le microproces-
seur 76. En outre, le microprocesseur 50 de commande d'antémémoire programme le circuit logique d'accès
direct à la mémoire contenu dans la mémoire à dispo-
sitifs à couplage par charge par l'intermédiaire du
bus Y 142.
3. Mode de fonctionnement des circuits matériels de
l'antémémoire.
Bien que l'antémémoire pour unités de disques
selon l'invention puisse avoir de nombreuses configura-
tions, l'une de celles qui conviennent particulièrement bien est compatible à l'architecture de sous-ensembles "IBM" canal-unité de commande-dispositif, bien connue dans la technique. Comme indiqué sur la figure 8, l'unité 18 de commande de stockage est connectée au contrôleur 20 d'unités de disques par le circuit 13 de couplage de commande du système. Le contrôleur 20 est connecté à l'antémémoire 16 par l'intermédiaire
du circuit 78 de couplage. Le contrôleur 20 est con-
necté aux unités 14 de disques par le circuit 15 de couplage. La représentation des circuits 13, 15 et 78 de couplage sous forme connectée les uns aux autres dans le contrôleur 20 de disques au point 610 est une simplification. En fait, ce point 610 n'est pas une connexion cablée mais plutôt une jonction interne au contrôleur de disques qui varie en fait suivant le mode de fonctionnement des circuits, comme décrit dans
la suite.
Il existe essentiellement quatre modes de
fonctionnement du circuit de l'antémémoire 16, déter-
minés par des ordres provenant de l'unité 18 de com-
mande de stockage, dans un mode de réalisation conve-
nant à la mise en oeuvre de l'invention. Ces quatre
modes sont les suivants.
1) Mode à bit drapeau zéro. Dans ce mode à bit drapeau zéro comme indiqué sur la figure 9, tous les ordres de bits drapeau, sauf les ordres à bit
drapeau zéro (comme décrit dans la suite dans le cha-
pitre correspondant), sont transférés entre l'unité 18 de commande de stockage et le contrôleur 20 d'unités de disques par l'intermédiaire du circuit
13 de couplage et aux unités 14 de disques par l'in-
termédiaire du bus 15. Pour tous les ordres autres que les ordres à bit drapeau zéro, l'antémémoire 16 n'est en fait pas présente dans le chaîne. Les ordres à bit drapeau zéro cependant sont transmis de l'unité 18 de
commande de stockage au contrôleur 20 par l'intermé-
diaire du circuit 13 de couplage, mais le contrôleur 20
achemine ces ordres vers l'antémémoire 16 par l'inter-
médiaire du circuit 78 de couplage. La réponse aux or-
dres à bit drapeau zéro est transmise de l'antémé-
moire 16 au contrôleur 20 et à l'unité 18 de com-
mande de stockage par les circuits 78 et 13 de cou-
plage respectivement. Ainsi, ce mode peut être con-
sidéré comme un mode matériel dans lequel des exem-
ples d'ordres concernant un bit drapeau sont traités
dans le sous-ensemble à unités de disques d'une ma-
nière conforme aux techniques connues, mis à part les ordres spécialisés à bit drapeau zéro qui sont
acheminés vers l'antémémoire.
2) Mode d'unité de commande de stockage. Lors-
que l'antémémoire 16 est en mode d'unité de commande de
stockage, tous les ordres à bit drapeau sont trans-
férés de l'unité 18 de commande de stockage (voir fi-
gure 10) au contrôleur 20 par l'intermédiaire du cir-
cuit 13 de couplage et à l'antémémoire 16 par l'inter-
médiaireducircuit 78 de couplage. L'antémémoire 16
est à l'état "actif", au sens du-microprogramme (com-
me indiqué dans la description du logiciel qui suit).
Dans ce mode, aucune communication n'est possible entre l'unité 18 de commande de stockage et les unités 14 de disques; il s'agit du mode opérationnel essen-
tiel de l'antémémoire 16.
3) Mode de commande. Dans ce mode, l'anté-
mémoire 16 telle que représentée sur la figure 11, communique directement avec une ou plusieurs unités 14 de disques et le contrôleur 20 de ces unités, par l'intermédiaire des circuits 78 et 15 de couplage respectivement. Dans ce mode, l'unité 18 de commande de stockage reçoit un état "occupé" du contrôleur 20, signifiant qu'aucune connexion ne peut être tentée
entre l'unité 18 de commande de stockage et le contrô-
leur 20 par l'intermédiaire du circuit 13 de couplage.
L'antémémoire 16 a effectivement usurpé la commande du sous-ensemble de la chaîne des unités de disques
et commande ces opérations.
4) Mode de traversée. Ce mode, comme repré-
senté sur la figure 12, correspond à une communication
directe permise entre l'unité 18 de commande de sto-
ckage et les unités 14 de disques, par l'intermédiaire du contrôleur 20 et des circuits associés de couplage
13 et 15. Dans ce mode de fonctionnement, aucun or-
dre à bit drapeau n'est acheminé vers l'antémémoire
16 par l'intermédiaire du circuit 78 de couplage.
L'antémémoire est en fait déconnecté du sous-ensemble à chaîne d'unités de disques, et le sous-ensemble se
comporte comme si aucune antémémoire 16 n'était con-
nectée.
Les modes de fonctionnement des circuits ma-
tériels, comme décrit précédemment, sont utilisés in-
tégralement et sont sous la commande des microprogram-
mes du sous-ensemble, contenus dans le microprocesseur
de commande d'antémémoire. Comme décrit dans la sui-
te dans le chapitre correspondant au logiciel du sous-
ensemble à antémémoire, c'est le déclenchement d'ordres convenables à bit drapeau zéro par l'unité 18 de commande de stockage qui catalyse le microprogramme qui change d'état (comme indiqué dans la suite) et assure les changements de mode de fonctionnement du sous-ensemble. 4. Logiciel du sous-ensemble à antémémoire pour unités
de disques.
Cette caractéristique de l'invention peut être mise en oeuvre de différentes manières. Dans un mode
de réalisation particulièrement avantageux, les cir-
cuits décrits précédemment fonctionnent en coopération.
avec un microprogramme qui est chargé par l'intermé-
diaire d'une unité 84 de disques souples dans le dis-
positif 100 de stockage de commande de type actif qui
est adressé par le microprocesseur 76. Dans la micro-
programmation d'un mode de réalisation convenable de l'invention, le microprogramme met en oeuvre quatre "états" qui désignent des conditions de logiciel du dispositif par rapport aux fonctions voulues. Un "état" peut être considéré comme une condition du microprogramme qui reste statique tant qu'elle n'est pas changée et/ou modifiée par un signal extérieur d'entrée. Comme l'indiqué la figure 13, il existe
quatre états de microprogramme dans un mode de réalisa-
tion avantageux: (1) l'état d'attente 400, (2) l'état de sélection 414, (3) l'état actif 424, et (4) l'état
passif 432.
A l'état d'attente 400, l'antémémoire ainsi que la totalité du sousensemble à unité de disques sont en condition de "repos" comme indiqué par le circuit 13 de couplage disposé entre l'unité 18 de commande de stockage et le contrôleur 20 d'unités de disques qui est au repos; il.n'y a pas de signaux
transmis par le circuit 13 de couplage de la figure 6.
Comme indiqué sur la figure 13, l'état 400 d'attente
peut être considéré comme une boucle infinie de pro-
grammation qui commence par la condition de la ligne
de maintien de sélection du circuit 78 de couplage.
Lorsque la ligne de maintien de sélection est à un faible niveau (c'est-àdire correspond à la condition non 402), le microprogramme commence à décompter pen- dant une phase 404 de décomptage de balayage. Lorsque le sous-ensemble reste en condition de repos si bien
que le décomptage de balayage se termine (par trans-
mission d'un signal oui 406),le sous-ensemble passe en mode 408 de traitement de balayage dans lequel les fonctions internes de servitude de l'antémémoire sont exécutées. Après la fin du traitement 410 de balayage, le microprogramme revient à l'état 400 d'attente et
contrôle à nouveau la condition de maintien de sélec-
tion du circuit 13 de couplage de la figure 6. Le traitement 408 de balayage n'est pas un "état" dans
lequel le microprogramme pénètre en condition stable.
Ainsi, le traitement 408 est simplement une fonction de passage au cours de la programmation jusqu'à une
condition finale, avant retour à l'état 400 d'attente.
Le traitement de balayage est une fonction de micro-
programmation qui est analogue au mode de commande des circuits matériels comme décrit précédemment alors que l'état d'attente 400 peut être considéré comme le
mode à bit drapeau zéro des circuits décrits.
Si la ligne de maintien de sélection passe à un niveau élevé (oui 412) pendant l'état d'attente, le microprogramme de l'antémémoire passe à l'état 414 de sélection. Cet état est la condition dans laquelle la ligne de maintien de sélection est à un niveau élevé; l'unité de commande de stockage a notifié, à toutes les chaînes d'unités de disques connectées à
elle, une sélection imminente de l'une des chaînes.
A tout moment à l'état 414 de sélection, la condition
de la ligne de maintien de sélection est contrôlée.
Si cette ligne passe à un faible niveau, ce maintien de sélection est inactif et un état oui 416, comme indiqué sur la figure 13, ramène le microprogramme de l'antémémoire à l'état 400 d'attente. Si la ligne de
maintien de sélection reste à un niveau élevé (c'est-
à-dire à la réponse non 418), le microprogramme con-
trôle un ordre de bit drapeau zéro à l'aide du circuit 78 de couplage de la figure 6. Si un ordre "actif" de bit drapeau zéro n'est pas reçu(référence 420), le microprogramme s'arrête à l'état de sélection à moins que le maintien de sélection passe à l'état inactif (c'est-à-dire passe à l'état 416 de faible niveau) et dans ce cas le microprogramme revient au
mode 400 d'attente. Lorsqu'un ordre actif de bit dra-
peau zéro est reçu (oui 422), le microprogramme passe à l'état actif 424. Comme dans le cas de l'état 400 d'attente, l'état 414 de sélection est aussi un mode
à bit drapeau zéro.
L'état actif 424 est une condition du micro-
programme dans laquelle l'unité 18 de commande de stockage a déjà choisi un contrôleur particulier 20 d'unités de disques et, lorsque l'antémémoire 16 est
connectée au contrôleur 20 et au sous-ensemble à chaî-
nes d'unités de disques, un ordre actif à bit drapeau zéro provoque le déclenchement du microprogramme de
l'antémémoire. A l'état actif 424, l'antémémoire inter-
cepte et/ou reçoit toutes les instructions provenant de l'unité 18 de commande de stockage et les opérations
de traitement ont lieu à l'intérieur. On peut consi-
dérer qu'il s'agit de l'état mettant en oeuvre l'anté-
mémoire et on peut considérer qu'il s'agit de l'état principal de fonctionnement de l'antémémoire. Pour les circuits matériels, il s'agit du mode de l'unité de commande de stockage décrit précédemment. Si, pendant l'état actif 424, l'ordre passif 425 à bit drapeau zéro n'est pas reçu par le microprogramme de l'antémémoire (référence 426), cette dernière exécute
les ordres 428 de traitement des informations des uni-
tés de disques. La mise en oeuvre des ordres 428 comme indiqué sur la figure 13 n'est pas un état mais plutôt une condition du microprogramme assurant l'exécution
de fonctions et, après cette exécution, le micro-
programme revient à l'état actif 424. Les opérations de ces ordres de l'antémémoire peuvent être considé- rées comme le mode de l'unité de commande de stockage pour les circuits matériels. Lorsque, à l'état actif 424, un ordre passif à bit drapeau zéro est reçu (référence 430 sur la figure 13), le microprogramme
passe à l'état passif 432.
L'état passif 432 est la condition du micro-
programme dans laquelle l'unité 18 de commande de stockage communique directement avec les unités 14 de disques. Il faut noter que cet état se distingue
de l'état actif 424 dans lequel l'antémémoire re-
çoit toutes les instructions et il n'y a pas de communication entre l'unité 18 de commande de
stockage et les unités 14 de disques, directement.
Avant le déclenchement de l'état passif 432, l'unité 18 de commande de stockage a transmis un ordre à bit
drapeau zéro de code particulier afin que le micro-
programme de l'antémémoire tombe à l'état passif et
permette la communication entre l'unité 18 de com-
mande de stockage et les unités de disques, directe-
ment (c'est-à-dire l'ordre passif 430 à bit drapeau zéro). Lorsque l'ordre actif à bit drapeau zéro est reçu comme indiqué par la référence 434 sur la figure 13, l'antémémoire 16 revient à l'état actif 424. Lorsqu'un ordre actif à bit drapeau zéro 437 n'est pas reçu à l'état passif (référence 436), la condition de la ligne de maintien de sélection est contrôlée comme décrit précédemment. Si un maintien de sélection devient actif (ligne 439) pendant l'état passif, le microprogramme de l'antémémoire est préparé à la réception d'un ordre actif à bit drapeau zéro. Lorsqu'en fait un ordre actif à bit drapeau zéro est reçu (434), l'antémémoire 16
revient à l'état actif 424. Lorsque la ligne de main-
tien de sélection passe à un faible niveau (comme indiqué par la référence 424), l'antémémoire passe
au traitement 442 de remplissage.
Bien que l'état passif 432 corresponde au mode à bit drapeau zéro comme décrit précédemment, le traitement 442 de remplissage correspond au mode de commande. Pendant ce traitement 442, l'antémémoire
16 prend la commande de la chaîne d'unités de dis-
ques et remplit le circuit tampon 86 d'informations qui, à ce moment, peuvent se trouver uniquement sur les disques magnétiques des unités 14. Pendant le traitement 442, une piste complète d'informations est transmise des unités 14 au circuit tampon 86. Puisque la piste à transférer au circuit tampon 86 est celle qui a été demandée la plus récemment, cette piste reçoit de façon appropriée l'état de piste utilisée la plus récemment dans les tables de gestion de stockage contenues dans la mémoire 96 de travail de la figure 7b. En outre, cette introduction dans les tables des pistes est réglée dans la mémoire afin
qu'elle tienne compte de la piste chargée dans le cir-
cuit tampon 86, compte tenu du numéro de l'unité de disques, de l'emplacement du cylindre et de l'adresse
25. de la tête. Après la fin du traitement 442 de rem-
plissage (qui n'est pas un état), le microprogramme revient à l'état 400 d'attente et contrôle à nouveau l'état de la ligne et le maintien de sélection. Pour
les circuits matériels, le déclenchement du traite-
ment 442 provoque la prise du contrôle du sous-
ensemble des chaînes d'unités de disques par l'anté-
mémoire. Pendant le traitement 442, l'unité 18 de commande de stockage ne peut pas communiquer avec la
chaîne d'unités de disques et une condition de "chai-
ne occupée" existe pour les unités de commande de
stockage connectées à la chaîne.
On peut ainsi comprendrecomment les circuits matériels et le microprogramme du sous-ensemble à
antémémoire peuvent répondre ensemble dans un exem-
ple de situation.
Temps T: un signal actif de maintien de sélection est reçu par l'antémémoire 16 en provenance de l'unité
18 de commande de stockage.
Temps T1 un ordre à bit drapeau zéro est reçu en provenant de l'unité 18 de
commande de stockage.
Temps T2 le microprogramme change d'état
(le cas échéant).
Temps T3:le microprogramme demande aux cir-
cuits de changer de mode.
Temps T4: une fonction est exécutée (le mi-
croprogramme est dans un nouvel état et les circuits sont dans un
nouveau mode).
Temps T5: le traitement progresse de la ma-
nière nécessaire comme indiqué
sur la figure 13.
Bien qu'un mode de réalisation convenant à la
mise en oeuvre de l'invention concernant un sous-
ensemble à antémémoire, comprenne des perfectionne-
ments de rétablissement d'erreurs et autres de pro-
gramrmation qui améliorent le fonctionnement, une con-
figuration logique convenable de microprogramme est
telle que décrit en référence à la figure 13.
5. Gestion du stockage.
Le sous-ensemble à antémémoire utilise des
tables qui se trouvent de façon générale dans la mé-
moire 96 de travail de la figure 7b pour la gestion du stockage dans l'antémémoire. Bien que de nombreuses
réalisations soient possibles pour l'obtention du ré-
sultat voulu, dans le cadre de l'invention, un schéma particulier de gestion de stockage, dans le mode de
réalisation avantageux considéré, convient particuliè-
rement bien. Bien que de façon générale des modules
de données contenus dans la mémoire 54 de l'antémé-
moire puissent reposer sur des ensembles discrets d'informations de dimension quelconque, dans un mode de réalisation avantageux, le dispositif 88 de sto- ckage à dispositifs à couplage par charge contient des pistes complètes d'informations qui, dans le cas
des unités de disques "Memorex" 3670 et 3675, corres-
pondent à 13 030 octets d'information. Chacune des pistes de données est chargée d'informations provenant des unités 14 de disques. Chaque piste de données qui
est conservée dans la mémoire 88 à dispositifs à cou-
plage par charge et le circuit tampon 86, a des en-
trées correspondantes dans les tables, à la disposition
du microprocesseur 76 qui doit mettre en oeuvre la ges-
tion des données.
La mémoire 96 de travail de l'antémémoire
entretient trois types de tables de gestion de sto-
ckage: la table dynamique, la table de verrouillage
de piste, et la liste d'emplacements vides de mémoire.
La table dynamique est constamment remise à jour d'après
des critères d'utilisation de la mémoire 54. Un algori-
thme d'informations les moins utilisées, connu dans la
technique, est avantageusement utilisé à cet effet.
La table de verrouillage de piste contient des para-
mètres correspondant à la partie de la mémoire 88 qui est "verrouillée" dans la mémoire 54. Dans le cadre de l'invention, le terme "verrouillage" d'une piste dans l'antémémoire indique qu'une piste de données n'est pas remplacée d'après un algorithme comme dans le cas de la table dynamique (c'est-à-dire qu'elle se trouve en permanenc dans la mémoire 54). La liste des emplacements vides demémoire est une table qui conserve une indication sur l'espace disponible dans la mémoire 88; le contenu de la table indiquant les emplacements vides correspond aux emplacements qui ne sont pas actuellement utilisés et qui peuvent donc être remplis par des données provenant des unités 14 de disques. Chaque piste de données conservée dans la mémoire 54 a des entrées correspondantesdans la table dynamique, chaque entrée comprenant plusieurs para- mètres ou articles. Deux paramètres sont reliés à la
table d'après l'utilisation la plus récente et l'uti-
lisation la moins récente des pistes contenues dans la liste respectivement. Chaque fois qu'une piste de données est demandée dans la mémoire 54, l'article concernant cette piste est placé au sommet de la liste (c'est-à-dire constitue la piste la plus récemment utilisée) et l'article qui se trouve au pied de la liste devient le moins récemment utilisé.D'autres paramètres contiennent une information qui concerne
lespistes de disques correspondant à des adresses spé-
cifiques de cylindres, des adresses de têteset des adresses d'unités de disques; parmi les unités 14 dont elle provient. Ensemble, des pointeurs d'adresse
assurent la liaison par des techniques connues d'en-
chaînement des articles de la table dynamique qui permettent la remise à jour de la table d'après
- l'utilisation des pistes.
Si la mémoire 54 de l'antémémoire est rem-
plie et lorsqu'une autre piste de données doit être chargée à partir des unités 14 de disques dans la mémoire 54, la piste de données la moins récemment
utilisée qui se trouve au pied de la table est chas-
sée de celle-ci et la nouvelle piste de données qui
vient d'être chargée à partir des unités 14 de mé-
moire est placée en haut de la table et devient la piste la plus récemment utilisée. Cet algorithme est bien connu dans la technique et il garantit que les pistes les plus récemment utilisées se trouvent dans la mémoire de l'antémémoire alors que les pistes de données de faible activité sont chassées de la mémoire 54. La table dynamique contient aussi un second jeu de pointeurs de liaison ou d'enchaînement qui relie les pistes de données chargées à partir d'une unité particulière de disques, c'est-à-dire ayant la même adresse d'unité de disques. Ces tables sont aussi remises à jour lorsque l'information de liaison entre
les informations les plus récemment et les moins récem-
* ment utilisées, est remise à jour. De cette manière, la recherche d'une piste particulière dans la mémoire 54 peut être raccourcie car on sait toujours que l'appel d'une unité de commande de stockage correspondant à une piste particulière spécifie l'unité particulière de disques. Ainsi, la recherche dans une table des
pistes les plus récemment utilisées et les moins ré-
cemment utilisées est considérablement plus courte lors-
que la table est reliée à l'unité particulière de dis-
ques. Naturellement, lorsqu'une seule unité de disques est traitée dans l'antémémoire à un moment donné, la
totalité du contenu dans la mémoire 54 doit être re-
cherchée, mais lorsque plusieurs unités de disques ont des informations dans l'antémémoire, les économies
sur la recherche peuvent être importantes.
6. Ordre à' bit drapeau zéro.
L'architecture normale d'un sous-ensemble à unités de disques compatible avec l'ensemble "IBM" met en oeuvre certains ordres connus comme des ordres de "bits drapeau", l'unité 18 de commande de stockage
communiquant avec le contrôleur 20 des unités de dis-
ques, par le circuit 13 de couplage de commande du système. On peut consulter la brochure "Memorex" 3673/3675/3670 "Disc Storage Subsystem Theory of Operations" (Publication 3673.21-03 pour la définition complète du circuit de couplage et les ordres à bit drapeau ainsi que pour la définition des lignes des bus d'entrée et de sortie. Cependant, l'architecture normale ne permet pas à l'unité de commande de stockage d'exciter et de commander un sous-ensemble de stockage sur unitésde disques qui comprend une antémémoire 16;
l'utilisation d'une antémémoire selon l'invention né-
cessite la création ou l'utilisation d'un ordre à bit drapeau spécial qui excite le circuit logique de l'antémémoire 16 et permet aux opérations de l'anté- mémoire de progresser comme décrit précédemment. Un nombre quelconque d'ordres à bit drapeau peut être utilisé, le seul critère étant qu'un ordre à bit drapeau ainsi choisi forme l'ordre particulier qui est destiné à commander l'antémémoire sans ambiguité et sans confusion avec d'autres ordres à bit drapeau
qui sont décodés et qui ont des significations dif-
férentes dans l'architecture du sous-ensemble d'entrée-
sortie des unités de disques. Dans un mode de réali-
sation particulier, on constate qu'on peut utiliser un décodage de bit drapeau de type 00 (hexagonal) avec des valeursvariables sur le bus de sortie comme ordre à bit drapeau qui déclenche les opérations de l'antémémoire. Lorsqu'un ordre à bit drapeau zéro est reçu par l'antémémoire 16 en provenance de l'unité 18 de commande de stockage, l'antêmémoire peut assurer la commande du sous-ensemble des unités
de disques et exécuter toutes les opérations néces-
saires comme indiqué précédemment. Compte tenu de la définition du sousensemble d'entrée-sortie qui est compatible avec un canal du système "IBM", le décodage 00 correspond à un bus de sortie inutilisé (les bits drapeau 0, 3, 4, 5, 6 et 7 sont tous égaux à zéro), utilisé avec les lignes de bus de sortie de
commande.
7. Opération à fréquence variable de données.
Etant donné l'architecture du sous-ensemble
à antémémoire pour unités de disques décrite précé-
demment et représentée de façon générale sur la figure 2, on peut obtenir un effet avantageux qu'on peut appeler "fréquence variable des données". Cette fréquence variable permet au canal de transférer les données à sa propre fréquence sans être limitée, comme dans les
montages classiques, par une fréquence de données éta-
blie pour la transmission entre les unités de disques et l'unité de commande, cette fréquence dépendant de la vitesse de. rotation des unités de disques. Dans un mode de réalisation convenable d'antémémoire 16
selon l'invention, lorsqu'une piste complète d'in-
formations est conservée dans le circuit tampon 86
de la figure 7b et lorsque l'information est deman-
dée par l'unité centrale de traitement, la vitesse de transmission des données, entre le sous-ensemble à antémémoire et le canal ne doit pas avoir une
valeur constante et n'est pas commandée par la vi-
tesse de transmission de données des supports rota-
tifs. Comme la vitesse de transfert des données du circuit 78 de couplage n'a pas à avoir une valeur constante, la vitesse de transfert du canal est le
facteur qui détermine cette vitesse.
Avant de décrire cette caractéristique de fréquencevariable des données dans l'antémémoire 16 selon l'invention, il faut d'abord comprendre les restrictions de la technique antérieure. La figure 14 représente les lignes de synchronisation d'entrée et de sortie lors d'un transfert de données des types connus. La relation fondamentale dans le temps est déterminée par le temps compris entre les flancs 200 et 204, 204 et 208, et 208 et 212. Lestemps compris entre ces impulsions sont égaux et sont commandés par les impulsions d'horloge, déterminées directement par une information codée d'asservissement de la mémoire à disques rotatifs. Le temps compris entre les flancs et 201, 204 et 205, 208 et 209, et 212 et 213 est réglé par les circuits matériels compris dans le contrôleur 12 de la figure 1. La relation temporelle
entre le flanc antérieur des impulsions de synchroni-
sation d'entrée (références200, 204, 208 et 212) et le flanc antérieur des impulsions de synchronisation de sortie (références 202, 206, 210 et 214), et la relation temporelle entre le flanc postérieur des impulsions de synchronisation d'entrée (références
201, 205, 209 et 213) et le flanc, postérieur des im-
pulsions de synchronisation de sortie (références 203, 207, 211 et 215) sont commandées par les retards des cables et les retards des circuits contenus dans l'unité 10 de commande de stockage. Le temps compris entre les bords antérieur et postérieur des impulsions Io de synchronisation de sortie (temps compris entre les flancs 202 et 203, 206 et 207, 210 et 211, 214 et 215) est réglé par les circuits matériels de l'unité 10 de
commande de stockage et correspond à une forme retar-
dée de l'impulsion de synchronisation d'entrée.
La mise en oeuvre de la caractéristique de fréquence variable des données provoque la création d'une séquence d'impulsions qui diffère beaucoup de
la relation connue entre les impulsions de synchroni-
sation d'entrée et de synchronisation de sortie.
L'utilisation de la caractéristique de fréquence va-
riable est telle que le flanc antérieur des impulsions
de synchronisation d'entrée ne correspond pas à une re-
lation temporelle répétitive par rapport aux impulsions de synchronisation de sortie. Comme indiqué sur la figure 15, le temps compris entre les points 216 et 220 et entre les points 220 et 224 est réglé par la vitesse de transmission des circuits matériels de l'antémémoire 16 et par les circuits électroniques de commande, et n'est pas réglé par la vitesse de rotation des unités de disques. Il faut noter que le temps compris entre les flancs 216 et 220 et entre
les flancs 220 et 224 est inférieur au temps repré-
senté sur la figure 14 entre les flancs 200 et 204,
204 et 208, 208 et 212, correspondant au train d'im-
pulsions de synchronisation d'entrée de type connu.
Ainsi, la vitesse de transfert, dans le mode à fréquence variable, est supérieure à celle qui est obtenue de manière classiquecarla vitesse de transfert est réglée par le circuit électronique de l'antémémoire 16 et non
par des éléments mécaniques rotatifs.
Le temps compris entre les flancs 224 et 228 et 228 et 232 est réglé par contrôle du flanc postérieur
de l'impulsion de synchronisation de sortie par le cir-
cuit électronique de commande. C'est la reconnaissance
des flancs 227 et 228 du train d'impulsions de syn-
chronisation de sortie qui règle la relation tempo-
relle entre les flancs 224 et 228 et entre les flancs 228 et 232. Les flancs 228 et 232 des impulsions de synchronisation d'entrée ne peuvent apparaître qu'après la reconnaissance des flancs postérieurs 227 et 231 des impulsions de synchronisation de sortie. Les flancs
postérieurs 227 et 231 des impulsions de synchronisa-
tion de sortie sont représentés retardés de façon im-
portante par rapport aux flancs antérieurs 226 et 230 respectivement car ils sont retardés par les circuits de l'unité de commande de stockage chaque fois que des circuits tampons internes de données de l'unité de commande de stockage ne sont pas disponibles pour un transfert supplémentaire de données. Ces circuits tampons internes de l'unité de commande de stockage
deviennent indisponibles lorsque la vitesse de trans-
fert de données dépasse la vitesse de transfert de données du canal. En conséquence, dans le mode de réalisation à vitesse variable des données dans le sous-ensemble à antémémoire selon l'invention, le temps compris entre le flanc antérieur 226 et le flanc postérieur 227 et le temps compris entre le flanc
antérieur 230 et le flanc postérieur 231 des impul-
sions de synchronisation de sortie comprennent le temps nécessaire pour que la vitesse de transfert des données de canal soit égale ou supérieure à la vitesse de transfert des données de commande. Ainsi,
il y a une synchronisation des vitesses de transmis-
sion de données et des vitesses de transmission du canal. La vitesse de transmission des données est "variable". Le temps compris entre les flancs 224 et 228 et entre les flancs 228 et 232 comprend donc
les retards introduits par les circuits du sous-
ensemble, le câble de commande comprenant les cir-
cuits pilotes de ligne et les récepteurs et la mé-
moire de l'antémémoire 16 et les circuits électro-
niques de commande. Comme dans le cas d'un système connu, le temps compris entre le flanc antérieur des impulsions de synchronisation d'entrée et le flanc antérieur des impulsions de synchronisation de sortie (c'est-à-dire entre les points 216 et 218, 220 et 222,
224 et 226, 228 et 230, 232 et 234) comprend les re-
tards introduits par le câble de commande et les re-
tards des circuits de l'unité de commande de stockage (c'est-à-dire des circuits pilotes de ligne et des récepteurs).
Comme dans le cas du système connu, la re-
lation temporelle des impulsions de synchronisation d'entrée et de sortie, le temps compris entre les flancs 217 et 219, 221 et 223, 233 et 235, comprend de manière analogue les retards introduits par le câble, les retards des circuits de l'unité de commande de stockage qui contrôlent la disponibilité des circuits tampons internes, et les retards des circuits pilotes
et récepteurs de l'unité de commande de stockage.
Ce qui n'est pas le cas dans les systèmes connus et qui correspond à une caractéristique de la relation à fréquence variable selon l'invention est le retard supplémentaire compris entre les flancs 225 et 227 et entre les flancs 229 et 231, ce retard étant provoqué
par le retard du canal à transmettre un octet d'in-
formation (c'est-à-dire à rendre disponible un cir-
cuit tampon interne de données de l'unité de comman-
de de stockage). Ce temps compris entre les points 216 et 217, 220 et 221, 224 et 225, 228 et 229, 232 et 233 est réglé par l'antémémoire 16 qui est destinée
à former des impulsions bien conformées de durée suf-
fisante. Ainsi, le mode de réalisation mettant en oeuvre la caractéristique de fréquence variable des données permet une transmission des données entre l'antémémoire 16 et le canal 8 avec une vitesse qui
ne peut pas être obtenue dans les systèmes connus.
La vitesse de transmission des données est essen-
tiellement réglée par la vitesse permise par le
canal 8.
Claims (15)
1. Sous-ensemble à antémémoire pour unités de stockage à accès direct, destiné à être utilisé avec un système de traitement de données afin que le temps nécessaire à la restitution de données prédéterminées soit réduit, ledit sous-ensemble étant caractérisé en
ce qu'il comprendun dispositif (14) à unités de sto-
ckage à accès direct destiné à conserver des données et à les restituer, un dispositif (16) à mémoire de données destiné à conserver les données prédéterminées, et un dispositif de commande reliant le dispositif à unités de stockage à accès direct, le dispositif à mémoire de données et le système de traitement de données et destiné à commander leurs communications mutuelles, le temps nécessaire à la restitution des
données prédéterminées provenant du dispositif à mé-
moire de données étant inférieur au temps nécessaire
à la restitution des données prédéterminées du dispo-
sitif à unités de stockage à accès direct.
2. Sous-ensemble selon la revendication 1, caractérisé en ce qu'il comprend une unité de commande de stockage (18) reliant le dispositif de commande au
système de traitement de données.
3. Sous-ensemble selon l'une des revendica-
tions 1 et 2, caractérisé en ce que le dispositif de commande comprend un contrôleur (52) des unités de stockage à accès direct, reliant le dispositif (14)
à unités destockage à accès direct au système de trai-
tement de données, et un contrôleur (50) de mémoire de données reliant le dispositif (16) à mémoire de données au contrôleur des unités de stockage à accès
direct, le contrôleur du dispositif à mémoire de don-
nées étant destiné à provoquer l'enregistrement des données prédéterminées dans le dispositif à mémoire
de données.
4. Sous-ensemble selon la revendication 3, caractérisé en ce que le contrôleur (50) du dispositif à mémoire de données comprend un microprocesseur (76) relié au contrôleur (52) des unités de stockage à
accès direct et au dispositif (16) à mémoire de don-
nées, un dispositif (100) à mémoire de stockage de commande relié au microprocesseur (76) et destiné à commander le fonctionnement de celui-ci de manière
que des données prédéterminées puissent être conser-
vées dans le dispositif à mémoire de données, et
un dispositif (96, 98) à mémoire de travail enre-
gistre l'adresse dans une unité de stockage à accès direct des données prédéterminées conservées dans le
dispositif à mémoire de données.
5. Sous-ensemble selon la revendication 4, caractérisé en ce qu'il comprend un dispositif de commande de couplage reliant le contrôleur (50) de mémoire de données et le contrôleur (52) d'unités
de stockage à accès direct.
6. Sous-ensemble selon la revendication 5, caractérisé en ce que le dispositif de commande de couplage comprend un dispositif à accès directà la mémoire permettant un transfert de données par accès direct à la mémoire entre le dispositif à mémoire de données et le système de traitement de données, et
entre le dispositif à mémoire de données et le dis-
positif (14) à unités de stockage à accès direct.
7. Sous-ensemble selon la revendication 4, caractérisé en ce que le dispositif (100) à mémoire de stockage de commande contient un microprogramme qui provoque la conservation d'informations dans le
dispositif à mémoire de données en fonction d'un al-
gorithme de détermination d'informations les moins
récemment utilisées.
8. Sous-ensemble selon la revendication 4, caractérisé en ce qu'il comprend un microprocesseur de chargement-contrôle (52) relié au contrôleur (50)
de mémoire de données afin qu'il charge un micro-
programme dans le dispositif (100) à mémoire de stockage de commande en vue de l'exécution par le
microprocesseur (76) et qu'il contrôle les perfor-
mances du sous-ensemble à unités de stockage à accès direct.
9. Sous-ensemble selon l'une des revendications
1 et 2, caractérisé en ce que les supports de mémoire contenus dans le dispositif (16) de mémoire de données
sont des mémoires à semi-conducteur à accès sélectif.
10. Sous-ensemble selon la revendication 9,
caractérisé en ce que le dispositif à mémoire à semi-
conducteur à accès sélectif comprend au moins un dis-
positif principal (86) de stockage et un dispositif
secondaire (88) de stockage.
11. Sous-ensemble selon la revendication 10, caractérisé en ce que le dispositif principal (86) de stockage peut assurer une vitesse de transmission de données supérieure à la vitesse de transmission de
données du dispositif secondaire (88) de stockage.
12. Sous-ensemble selon l'une des revendications
1 et 2, caractérisé en ce que les données prédétermi-
nées ont une dimension fixe qui correspond à l'archi-
tecture des champs de données des unités de stockage
(14) à accès direct.
13. Sous-ensemble selon la revendication 7,
caractérisé en ce que la capacité de stockage de don-
nées du dispositif (16) à mémoire de données est inférieure à la capacité de stockage du dispositif
(14) à unités de stockage à accès direct.
14. Sous-ensemble selon l'une quelconque des
revendications 1 à 4, caractérisé en ce que le dis-
positif (14) à unités de stockage à accès direct
est formé d'unités de disques magnétiques rotatifs.
15. Sous-ensemble selon la revendication 14,
caractérisé en ce que les unités de données prédé-
terminées correspondent à des pistes complètes d'in-
formations conservées sur les unités de disques ma-
gnétiques rotatifs.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US4547679A | 1979-06-04 | 1979-06-04 |
Publications (2)
Publication Number | Publication Date |
---|---|
FR2458846A1 true FR2458846A1 (fr) | 1981-01-02 |
FR2458846B3 FR2458846B3 (fr) | 1982-04-23 |
Family
ID=21938106
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR8012450A Granted FR2458846A1 (fr) | 1979-06-04 | 1980-06-04 | Sous-ensemble a antememoire pour ensemble de memorisation a disques magnetiques |
Country Status (3)
Country | Link |
---|---|
DE (1) | DE3021227A1 (fr) |
FR (1) | FR2458846A1 (fr) |
GB (1) | GB2052118A (fr) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4467411A (en) * | 1981-03-06 | 1984-08-21 | International Business Machines Corporation | Scheduling device operations in a buffered peripheral subsystem |
JPS57174768A (en) * | 1981-04-17 | 1982-10-27 | Sharp Corp | Information retrieving device |
US4490782A (en) * | 1981-06-05 | 1984-12-25 | International Business Machines Corporation | I/O Storage controller cache system with prefetch determined by requested record's position within data block |
DE3278891D1 (en) * | 1981-06-05 | 1988-09-15 | Ibm | I/o controller with a dynamically adjustable cache memory |
US4489378A (en) * | 1981-06-05 | 1984-12-18 | International Business Machines Corporation | Automatic adjustment of the quantity of prefetch data in a disk cache operation |
US4430701A (en) * | 1981-08-03 | 1984-02-07 | International Business Machines Corporation | Method and apparatus for a hierarchical paging storage system |
US4464713A (en) * | 1981-08-17 | 1984-08-07 | International Business Machines Corporation | Method and apparatus for converting addresses of a backing store having addressable data storage devices for accessing a cache attached to the backing store |
US4420807A (en) * | 1981-08-31 | 1983-12-13 | International Business Machines Corporation | Selectively holding data in a buffer for defective backing store tracks |
US4403288A (en) * | 1981-09-28 | 1983-09-06 | International Business Machines Corporation | Methods and apparatus for resetting peripheral devices addressable as a plurality of logical devices |
US4500954A (en) * | 1981-10-15 | 1985-02-19 | International Business Machines Corporation | Cache bypass system with post-block transfer directory examinations for updating cache and/or maintaining bypass |
US4429363A (en) * | 1981-10-15 | 1984-01-31 | International Business Machines Corporation | Method and apparatus for managing data movements from a backing store to a caching buffer store |
US4466059A (en) * | 1981-10-15 | 1984-08-14 | International Business Machines Corporation | Method and apparatus for limiting data occupancy in a cache |
US4430712A (en) * | 1981-11-27 | 1984-02-07 | Storage Technology Corporation | Adaptive domain partitioning of cache memory space |
EP0080878A3 (fr) * | 1981-11-27 | 1985-06-26 | Storage Technology Corporation | Antémémoire et méthode de commande pour l'utilisation avec des disques magnétiques |
US4476526A (en) * | 1981-11-27 | 1984-10-09 | Storage Technology Corporation | Cache buffered memory subsystem |
US4468730A (en) * | 1981-11-27 | 1984-08-28 | Storage Technology Corporation | Detection of sequential data stream for improvements in cache data storage |
US4503501A (en) * | 1981-11-27 | 1985-03-05 | Storage Technology Corporation | Adaptive domain partitioning of cache memory space |
US4571674A (en) * | 1982-09-27 | 1986-02-18 | International Business Machines Corporation | Peripheral storage system having multiple data transfer rates |
FR2635599B1 (fr) * | 1988-08-17 | 1994-02-18 | Finger Ulrich | Systeme d'extension de memoire pour au moins un ensemble de traitement de donnees |
-
1980
- 1980-06-03 GB GB8018167A patent/GB2052118A/en not_active Withdrawn
- 1980-06-04 DE DE3021227A patent/DE3021227A1/de not_active Withdrawn
- 1980-06-04 FR FR8012450A patent/FR2458846A1/fr active Granted
Also Published As
Publication number | Publication date |
---|---|
GB2052118A (en) | 1981-01-21 |
FR2458846B3 (fr) | 1982-04-23 |
DE3021227A1 (de) | 1980-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
FR2458846A1 (fr) | Sous-ensemble a antememoire pour ensemble de memorisation a disques magnetiques | |
EP0283350B1 (fr) | Serveur à large bande, en particulier pour la transmission de musique ou d'images | |
FR2714747A1 (fr) | Dispositif de commande de l'accès partagé à une mémoire de données dans un système multiprocesseur. | |
EP0626642B1 (fr) | Architecture de processeur multi-tâches | |
FR2664719A1 (fr) | Dispositif de controle pour une memoire tampon a partitionnement reconfigurable. | |
FR2497374A1 (fr) | Machine informatique pour traitement multitache | |
EP0013347A1 (fr) | Dispositif à mémoire intermédiaire pour le transfert des données entre un processeur et un dispositif d'entrée/sortie | |
FR2539528A1 (fr) | Systeme a microprocesseur comportant deux processeurs | |
FR2844613A1 (fr) | Systeme pour le transfert rapide des donnees | |
EP1510925A2 (fr) | Mémoire cache à lecture asynchrone et dispositif de controle de l'accès à une mémoire de données comprenant une telle mémoire cache | |
FR2624994A1 (fr) | Systeme de commande de registre intermediaire de traduction | |
FR2471652A1 (fr) | Procede et systeme d'entree/sortie de donnees | |
FR2561428A1 (fr) | Procede d'enregistrement dans une memoire a disques et systeme de memoire a disques | |
EP0020983A1 (fr) | Système de mémoire comportant un dispositif d'emmagasinage sérié | |
FR2496315A1 (fr) | Systeme de memoire tampon | |
CH629319A5 (fr) | Installation de traitement de donnees. | |
US6070226A (en) | Memory system having magnetic disk drive implemented as cache memory and being integrated with optical disk drive in a hierarchical architecture | |
FR2468163A1 (fr) | Dispositif et procede de memorisation virtuelle | |
EP1335287A1 (fr) | Procédé de mise à jour automatique d'un chemin d'accès au disque système d'un périmètre matériel de ressources informatiques, système pour exécuter ce procédé et mémoire utilisée dans ce système | |
FR2632092A1 (fr) | Circuit de conditionnement d'ecriture d'antememoire retarde pour un systeme de microcalculateur a bus double comprenant une unite 80386 et une unite 82385 | |
EP0580727B1 (fr) | Circuit coupleur et son utilisation dans une carte et procede | |
FR2534044A1 (fr) | Dispositif de triage integre pour des mots de donnees ayant la forme d'un composant et processeur de traitement de donnees integre pourvu d'un tel dispositif de triage cointegre | |
FR2778254A1 (fr) | Circuits,systemes et procedes d'ordinateur utilisant un nettoyage partiel d'une memoire cache | |
JP2526016B2 (ja) | デ―タ処理システム・デ―タ記憶サブシステムにおけるデ―タ・アクセス効率向上の方法とシステム | |
FR2596890A1 (fr) | Systeme de traitement de l'information avec comparaison anticipee de la programmation |