En informatique , les canaux d'E/S sont une architecture d'entrée/sortie (E/S) hautes performances qui est implémentée sous diverses formes sur un certain nombre d'architectures informatiques, en particulier sur les ordinateurs centraux . Dans le passé, les canaux étaient généralement implémentés avec des périphériques personnalisés, appelés canal , processeur d'E/S , contrôleur d'E/S , synchroniseur d'E/S ou contrôleur DMA .
Aperçu
De nombreuses tâches d'E/S peuvent être complexes et requièrent l'application d'une logique aux données pour convertir les formats et d'autres tâches similaires. Dans ces situations, la solution la plus simple consiste à demander au processeur de gérer la logique, mais comme les périphériques d'E/S sont relativement lents, un processeur peut perdre du temps à attendre les données du périphérique. Cette situation est appelée « E/S limitée ».
L'architecture de canal évite ce problème en traitant une partie ou la totalité des tâches d'E/S sans l'aide du processeur en déchargeant le travail sur une logique dédiée. Les canaux sont logiquement autonomes, avec suffisamment de logique et de stockage de travail pour gérer les tâches d'E/S. Certains sont suffisamment puissants ou flexibles pour être utilisés comme un ordinateur à part entière et peuvent être interprétés comme une forme de coprocesseur , par exemple, le canal de données 7909 sur un IBM 7090 ou un IBM 7094 ; cependant, la plupart ne le sont pas. Sur certains systèmes, les canaux utilisent la mémoire ou les registres adressables par le processeur central comme stockage de travail, tandis que sur d'autres systèmes, ils sont présents dans le matériel du canal. En général, il existe des interfaces standard entre les canaux et les périphériques externes, et plusieurs canaux peuvent fonctionner simultanément.
Un processeur désigne généralement un bloc de stockage comme programme de canal relativement petit ou envoie ce programme au canal afin de gérer les tâches d'E/S, que le canal et le contrôleur peuvent, dans de nombreux cas, effectuer sans autre intervention du processeur (exception : les programmes de canal qui utilisent des « interruptions contrôlées par programme », PCI, pour faciliter le chargement du programme, la pagination à la demande et d'autres tâches système essentielles).
Lorsque le transfert d'E/S est terminé ou qu'une erreur est détectée, le contrôleur communique généralement avec le processeur via le canal à l'aide d'une interruption . Étant donné que le canal a normalement un accès direct à la mémoire principale, il est également souvent appelé contrôleur d'accès direct à la mémoire (DMA).
Dans les implémentations les plus récentes, le programme de canal est lancé et le processeur de canal effectue tout le traitement requis jusqu'à ce qu'une condition de fin ou une interruption contrôlée par programme (PCI) se produise. Cela élimine une grande partie de l'interaction entre le processeur et le canal et améliore considérablement les performances globales du système. Le canal peut signaler plusieurs types différents de conditions de fin, qui peuvent être sans ambiguïté normales, peuvent indiquer sans ambiguïté une erreur ou dont la signification peut dépendre du contexte et des résultats d'une opération de détection ultérieure. Dans certains systèmes, un contrôleur d'E/S peut demander une nouvelle tentative automatique de certaines opérations sans intervention du processeur. Dans les implémentations antérieures, toute erreur, aussi petite soit-elle, nécessitait une intervention du processeur et la surcharge était, par conséquent, beaucoup plus élevée. Une interruption contrôlée par programme (PCI) est toujours utilisée par certaines opérations héritées, mais la tendance est de s'éloigner de ces PCI, sauf lorsque cela est inévitable.
Histoire
La première utilisation des E/S de canal a eu lieu avec le tube à vide IBM 709 en 1957, dont le synchroniseur de données modèle 766 était le premier contrôleur de canal. Le successeur transistorisé du 709 , l' IBM 7090 avait de deux à huit canaux de 6 bits (le 7607) et un multiplexeur de canaux (le 7606) qui pouvait contrôler jusqu'à huit canaux. Les 7090 et 7094 pouvaient également avoir jusqu'à huit canaux de 8 bits avec le 7909.
Bien qu'IBM ait utilisé des commandes de canal de données sur certains de ses ordinateurs et autorisé le chaînage de commandes sur, par exemple, le 7090, la plupart des autres fournisseurs utilisaient des canaux qui traitaient des enregistrements uniques. Cependant, certains systèmes, par exemple la série GE-600 , avaient des architectures d'E/S plus sophistiquées.
Plus tard, les familles d'ordinateurs IBM System/360 et System/370 proposaient des E/S de canal sur tous les modèles. Pour les modèles System/360 50 et inférieurs et System/370 158 et inférieurs, les canaux étaient implémentés dans le microcode du processeur, et le processeur lui-même fonctionnait dans l'un des deux modes, soit le « mode CPU » soit le « mode canal », le mode canal « volant » des cycles au mode CPU. Pour les ordinateurs IBM System/360 et System/370 plus grands , les canaux étaient toujours des composants séparés encombrants et coûteux, tels que le canal sélecteur IBM 2860 (un à trois canaux sélecteurs dans un seul boîtier), le canal multiplexeur IBM 2870 Byte (un canal multiplexeur et, en option, un sous-canal sélecteur dans un seul boîtier) et le canal multiplexeur IBM 2880 Block (un ou deux canaux multiplexeurs de blocs dans un seul boîtier). Sur les complexes de processeurs 303x , les canaux étaient implémentés dans des directeurs de canaux indépendants dans la même armoire que le processeur, chaque directeur de canal implémentant un groupe de canaux.
Bien plus tard, les canaux ont été implémentés sous la forme d'un processeur embarqué résidant dans le même boîtier que le CPU, généralement appelé « processeur de canal », et qui était généralement un processeur RISC , mais qui pouvait être un microprocesseur System/390 avec un microcode spécial comme dans les mainframes CMOS d'IBM .
L'implémentation matérielle des canaux compatibles System/370 par Amdahl Corporation était assez différente. Une seule unité interne, appelée « C-Unit », prenait en charge jusqu'à seize canaux en utilisant le même matériel pour tous les canaux pris en charge. Deux « C-Units » internes étaient possibles, prenant en charge jusqu'à 32 canaux au total. Chaque « C-Unit » exécutait indépendamment un processus généralement appelé « processeur d'état de canal à décalage » (un type de processeur à barillet ), qui implémentait une machine à états finis (FSM) spécialisée . À chaque cycle CPU, toutes les 32 nanosecondes dans les 470V/6 et /5 et toutes les 26 nanosecondes dans les 470V/7 et /8, l'« unité C » lisait l'état complet du canal suivant dans la séquence de priorité et ses balises d'entrée de canal d'E/S . Les actions nécessaires définies par le dernier état de ce canal et ses balises d'entrée ont été exécutées : les données ont été lues ou écrites dans la mémoire principale, le programme du système d'exploitation a été interrompu si une telle interruption était spécifiée par l'indicateur d'interruption de contrôle de programme du programme du canal, et la « C-Unit » a finalement stocké l'état suivant de ce canal et défini ses balises de sortie de canal d'E/S , puis est passée au canal de priorité inférieure suivant. La préemption était possible, dans certains cas. Un stockage FIFO suffisant était fourni dans la « C-Unit » pour tous les canaux qui étaient émulés par ce FSM. Les canaux pouvaient être facilement reconfigurés selon le choix du client en matière de sélecteur, multiplexeur d'octets) ou canal multiplexeur de blocs, sans aucune restriction significative en utilisant les commandes de la console de maintenance. L'« interface à deux octets » était également prise en charge, tout comme « Data-In/Data-Out » et d'autres options de canal IBM hautes performances. Des adaptateurs canal à canal intégrés étaient également proposés, appelés CCA dans le langage Amdahl, mais appelés CTC ou CTCA dans le langage IBM. Ce changement de paradigme a obligé IBM à repenser ses mainframes pour offrir des capacités et une flexibilité de canal similaires. La réponse initiale d'IBM a été d'inclure des modèles 158 simplifiés, fonctionnant uniquement en « mode canal », comme les unités de canal modèle 303x. Dans l'« unité C » d'Amdahl, n'importe quel canal pouvait être de n'importe quel type, sélecteur, multiplexeur d'octets ou multiplexeur de blocs, sans réserver les canaux 0 et 4 aux multiplexeurs d'octets, comme sur certains modèles IBM.
Certains des premiers systèmes de canaux commerciaux non IBM étaient sur les modèles UNIVAC 490 , CDC 1604 , Burroughs B5000 , UNIVAC 1107 et GE 635. Depuis lors, les contrôleurs de canaux sont devenus un élément standard de la plupart des conceptions de mainframes et constituent le principal avantage des mainframes par rapport aux ordinateurs personnels et aux réseaux informatiques plus petits et plus rapides.
Le supercalculateur CDC 6600 de 1965 utilisait 10 ordinateurs logiquement indépendants appelés processeurs périphériques (PP) et 12 canaux d'E/S simples pour ce rôle. Les PP étaient une version modifiée des premiers ordinateurs personnels de CDC, les CDC 160 et 160A 12 bits. Le système d'exploitation résidait et s'exécutait initialement dans le PP0. Les canaux n'avaient pas d'accès direct à la mémoire et ne pouvaient pas provoquer d'interruptions ; le logiciel sur un PP utilisait des instructions synchrones pour transférer des données entre le canal et le registre A ou la mémoire PP.
Le SCSI, introduit en 1981 comme canal à faible coût équivalent au canal IBM Block Multiplexer est désormais omniprésent sous la forme du protocole Fibre Channel et du Serial Attached SCSI .
Les ordinateurs modernes peuvent être équipés de canaux sous forme de périphériques de contrôle de bus , tels que les périphériques d'accès direct à la mémoire (DMA) PCI . La raison d'être de ces périphériques est la même que celle des contrôleurs de canal d'origine, à savoir le transfert de déchargement, les interruptions et la commutation de contexte à partir du processeur principal.
Les contrôleurs de canaux ont été fabriqués sous forme de modèles à puce unique avec plusieurs canaux, utilisés dans les ordinateurs NeXT par exemple.
Description
L'implémentation de référence des E/S de canal est celle de la famille de mainframes IBM System/360 et de ses successeurs, mais des implémentations similaires ont été adoptées par IBM sur d'autres lignes, par exemple 1410 et 7010 , 7030 , et par d'autres fournisseurs de mainframes, tels que Control Data , Bull ( General Electric / Honeywell ) et Unisys .
Les systèmes informatiques qui utilisent des E/S de canal disposent de composants matériels spéciaux qui gèrent toutes les opérations d'entrée/sortie dans leur intégralité, indépendamment du ou des processeurs des systèmes. Le processeur d'un système qui utilise des E/S de canal n'a généralement qu'une seule instruction machine dans son répertoire pour les entrées et les sorties ; cette instruction est utilisée pour transmettre des commandes d'entrée/sortie au matériel d'E/S spécialisé sous la forme de programmes de canal . Les E/S se déroulent ensuite sans intervention du processeur jusqu'à ce qu'un événement nécessitant une notification du système d'exploitation se produise, auquel cas le matériel d'E/S signale une interruption au processeur.
Un canal est un composant matériel indépendant qui coordonne toutes les E/S vers un ensemble de contrôleurs ou de périphériques. Il ne s'agit pas simplement d'un moyen de communication, malgré son nom ; il s'agit d'un périphérique programmable qui gère tous les détails des E/S après avoir reçu une liste d'opérations d'E/S à effectuer (le programme du canal).
Chaque canal peut prendre en charge un ou plusieurs contrôleurs et/ou périphériques, mais chaque programme de canal ne peut être dirigé que vers l'un des périphériques connectés. Un programme de canal contient des listes de commandes destinées au canal lui-même et au contrôleur et au périphérique auxquels il est dirigé. Une fois que le système d'exploitation a préparé une liste complète de commandes de canal, il exécute une seule instruction machine d'E/S pour lancer le programme de canal ; le canal prend ensuite le contrôle des opérations d'E/S jusqu'à ce qu'elles soient terminées.
Il est possible de développer des programmes de canaux très complexes, y compris le test des données et le branchement conditionnel au sein de ce programme de canal. Cette flexibilité libère le processeur de la charge de travail liée au démarrage, à la surveillance et à la gestion des opérations d'E/S individuelles. Le matériel de canal spécialisé, quant à lui, est dédié aux E/S et peut les exécuter plus efficacement que le processeur (et entièrement en parallèle avec le processeur). Les E/S de canal ne sont pas différentes de l' accès direct à la mémoire (DMA) des micro-ordinateurs, mais sont plus complexes et plus avancées.
Sur les grands systèmes informatiques, les processeurs ne sont qu'un des nombreux composants matériels puissants qui fonctionnent en parallèle. Des contrôleurs d'entrée/sortie spéciaux (dont les noms exacts varient d'un fabricant à l'autre) gèrent exclusivement les E/S, et ceux-ci, à leur tour, sont connectés à des canaux matériels également dédiés aux entrées et sorties. Il peut y avoir plusieurs processeurs et plusieurs processeurs d'E/S. L'architecture globale optimise les performances d'entrée/sortie sans dégrader les performances pures du processeur. Étant donné que la plupart des applications réelles des systèmes mainframe sont des applications professionnelles à forte intensité d'E/S, cette architecture permet de fournir les niveaux de débit très élevés qui distinguent les mainframes des autres types d'ordinateurs.
Dans la terminologie IBM ESA/390 , un canal est une connexion de données parallèle à l'intérieur du sous-système d'E/S organisé de manière arborescente ou hiérarchique. Dans les cages d'E/S System/390, les canaux se connectent soit directement aux périphériques installés à l'intérieur de la cage (adaptateur de communication tel que ESCON , FICON , Open Systems Adapter ), soit à l'extérieur de la cage, sous le plancher surélevé sous forme de câbles de l'épaisseur d'un pouce et se connectent directement aux interfaces de canal sur des périphériques plus gros comme les sous-systèmes de bande, les périphériques de stockage à accès direct (DASD), les concentrateurs de terminaux et d'autres systèmes ESA/390.
Types de chaînes
Les canaux diffèrent selon le nombre et le type d'opérations d'E/S simultanées qu'ils prennent en charge. Dans la terminologie IBM, un canal multiplexeur prend en charge un certain nombre d'opérations lentes entrelacées simultanées, chacune transférant un octet à la fois depuis un périphérique. Un canal sélecteur prend en charge une opération à grande vitesse, transférant un bloc de données à la fois. Un multiplexeur de blocs prend en charge un certain nombre de programmes de canaux logiquement simultanés, mais un seul transfert de données à grande vitesse à la fois.
Les canaux peuvent également différer dans la manière dont ils associent les périphériques aux tampons de stockage. Dans la terminologie UNIVAC, un canal peut être soit un index spécifié en interne (ISI), avec un seul tampon et un seul périphérique actifs à la fois, soit un index spécifié en externe (ESI), avec le périphérique sélectionnant le tampon à utiliser.
Programme de la chaîne
Dans l'architecture IBM System/360 et les architectures ultérieures, un programme de canal est une séquence de mots de commande de canal (CCW) qui sont exécutés par le sous-système de canal d'E/S. Un programme de canal se compose d'un ou de plusieurs mots de commande de canal. Le système d'exploitation signale au sous-système de canal d'E/S de commencer à exécuter le programme de canal avec une instruction SSCH (start sub-channel). Le processeur central est alors libre de poursuivre les instructions non liées aux E/S jusqu'à ce qu'il soit interrompu. Lorsque les opérations de canal sont terminées, le canal interrompt le processeur central avec une interruption d'E/S. Dans les modèles antérieurs de la gamme de mainframes IBM, l'unité de canal était un composant identifiable, un pour chaque canal. Dans les mainframes modernes, les canaux sont implémentés à l'aide d'un processeur RISC indépendant, le processeur de canal, un pour tous les canaux. L'architecture étendue IBM System/370 et ses successeurs ont remplacé les instructions machine SIO ( start I/O ) et SIOF ( start I/O fast release ) antérieures (System/360 et premier System/370) par l'instruction SSCH ( start sub-channel ) (ESA/370 et successeurs).
Les E/S de canal permettent des économies considérables en termes d'entrées/sorties. Par exemple, sur Linux sur IBM Z d' IBM , le formatage d'une piste entière d'un DASD ne nécessite qu'un seul programme de canal (et donc une seule instruction d'E/S), mais plusieurs mots de commande de canal (un par bloc). Le programme est exécuté par le processeur d'E/S dédié , tandis que le processeur d'application (le CPU) est libre pour d'autres tâches.
Mots de commande du canal
Un mot de commande de canal ( CCW ) est une instruction destinée à un processeur de canal d'E/S spécialisé qui est en fait un FSM. Il est utilisé pour lancer une opération d'E/S, telle que « lecture », « écriture » ou « détection », sur un périphérique connecté à un canal. Sur les architectures système qui implémentent des E/S de canal, généralement tous les périphériques sont connectés par des canaux, et donc toutes les E/S nécessitent l'utilisation de CCW.
Les CCW sont organisés en programmes de canal par le système d'exploitation, une sous-routine d'E/S, un programme utilitaire ou un logiciel autonome (tel que des programmes de test et de diagnostic). Une capacité de « branchement » limitée, donc une capacité de programmation dynamique, est disponible dans ces programmes de canal, grâce à l'utilisation de l'indicateur de canal « modificateur d'état » et du CCW « transfert dans le canal ».
Enchaînement
Les CCW IBM sont chaînés pour former le programme de canal. Les bits dans le CCW indiquent que l'emplacement suivant dans le stockage contient un CCW qui fait partie du même programme de canal. Le programme de canal exécute normalement des CCW séquentiels jusqu'à ce qu'une exception se produise, qu'un CCW de transfert dans le canal (TIC) soit exécuté ou qu'un CCW soit exécuté sans chaînage indiqué. Le chaînage de commandes indique au canal que le CCW suivant contient une nouvelle commande. Le chaînage de données indique que le CCW suivant contient l'adresse de données supplémentaires pour la même commande, ce qui permet, par exemple, d'écrire ou de lire des parties d'un enregistrement dans plusieurs zones de données en stockage (écriture collective et lecture dispersée).
Programmes de chaînes auto-modifiables
Les programmes de canal peuvent modifier leur propre fonctionnement pendant l'exécution en fonction des données lues. Par exemple, l'auto-modification est largement utilisée dans OS/360 ISAM .
Exemple de programme de chaîne
L'exemple suivant lit un enregistrement de disque identifié par une clé enregistrée . La piste contenant l'enregistrement et la valeur souhaitée de la clé sont connues. L'unité de contrôle du périphérique recherchera la piste pour trouver l'enregistrement demandé. Dans cet exemple, <> indique que le programme de canal contient l'adresse de stockage du champ spécifié.
CHERCHER <numéro de cylindre/culasse> CLÉ DE RECHERCHE ÉGAL <valeur clé> TIC *-8 Retour à la recherche si différent LIRE LES DONNÉES <tampon>
Le TIC (transfert dans le canal) amènera le programme du canal à se brancher sur la commande SEARCH jusqu'à ce qu'un enregistrement avec une clé correspondante (ou la fin de la piste) soit rencontré. Lorsqu'un enregistrement avec une clé correspondante est trouvé, le contrôleur DASD inclura le modificateur d'état dans l'état du canal, ce qui amènera le canal à ignorer le TIC CCW ; ainsi, le programme du canal ne se branchera pas et le canal exécutera la commande READ.
L'exemple ci-dessus est correct pour les enregistrements non bloqués (un enregistrement par bloc). Pour les enregistrements bloqués (plus d'un enregistrement par bloc), la clé enregistrée doit être la même que la clé la plus élevée dans ce bloc (et les enregistrements doivent être dans l'ordre des clés), et le programme de canal suivant serait utilisé :
CHERCHER <numéro de cylindre/culasse> CLÉ DE RECHERCHE ÉLEVÉE OU ÉGALE <valeur clé> TIC *-8 Retour à la recherche si non élevé ou égal LIRE LES DONNÉES <tampon>
Si l'ensemble de données est alloué en pistes et que la fin de la piste est atteinte sans que l'enregistrement demandé ne soit trouvé, le programme de canal se termine et renvoie une indication d'état « aucun enregistrement trouvé ». De même, si l'ensemble de données est alloué en cylindres et que la fin du cylindre est atteinte sans que l'enregistrement demandé ne soit trouvé, le programme de canal se termine et renvoie une indication d'état « aucun enregistrement trouvé ». Dans certains cas, le logiciel système a la possibilité de mettre à jour le numéro de piste ou de cylindre et de relancer l'opération d'E/S sans interrompre le programme d'application.
Programmes de canaux dans les systèmes de stockage virtuels
Sur la plupart des systèmes, les canaux fonctionnent à l'aide d'adresses réelles (ou physiques) , tandis que les programmes de canal sont construits à l'aide d'adresses virtuelles . Le système d'exploitation est responsable de la traduction de ces programmes de canal avant de les exécuter, et à cette fin particulière, le superviseur d'entrée/sortie (IOS) dispose d'une fonction de correction rapide spéciale qui a été conçue dans le superviseur du système d'exploitation uniquement pour les « corrections » qui sont de durée relativement courte (c'est-à-dire nettement plus courte que le « temps d'horloge murale »). Les pages contenant les données à utiliser par l'opération d'E/S sont verrouillées dans la mémoire réelle, ou page fixe . Le programme de canal est copié et toutes les adresses virtuelles sont remplacées par des adresses réelles avant le démarrage de l'opération d'E/S. Une fois l'opération terminée, les pages ne sont pas fixées.
La correction et la suppression des pages étant un processus coûteux en ressources CPU, la correction des pages à long terme est parfois utilisée pour réduire le coût du processeur. Ici, la mémoire virtuelle est paginée pendant toute la durée de vie de l'application, plutôt que d'être corrigée et libérée à chaque opération d'E/S. Un exemple de programme qui peut utiliser la correction des pages à long terme est Db2 .
Une alternative à la correction de page à long terme consiste à déplacer l'application entière, y compris tous ses tampons de données, vers une zone préférée du stockage principal. Cela est accompli par un SYSEVENT spécial dans les systèmes d'exploitation MVS/370 à z/OS, où l'application est, d'abord, échangée depuis n'importe où, vraisemblablement depuis une zone non préférée , vers un stockage externe d'échange et de pagination, et est, ensuite, échangée vers une zone préférée (SYSEVENT TRANSWAP). Ensuite, l'application peut être marquée comme non échangeable par un autre SYSEVENT spécial (SYSEVENT DONTSWAP). Chaque fois qu'une telle application se termine, que ce soit normalement ou anormalement, le système d'exploitation émet implicitement un autre SYSEVENT spécial au nom de l'application s'il ne l'a pas déjà fait (SYSEVENT OKSWAP).
Démarrage avec canal E/S
Même l'amorçage du système, ou chargement initial du programme (IPL) dans la nomenclature IBM, est effectué par des canaux, bien que le processus soit partiellement simulé par le processeur via une instruction implicite de démarrage d'E/S (SIO), un mot d'adresse de canal (CAW) implicite à l'emplacement 0 et un mot de commande de canal (CCW) implicite avec un opcode de lecture IPL, également à l'emplacement 0. Le chaînage des commandes est supposé, de sorte que le CCW implicite à l'emplacement 0 tombe jusqu'à la continuation du programme de canal aux emplacements 8 et 16, et éventuellement ailleurs si l'un de ces CCW est un transfert dans le canal (TIC).
Pour charger un système, le CCW de lecture IPL implicite lit le premier bloc du périphérique IPL sélectionné dans la zone de données de 24 octets à l'emplacement 0, le canal continue avec les deuxième et troisième mots doubles, qui sont des CCW, et ce programme de canal charge la première partie du logiciel de chargement du système ailleurs dans la mémoire principale. Le premier mot double contient un PSW qui, lorsqu'il est récupéré à la fin de l'IPL, amène le processeur à exécuter le texte IPL (chargeur d'amorçage) lu par le CCW à l'emplacement 8. Le texte IPL localise, charge et transfère ensuite le contrôle au noyau du système d'exploitation. Le noyau exécute ou lance toute initialisation nécessaire, puis commence les opérations normales du système d'exploitation.
Ce concept IPL est indépendant du périphérique. Il est capable d'effectuer un IPL à partir d'un jeu de cartes, d'une bande magnétique ou d'un périphérique de stockage à accès direct (DASD), par exemple un disque, un tambour. La commande Read IPL (X'02'), qui est simulée par le processeur, est une commande de lecture EBCDIC Select Stacker 1 sur le lecteur de cartes et une commande Read sur les supports à bande (qui sont par nature à accès séquentiel), mais une commande Read-IPL spéciale sur DASD.
Les contrôleurs DASD acceptent la commande X'02', recherchent le cylindre X'0000', la tête X'0000', sautent jusqu'au point d'index (c'est-à-dire juste après l'enregistrement du descripteur de piste (R0)) puis traitent la commande Read IPL comme s'il s'agissait d'une commande Read Data (X'06'). Sans ce comportement spécial du contrôleur DASD, l'IPL indépendant du périphérique ne serait pas possible. Sur un DASD, le texte IPL est contenu sur le cylindre X'0000', la piste X'0000' et l'enregistrement X'01' (24 octets), et le cylindre X'0000', la piste X'0000' et l'enregistrement X'02' (assez grand, certainement un peu plus de 3 000 octets). Le nom du volume est toujours contenu sur le cylindre X'0000', la piste X'0000' et le bloc X'03' (80 octets). Le nom du volume pointe toujours vers le VTOC, avec un pointeur de la forme HHHH (c'est-à-dire que le VTOC doit résider dans les 65 536 premières pistes). Le DSCB Format 4 du VTOC définit l'étendue (taille) du VTOC, donc le nom du volume n'a besoin que d'un pointeur vers la première piste dans l'étendue du VTOC, et comme le DSCB Format 4, qui décrit le VTOC, est toujours le tout premier DSCB du VTOC, HHHH pointe également vers le DSCB Format 4.
Si une tentative d'IPL est effectuée à partir d'un périphérique qui n'a pas été initialisé avec le texte IPL, le système entre simplement en état d'attente. Le programme d'initialisation DASD (périphérique de stockage à accès direct), IBCDASDI, ou l'application d'initialisation DASD, ICKDSF, place un état d'attente PSW et une chaîne CCW factice dans les 24 octets, si le périphérique est désigné pour les données uniquement, et non pour l'IPL, après quoi ces programmes formatent le VTOC et exécutent d'autres fonctions d'initialisation du disque dur.