L'histoire de DDR3, SPD et des fabricants chinois originaux

Dans cet article, je vais vous dire comment patcher SPD sur une clé USB, pour la raison d'origine, non liée au fait que j'avais un ancien MacBook, mais au contraire, un nouvel ordinateur et une nouvelle barre de mémoire sont apparus (tous deux à partir du 11.2018), et ce qui danse avec un tambourin tout cela a conduit.

Il y a déjà des articles similaires sur Habré une fois et deux , mais j'ai utilisé d'autres programmes et une autre solution, j'ai donc décidé d'écrire un autre article similaire, dans l'espoir qu'il serait utile à quelqu'un.

Et pour ceux qui ne le seront pas, j'essaierai de présenter la situation sous la forme d'une histoire, et non d'un manuel stupide, pour qu'il soit plus intéressant à lire (il y aura beaucoup de pétrosianisme et de digressions lyriques).

L'article ne donnera pas d'instructions explicites sur les boutons à appuyer, car vous pouvez facilement abandonner la mémoire, donc si vous prévoyez de faire quelque chose, il est préférable de ne pas vous précipiter et de penser avec votre tête, et vous pouvez deviner quels boutons appuyer.

Donc, cette histoire a commencé il y a longtemps, il y a un mois, lorsque le mot magique "vente" est apparu sur AliExpress et je n'ai pas pu me retenir et me suis commandé un autre petit ordinateur. Pour ceux qui ne savent pas vraiment ce que c'est, voici une photo:



Une telle boîte en aluminium mesure 19x19, dans laquelle un processeur simple est poussé, mais en général, c'est un ordinateur ordinaire, pas très intelligent, mais qui fonctionne assez bien.

Vous devez également acheter de la mémoire, un SSD, une connexion Wi-Fi, des pigtails et des antennes à cet ordinateur, et, bien sûr, les vendeurs insèreront et enverront tout cela pour un "petit" supplément, alors allumez-le et utilisez-le. Mais que vont-ils insérer exactement ... Alors, bien sûr, j'ai tout commandé en pièces, je me fais toujours plus confiance. Et, bien sûr, par amour pour l'art est moins cher (sinon ce n'est pas intéressant).

UPD: Dans les commentaires, j'ai remarqué à juste titre que la mémoire peut être fausse. Il est possible que cela n'affecte pas le fonctionnement de la mémoire, et la publication dans son ensemble également. Gardez juste à l'esprit que je peux injustement gronder un honnête fabricant.

La maquette et le SSD sont arrivés, et la mémoire a été retardée d'une semaine, alors j'ai trouvé l'ancienne barre sur 1 Go dans les bacs et j'ai tout vérifié. Mais un nouveau dé d'ADATA est arrivé (une sorte de société bien connue, hein?), Qui avait l'air assez civilisé:



Donc, sans hésitation, je l'ai inséré dans l'ordinateur et j'ai reçu ... Oui, je n'ai rien reçu. L'ordinateur brillait d'ampoules, mais c'est tout.

Une voix intérieure maléfique gloussa et dit: Sauvé? Vous avez acheté ADATA? Il fallait prendre quelque chose de plus décent! Mais je ne l'ai pas écouté et je me suis engagé dans des jeux dans le BIOS, en utilisant la méthode ingénieuse: nous insérons l'ancien dé, sélectionnons les paramètres, passons à un nouveau, essayons.

Après un certain temps, j'ai réussi à démarrer l'ordinateur en réglant la fréquence sur 533 (1067) et en désactivant toute détection automatique. La mémoire a fonctionné! Mais toute tentative de changer la fréquence ou de faire au moins quelque chose d'autre a conduit à une incompréhension totale de l'ordinateur, qui a refusé de convenir avec moi qu'il devrait fonctionner de toute façon.

Hmm ... J'ai pensé, et j'ai sorti un ordinateur portable, j'en ai sorti un dé, j'ai inséré l'Adatovskaya et l'ordinateur portable à sa place dans l'ordinateur. Les deux se sont retrouvés joyeusement. Quel câlin! J'ai dit et j'ai commencé à essayer de comprendre ce qui s'était réellement passé. Quelle étrange incompatibilité et si cela vaut la peine de faire quelque chose de plus, ou de le laisser. Pars, eh bien, eh bien, je sais, j'ai dit une voix intérieure, et j'ai continué à creuser plus loin. Inner Sherlock a estimé qu'il y avait des ordures avec des horaires et les services publics ont montré que l'ordinateur portable avait décidé de démarrer à 667 (1333), au lieu de 800 (1600), c'est-à-dire il n'a visiblement pas aimé quelque chose dans le bar.

En conséquence, j'ai obtenu l'image suivante:



Delkarirovat mémoire qu'il prend en charge une fréquence de 800 (1600), mais les timings ne sont enregistrés que jusqu'à 667. Quelque chose était clairement faux. Tous les ordinateurs voisins ont affirmé que leur mémoire, tout est en ordre avec les horaires, donc le problème est clairement dans le module. En même temps, le comportement étrange de l'ordinateur est devenu clair - je vois la fréquence, mais je ne sais pas quoi en faire.

Parce que J'ai vu un article sur le Habr que le SPD peut être flashé , j'ai décidé: pour marcher comme une promenade, il faut essayer de faire quelque chose.

Je vois que les mises à jour sont arrivées, Windows, alors allez, je suis occupé

Les recherches ont mené à l'excellent programme Typhoon Burner , qui a révélé un léger défaut. C'était payé ... Et ça coûte presque autant que la mémoire, c'est-à-dire au lieu du programme, vous pouvez acheter un autre dé, mais celui-ci, bien que ça marche mal, mais ça marche! Alors, creusez plus loin.

D'autres recherches ont conduit à la découverte d'un autre excellent programme RwEverything , qui peut lire et écrire beaucoup de choses intéressantes, y compris le SPD, mais vous devez choisir le SPD vous-même, et pas seulement sélectionner les données dont vous avez besoin. Et, oui, elle n'a pas l'inconvénient du programme précédent.

Windows, je t'en prie, va te faire foutre avec tes mises à jour, je comprends que c'est une heure du matin, mais viens plus tard, hein?

J'ai ouvert Wikipédia , j'ai lu sur SPD et j'ai réalisé que le rêve devrait être reporté un peu plus. Mais j'ai des vidages, plusieurs autres barres, puis-je simplement copier le contenu? L'idée est tentante, mais repoussée.

En général, le vidage de mémoire ressemblait à ceci:

0000000000: 92 11 0B 03 04 19 02 0A │ 03 52 01 08 0A 00 3C 00 0000000010: 69 78 69 3C 69 11 20 89 │ 20 08 3C 3C 01 68 83 05 0000000020: 80 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00 0000000030: 00 00 00 00 00 00 00 00 │ 00 00 00 00 0F 11 02 00 0000000040: 00 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00 0000000050: 00 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00 0000000060: 00 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00 0000000070: 00 00 00 00 00 04 CB 04 │ 18 32 DC 00 74 3C 09 E3 0000000080: 20 20 20 20 20 20 20 20 │ 20 20 20 20 20 20 20 20 0000000090: 20 20 00 00 04 CB 00 00 │ 00 00 00 00 00 00 00 00 00000000A0: 00 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00 00000000B0: 00 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00 00000000C0: 00 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00 00000000D0: 00 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00 00000000E0: 00 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00 00000000F0: 00 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 5A 

Et un vidage d'un autre dé comme celui-ci:

 0000000000: 92 12 0B 03 03 19 02 09 │ 03 52 01 08 0A 00 FE 00 0000000010: 69 78 69 30 69 11 18 81 │ 00 05 3C 3C 00 F0 83 01 0000000020: 00 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00 0000000030: 00 00 00 00 00 00 00 00 │ 00 00 00 00 0F 11 65 00 0000000040: 00 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00 0000000050: 00 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00 0000000060: 00 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00 0000000070: 00 00 00 00 00 80 AD 01 │ 16 20 01 73 25 CA D8 56 0000000080: 48 4D 54 33 35 31 53 36 │ 45 46 52 38 41 2D 50 42 0000000090: 20 20 4E 30 80 AD 00 57 │ 56 33 33 4E 30 35 38 37 00000000A0: 32 30 33 00 00 00 00 00 │ 00 00 00 00 00 00 00 00 00000000B0: 00 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00 00000000C0: 00 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00 00000000D0: 00 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00 00000000E0: 00 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00 00000000F0: 00 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00 

Eh bien, du général, seulement un ensemble de zéros, mais ici, l'œil s'accroche à la ligne suivante sur Wikipédia:



Ainsi, le 14e octet sur un dé normal indique qu'il prend en charge les timings de 5 à 11 (FE), mais celui-ci uniquement de 6 à 9 (3C). Et à une fréquence de 800 (1600), les timings devraient juste être 11. Je change les bits (il s'avère FC), enregistre dans un fichier, télécharge sur Typhoon et voit



Soudain, les horaires nécessaires sont apparus.

Digression lyrique: Je pensais que tous les timings sont indiqués pour chaque fréquence et sont explicitement définis, il s'avère que ce ne sont que des mathématiques par rapport aux paramètres de base, c'est-à-dire faire confiance aux utilitaires affichant de beaux chiffres 11-10-10-28 c'est impossible à croire car ils font bêtement les mêmes calculs, puis arrondissent à votre goût.


Alors, je peux écrire? Mais non, il y a aussi le CRC:



Ce qui doit encore être calculé, et même pour découvrir 117 octets ou 126, cependant, que penser, j'ai vu dans l'article un lien vers une calculatrice et tapez: CRC-16 / XMODEM. En général, j'ai pris les données d'origine, jeté 126 octets, échec, 117 - tout a fonctionné (les octets ont juste été renversés), alors c'est une question de technologie, nous éditons le CRC, expirons, enregistrons, voyons que tous les services publics ont vu les horaires ...

shutdown -h

Allumez ... Tout fonctionne. La vie est belle, encore une fois j'ai surmonté le système, je tire la barre de l'ordinateur portable, je l'insère dans l'ordinateur, tout fonctionne!

Eh bien, Windows, mettez les mises à jour, je le permets, sinon tout était épuisé

En général, tout fonctionne pour moi, mais toute la situation me semble absurde. Pas le dernier producteur d'ADATA, il crée de la mémoire depuis plusieurs années et oublie bêtement de régler les horaires ... En conséquence, les utilisateurs utilisent la mémoire dans un mode plus lent ou rencontrent des problèmes comme le mien à cause de deux putains de bits. Eh bien, comment ça?

Source: https://habr.com/ru/post/fr433098/


All Articles