Maison / Maîtriser l'ordinateur / Modes de transfert de données. Ralentissement inattendu du disque dur, pourquoi et comment il a été résolu. Lutte contre le mode PIO Canal principal ide mode pio

Modes de transfert de données. Ralentissement inattendu du disque dur, pourquoi et comment il a été résolu. Lutte contre le mode PIO Canal principal ide mode pio

Pour transférer des données entre le disque dur et la mémoire du PC, deux modes principaux sont utilisés :

    mode d'entrée/sortie de programme (Entrée/Sortie programmée, PIO);

    mode accès direct mémoire (accès direct à la mémoire, DMA).

mode pio

En mode PIO, chaque octet d'information avec disque dur est d'abord lu par le CPU puis écrit dans la RAM. Selon la durée du cycle de lecture et le nombre de secteurs transférés par accès disque, il existe des modes PIO (PIO Mode 0), PIO1, PIO2, PIO3, PI04, PI05.

mode DM

Les modes PIO sont utilisés dans les systèmes d'exploitation monotâche lorsque le processeur de l'ordinateur lit ou écrit des données sur mémoire tampon Disque dur standard IDE ou EIDE, puis ces données sont transférées vers la RAM. En multitâche systèmes d'exploitation il est conseillé d'utiliser les modes d'accès direct pour mémoire vive(Accès direct à la mémoire, DMA). L'entrée/sortie de données dans ce mode est effectuée dans la RAM du PC sans la participation de la CPU. Ce processus se déroule sous le contrôle du contrôleur de stockage sur disques durs dans les pauses entre les accès CPU à la RAM, ce qui réduit quelque peu le taux de transfert de données, mais économise du temps processeur. Pour implémenter les modes DMA, contrairement à Ryu, des contrôleurs et des pilotes spéciaux sont nécessaires.

Les modes DMA sont divisés en un seul mot (Singleword) et plusieurs mots (Multiword) en fonction du nombre de mots transmis dans un cycle de fonctionnement avec le bus système.

Données série (sata)

Une nouvelle augmentation du débit de transfert de données via l'interface ATA parallèle a causé des difficultés techniques. De plus, les fabricants de PC n'étaient pas satisfaits du câble large à 40 conducteurs (ou 80 conducteurs), qui empêche la circulation de l'air à l'intérieur du boîtier et est limité à une longueur de 46 cm.

Par conséquent, en 1999, le groupe de travail Serial ATA a été créé, dont le but était de créer une interface Serial ATA - Serial ATA (SATA). L'interface a été introduite en 2001 et a démontré un taux de transfert de données de 150 Mo/s.

De plus, pour connecter plusieurs appareils (disque dur, Lecteurs de CD-ROM, DVD-ROM, etc.) n'utilisera pas une topologie en étoile (lorsque chaque périphérique doit être identifié comme maître ou esclave), mais une topologie point à point, lorsque chaque périphérique est directement connecté à l'adaptateur hôte (similaire à SCSI - appareils).

SCSL (Small Computer System Interface) est une interface plus polyvalente et efficace qu'un IDE. Cependant, son implémentation matérielle est nettement plus coûteuse que celle de l'interface IDE. L'interface SCSI présente des avantages évidents lors de l'utilisation de la vidéo, ainsi que lors de l'utilisation d'un lecteur de CD-ROM dans un environnement d'exploitation multitâche ou en tant que lecteur réseau.

La communication entre un périphérique SCSI et un bus d'E/S (tel que ISA, PCI, VLB) s'effectue via un bus externe à l'aide d'un adaptateur hôte. Les périphériques connectés au bus SCSI n'interagissent pas directement les uns avec les autres, mais via les contrôleurs SCSI intégrés.

Bonjour à tous les lecteurs du blog. Dans cet article, nous parlerons de la façon de restaurer les performances du système. Les utilisateurs ont souvent un problème très travail lent informatique, en particulier lors de l'enregistrement et à en lisant disques, ou simplement des "freins" déraisonnables du système pendant le fonctionnement ou le chargement. Pourquoi le système gèle lire
Il peut y avoir de nombreuses raisons à cela, aujourd'hui je propose d'en considérer une assez courante - c'est le mauvais mode de fonctionnement CD/DVD-ROM ou disques durs , c'est-à-dire parlons de PIO et DMA.Comment vérifier Disque dur lire les erreurs et les corriger

Quelle est l'essence et la différence entre PIO et DMA.

PIO et DMA- ce sont deux modes de fonctionnement des disques durs, dans le cas général de tout disque.
PIO (entrée/sortie programmable)- mode déjà obsolète, il doit fonctionner
engager CPU, entraînant une perte importante de performances.
DMA (accès direct à la mémoire)- une méthode moderne qui contourne le processeur et
attire directementà la RAM, cela permet considérablement Augmentation de la productivité et se débarrasser des "freins" gênants.
Mode DMA en diverses possibilités a longtemps été utilisé dans les systèmes d'exploitation Windows 7, 8 et 10, cependant sous Windows XP, une situation se produit souvent dans laquelle DMA bascule automatiquement sur PIO et il ne fonctionnera pas pour le ramener par des méthodes conventionnelles. Qu'est-ce qui cause cette situation ?
Implémenté dans Windows XP mécanisme contrôle d'erreur, si des erreurs se produisent trop souvent lors de la lecture à partir d'un disque dur ou d'un autre lecteur, le système passe automatiquement en mode plus lent, où leur pourcentage est moindre. Cependant, Windows XP peut transférer un appareil fonctionnant normalement dans ce mode.
Comment corriger les erreurs Windows lu

Et donc, vérifions les modes de fonctionnement de tous les lecteurs afin que le système ne ralentisse pas ..

1 . Lancement de la console "Gestion d'ordinateur"- clic droit sur "Mon ordinateur"


dans le menu déroulant, sélectionnez l'élément "Gestionnaire de périphériques", ou par
Panneau de commande. Ou Démarrer - Exécuter - devmgmt.msc

2. Choisir " Gestionnaire de périphériques", choisir IDE ATA/ATAPI contrôleurs,


plusieurs lignes avec des contrôleurs s'ouvriront - nous sommes intéressés par :
Primaire et secondaire chaînes EDI→ aller un par un à propriétés ces canaux (clic droit sur le canal, ligne " Propriétés"), au signet " Options supplémentaires» ,
il y a deux groupes ici "Appareil 0" et "Appareil 1", chacun a des lignes
"Mode de transfert"- doit être sélectionné "DMA si disponible", puis la ligne "Mode de transfert actuel", devrait être quelque chose comme "Mode ultra-DMA : 4,


si "mode PIO" est défini ici, alors c'est juste notre cas et nous allons répare le.
Si partout mode valeur ultra-DMA, alors tout va bien et vous ne pouvez pas continuer d'autres actions.
3. Pour commencer, essayons de le réparer manuellement - dans chaque ligne "Mode de transfert" définissez "DMA, si disponible", presse "D'ACCORD" et redémarrez l'ordinateur. Après avoir rallumé
on regarde les modes de fonctionnement des canaux, si le DMA est partout, alors tout est en ordre, si PIO reste, puis on continue.
4. Trouve encore Canaux IDE primaires et secondaires et supprimez-les (clic droit sur chaque canal, dans la liste sélectionnez "Supprimer"). N'ayez pas peur, tout fonctionnera bien.
Redémarrez votre ordinateur à nouveau - Windows XP trouvera des contrôleurs et les mettre en mode rapide, c'est-à-dire en DMA. Vérifiez le résultat, il devrait y avoir un mode partout DMA.
5. Si tout ce qui précède n'a pas aidé et que vous voyez à nouveau " Mode PIO", alors il faudra réorganiser les pilotes Pour carte mère- redémarrer
et vérifiez à nouveau le résultat.
6. Eh bien, le dernier point, si après toutes les souffrances, le régime OIP n'a jamais disparu, alors vous devez éditer dans enregistrer. Je tiens à noter - effectuez toutes les opérations avec
registre très soigneusement et soigneusement, toute action erronée peut entraîner l'inopérabilité complète de votre système. Il est préférable de faire une copie du registre à l'avance.
Comment configurer Windows XP en utilisant la lecture du registre

Tout d'abord, essayez de désactiver le système de contrôle des erreurs.
Pour cela, dans la branche registre :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Cdfs\,
créer une clé Contrôle d'erreur et définissez sa valeur sur 0.


Après cela, redémarrez et suivez l'étape №4.


dedans, vous pouvez régler manuellement le mode DMA.
Il y a plusieurs dossiers ici. - 0000, 0001, 0002.
0000 - responsable du contrôleur lui-même ;
0001 - responsable de l'IDE secondaire Chanell ;
0002 - responsable de l'IDE primaire Chanell ;
Ouvrez le dossier de la chaîne dont nous avons besoin. En elle sont
plusieurs touches, pour commencer, sélectionnez :
MasterDeviceTimingModeAllowed
SlaveDeviceTimingModeAllowed
et définissez la valeur sur 0xffffffff.
Après cela, nous définissons la valeur des clés suivantes :
MasterDeviceTimingModeMasterDeviceTimingMode
SlaveDeviceTimingMode
selon les données suivantes, selon
prise en charge UDMA-mode :
Mode UDMA 2 - 0x2010
Mode UDMA 4 - 0x8010
Mode UDMA 5 - 0 × 10010
Mode UDMA 6 - 0xffff

Après cela, redémarrez et vérifiez le résultat - tout devrait bien fonctionner.

Comment accélérer et récupérer Performances Windows 10, lire
Quelle est la vitesse de transfert d'informations dans les ordinateurs, lisez
J'espère que cet article vous aidera à définir correctement les modes. PIO et DMA et améliorer les performances globales du système.

Un long état de stabilité brise tôt ou tard quelque chose d'imprévisible et d'étrange, alors ce moment est venu. Il y a quelques jours, en copiant un fichier d'un disque physique à un autre, j'ai soudainement remarqué que la vitesse était catastrophiquement basse - 4-6 Mb/s au lieu des 50-90 Mb/s attendus (corrigés pour la fragmentation). Je regarde la charge du processeur - un cœur est entièrement occupé par le traitement des interruptions, tout est clair - le disque est passé en mode PIO.

Configuration initiale: ASUS P5Q, 4 disques SATA 1 Go, 2 disques SATA 1,5 Go, pas de RAID, Windows XP SP3. Le disque fonctionnait en mode UDMA, comme tous les autres, je l'ai testé après installation. Gestionnaire de périphériques -> contrôleurs IDE -> canal et regardez "mode de transfert actuel". Sur la photo, les deux appareils fonctionnent en mode UDMA, dans mon cas le deuxième appareil fonctionnait en mode PIO, mais je n'ai pas enregistré cette image. Pour comprendre qui se bloque sur quel canal, basculez la vue du Gestionnaire de périphériques sur Affichage -> Périphériques par connexion.

Bien que les disques soient SATA, les contrôleurs du Gestionnaire de périphériques sont ATA. Le fait est que dans le BIOS, les contrôleurs SATA sont configurés par défaut pour prétendre être des contrôleurs ATA, auquel cas de nouveaux pilotes AHCI supplémentaires ne sont pas nécessaires. Vous pouvez passer en mode AHCI sans douleur, cela n'affecte pas l'organisation logique des données, cela ne nécessite que les pilotes appropriés. En mode AHCI, la prise en charge de NCQ (réorganisation des commandes de disque dur) apparaît et, en général, les performances augmentent un peu, mais pas beaucoup, et la prise en charge du remplacement à chaud est également ajoutée.

Versions causes possibles:

1) Quelque chose avec un train.
2) Quelque chose avec les pilotes, panne ou conflit.
3) Quelque chose avec le disque dur.

Il existe un deuxième système - Windows 7, je démarre dessus et j'observe toutes les performances des disques en modes UDMA, ce qui signifie que le matériel semble être normal. Je regarde le journal des événements, je ne trouve aucun message concernant un problème avec les disques, je regarde les diagnostics SMART - tout va bien, il n'y a pas de conflits de périphériques, tout va bien. Je prends les derniers pilotes d'ASUS. Notez l'ancien numéro de version Pilotes Intel ICH10R, j'en ai mis un neuf. Il est mis d'une manière suspecte rapidement, à la suite de quoi il n'a pas été mis à jour. Je mets à jour manuellement les pilotes ICH10R via les fichiers INF, il est installé, mais le problème persiste. Je vais chez Intel, je télécharge la dernière version, je l'installe, rien n'est réinstallé. Je découvre que leurs pilotes ne sont mis à jour que si l'appareil n'a pas du tout de pilote, pour forcer il faut utiliser la clé secrète "-overlall", j'essaie, mets à jour, mais ne résout pas le problème. Je change le câble, le retire, colle le disque - cela n'aide pas. Le résultat intermédiaire est que le matériel fonctionne, le nouveau logiciel n'aide pas.

je trouve dans Microsoft article intéressant: "Après plusieurs erreurs CRC ou délais d'attente, les lecteurs IDE ATA et ATAPI utilisent le mode PIO" . Ils écrivent que s'il y avait des échecs de transmission via UDMA, alors le système abaisse séquentiellement les modes jusqu'au mode PIO (ou immédiatement) et gèle cet état ! Pour revenir en arrière, ils suggèrent de supprimer le contrôleur du Gestionnaire de périphériques et il renaîtra de ses cendres. Je ne suis pas allé pour cela, parce que. J'avais peur qu'il ne renaisse pas (ils ont écrit à ce sujet quelque part), alors j'ai suivi la deuxième voie décrite là-bas et ailleurs.

Solution. Ouvrez la branche de registre "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControl lSet\Control\Class\(4D36E96A-E325-11CE-B FC1-08002BE10318)", elle contiendra les branches 0000, 0001, etc. Ils correspondent aux périphériques dans le Gestionnaire de périphériques. Nous ne nous intéressons qu'aux canaux, nous regardons le nom par DriverDesc, en l'occurrence "Primary IDE Channel".

Faites attention à MasterDeviceTimingModeAllowed et SlaveDeviceTimingModeAllowed - ils définissent le masque des modes autorisés, si 0xffffffff, alors tout est autorisé, et si 0x1f, alors uniquement le mode PIO. J'ai un problème sur Slave. eux-mêmes modes actuels sont stockés dans MasterDeviceTimingMode et SlaveDeviceTimingMode, ils sont différents (vous pouvez trouver la signification des chiffres sur le net). MS suggère de faire ce qui suit - définissez une clé supplémentaire ResetErrorCountersOnSuccess (DWORD) = 1 et redémarrez. Je l'ai fait, mais cela n'a pas fonctionné, il a simplement réinitialisé le UserSlaveDeviceTimingModeAllowed souhaité à 0x1f également. Je l'ai renvoyé au Gestionnaire de périphériques, mais je pense que vous pouvez également définir manuellement 0xffffffff ici. Ensuite, j'ai défini SlaveDeviceTimingModeAllowed = 0xffffffff, redémarré et voilà !, tout a fonctionné. Au total, je pense qu'il suffisait de faire ce qui suit (le problème est sur le Slave) :

UserSlaveDeviceTimingModeAllowed = 0xffffffff, SlaveDeviceTimingModeAllowed = 0xffffffff, ResetErrorCountersOnSuccess = 1 et redémarrez.

L'image suivante montre l'état final du registre après un redémarrage. Les modes sont désormais les mêmes, les masques sont conservés et dans le gestionnaire de périphériques on voit l'image, comme au début du post.

Maintenant pour la raison. Comme il ressort de l'article MS, l'une des raisons de la correction de leur pilote était que le délai de démarrage du disque dur était insuffisant (sous Win2000 - 4 secondes, rendu 10 secondes) et cela posait un problème au cas où les disques sortiraient du mode veille. J'ai constamment utilisé le paramètre pour éteindre les disques après une inactivité après 2 heures, ce qui entraînait parfois le réveil de leur ventilateur lorsque certaines applications voulaient grimper plusieurs partitions à la fois. Je pense que dans certains scénarios, le délai d'attente a peut-être encore été dépassé et qu'un échec a été enregistré, ce qui a entraîné la désactivation de l'UDMA. Maintenant, j'ai refusé d'éteindre les disques, de les laisser fonctionner, d'ailleurs, des allumages et extinctions fréquents peuvent faire plus de mal que de bien.

1. Ouvrez le Gestionnaire de périphériques.
Cela peut être fait en cliquant avec le bouton droit sur "Poste de travail" (Poste de travail), sélectionnez l'onglet "Périphériques de disque" (Matériel), puis cliquez sur le bouton sélectionnez "IDE" ( Choisir un appareil directeur).

2. Ouvrez la section "IDE ATA/ATAPI Controllers" et double-cliquez sur "Primary IDE Channel".

3. Dans l'onglet Paramètres avancés, vérifiez le paramètre Périphérique 1.
Il est possible que votre installation actuelle- P.I.O.

4. Réglez "DMA" si disponible (DMA si disponible).

5. À la fin de toutes les actions, redémarrez l'ordinateur.

Si vous avez un périphérique sur un canal IDE secondaire, répétez les mêmes étapes pour le canal IDE secondaire.

Coupe-tube et cintreuse pour l'auto-assemblage de LSS

Deux outils EK Water Blocks sont destinés aux auto-constructeurs : le coupe-tube souple EK-Loop et l'outil de cintrage de tubes durs EK-Loop Modulus.

Cumulatif Windows Update 10 1909 KB4528760

Le 14 janvier 2020, Microsoft a publié la mise à jour cumulative KB4528760 (Build 18363.592) pour la mise à jour Windows 10 novembre 2019 (version 1909) basée sur les processeurs x86, x64 (amd64), ARM64 et Windows Server 2019 (1909) pour les systèmes x64.

Cherry a amélioré les commutateurs de clavier mécaniques

Cherry, connu comme fournisseur de commutateurs mécaniques à clavier, a amélioré les modèles populaires de la série MX : Rouge, Marron, Noir et Vitesse.

Conducteur AMD Radeon Logiciel Adrenalin 2020 Edition 20.1.1

Pack graphique du 1er janvier 2020 Pilotes Radeon Software Adrenalin 2020 Edition 20.1.1 contient des optimisations pour Monster Hunter World : Iceborne et corrige près de trois douzaines de bugs trouvés dans les versions précédentes.