A história de DDR3, SPD e fabricantes chineses originais

Neste artigo, mostrarei como corrigir o SPD em um cartão de memória de laptop, devido ao motivo original, não relacionado ao fato de eu ter um MacBook antigo, mas pelo contrário, um novo computador e uma nova barra de memória apareceram (ambos de 11.2018) e o que dança com um pandeiro tudo isso levou.

Já existem artigos semelhantes sobre Habré uma e duas vezes , mas como usei outros programas e outra solução, resolvi escrever outro artigo semelhante, na esperança de que fosse útil para alguém.

E para quem não quiser, tentarei apresentar a situação na forma de uma história, e não um manual idiota, para que seja mais interessante ler (haverá muito petrosianismo e digressões líricas).

O artigo não fornecerá instruções explícitas sobre quais botões pressionar, porque você pode abandonar facilmente a memória; portanto, se estiver planejando fazer algo, é melhor não se apressar e pensar com a cabeça e adivinhar quais botões pressionar.

Então, essa história começou há muito tempo, há um mês, quando a palavra mágica "venda" apareceu no AliExpress e eu não pude me conter e me pedi outro computador pequeno. Para quem realmente não sabe o que é, aqui está uma foto:



Uma caixa de alumínio desse tamanho é 19x19, na qual um simples processador é empurrado, mas em geral é um computador comum, não muito inteligente, mas bastante funcional.

Você também precisa comprar memória, SSD, Wi-Fi, tranças e antenas para este computador e, é claro, os vendedores inserirão e enviarão tudo isso por uma sobretaxa “pequena”, então ligue-o e use-o. Mas o que exatamente eles irão inserir ... Então, é claro, pedi tudo em partes, ainda confio mais em mim. E, claro, por amor à arte é mais barato (caso contrário, não é interessante).

UPD: Nos comentários, notei justamente que a memória pode ser falsa. É possível que isso não afete a operação da memória e a postagem como um todo também. Lembre-se de que posso repreender injustamente um fabricante honesto.

O comp e o SSD chegaram, e a memória foi adiada por uma semana, então encontrei o antigo bar de 1 GB nas caixas e verifiquei tudo. Mas chegou um novo dado da ADATA (uma espécie de empresa conhecida, não é?), Que parecia bastante civilizada:



Então, sem hesitar, eu o inseri no computador e recebi ... Sim, na verdade não recebi nada. O computador brilhava com lâmpadas, mas é tudo.

Uma voz interna maligna riu e disse: Salvo? Comprou ADATA? Era preciso levar algo mais decente! Mas eu não o ouvi e estava envolvido em jogos no BIOS, usando o método engenhoso: inserimos o dado antigo, escolhemos as configurações, mudamos para um novo, experimentamos.

Depois de algum tempo, consegui iniciar o computador configurando a frequência para 533 (1067) e desativando toda a detecção automática. A memória funcionou! Mas qualquer tentativa de alterar a frequência ou fazer pelo menos outra coisa levou a um completo mal-entendido do computador, que se recusou a concordar comigo que ele deveria funcionar de qualquer maneira.

Hmm ... pensei, e peguei um laptop, retirei um dado, inseri o Adatov em seu lugar e o laptop no computador. Ambos felizes terminaram. Que abraço! Eu disse e comecei a tentar entender o que realmente aconteceu. Que incompatibilidade estranha e se vale a pena fazer mais alguma coisa, ou apenas deixá-lo. Deixe, bem, bem, eu sei, falei uma voz interior e continuei a cavar mais. Inner Sherlock achou que havia algum lixo com os horários, e os utilitários mostraram que o laptop decidiu iniciar em 667 (1333), em vez dos 800 (1600), ou seja, ele obviamente não gostou de algo no bar.

Como resultado, obtive a seguinte imagem:



Memória delkarirovat que suporta uma frequência de 800 (1600), mas os tempos são registrados apenas até 667. Algo estava claramente errado. Todos os computadores vizinhos afirmaram que suas memórias estão em ordem com o tempo, portanto o problema está claramente no módulo. Ao mesmo tempo, o estranho comportamento do computador ficou claro - vejo a frequência, mas não sei o que fazer com isso.

Porque Eu vi um artigo no Habr que dizia que o SPD podia ser exibido , decidi: para andar como um passeio, devemos tentar fazer algo a respeito.

Vejo que as atualizações chegaram, Windows, então vamos lá, estou ocupado

As pesquisas levaram ao excelente programa Typhoon Burner , que revelou uma pequena falha. Foi pago ... E custa quase tanto quanto a memória, ou seja, em vez do programa, você pode comprar outro dado, mas este, embora funcione mal, mas funciona! Então cave mais.

Outras pesquisas levaram à descoberta de outro ótimo programa, o RwEverything , que pode ler e escrever muitas coisas interessantes, incluindo o SPD, mas você precisa escolher o SPD e não apenas selecionar os dados necessários. E, sim, ela não tem a desvantagem do programa anterior.

Windows, por favor, foda-se com suas atualizações, eu entendo que é uma da manhã, mas vamos lá depois, hein?

Abri a Wikipedia , li sobre o SPD e percebi que tinha que adiar um pouco mais o sonho. Mas tenho despejos, várias outras barras, posso apenas copiar o conteúdo? A ideia é tentadora, mas adiada.

Em geral, o despejo de memória era assim:

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 

E um lixão de outro dado assim:

 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 

Bem, do geral, apenas um conjunto de zeros, mas aqui o olho se apega à próxima linha na Wikipedia:



Portanto, o 14º byte em um dado normal diz que ele suporta intervalos de 5 a 11 (FE), mas somente de 6 a 9 (3C). E com uma frequência de 800 (1600), o tempo deve ser apenas 11. Eu troco os bits (acontece FC), salvo em um arquivo, carrego no Typhoon e vejo



De repente, apareceram os horários necessários.

Digressão lírica: Eu pensei que todos os tempos são indicados para cada frequência e são explicitamente definidos, verifica-se que isso é apenas matemática em relação aos parâmetros básicos, ou seja, para confiar em utilitários mostrando números bonitos, 11-10-10-28, é impossível acreditar, porque eles fazem a mesma matemática estupidamente e, em seguida, complementam o seu gosto.


Então, eu posso escrever? Mas não, também há CRC:



O que ainda precisa ser calculado, e mesmo para descobrir 117 bytes ou 126, no entanto, o que pensar, vi no artigo um link para uma calculadora e digite: CRC-16 / XMODEM. Em geral, peguei os dados originais, joguei 126 bytes, falha, 117 - tudo funcionou (os bytes foram virados de cabeça para baixo), então é uma questão de tecnologia, editamos CRC, expiramos, registramos, vemos que todos os utilitários viram os horários ...

shutdown -h

Ligue ... Tudo funciona. A vida é linda, mais uma vez venci o sistema, puxei a barra do laptop, inseri-a no computador, tudo funciona!

Bem, janelas, colocar atualizações, eu permito, caso contrário, tudo estava esgotado

Em geral, tudo funciona para mim, mas toda a situação me parece absurda. Não é o último produtor de ADATA, ele produz memória há vários anos e esquece estupidamente de definir horários ... Como resultado, os usuários usam a memória em um modo mais lento ou encontram problemas como o meu por causa de dois bits de merda. Bem, como?

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


All Articles