O que é uma atualização de memória?

Tanto a SRAM quanto a DRAM são formas de memória volátil. Isso significa que eles precisam de uma fonte de alimentação para reter os dados que armazenam. Você pode ter ouvido falar que os dados são excluídos da RAM quando o computador é desligado, mas isso não é totalmente verdade. Os dados não são excluídos explicitamente; a carga que indica um binário 1 ou 0 nas células de memória escapa. Embora o método seja diferente, o efeito é o mesmo; os dados são tornados inacessíveis.

O processo de escapar da carga é essencial para a RAM. É tão importante que é a característica distintiva entre SRAM e DRAM. As células Static Random Access Memory ( SRAM ) utilizam seis transistores conectados como um par de inversores cruzados. Essa estrutura mantém sua carga indefinidamente enquanto a célula de memória tiver uma fonte de alimentação. As células DRAM (Dynamic Random Access Memory ) usam um único transistor que constantemente perde sua carga e precisa ser atualizado regularmente.

Essa diferença de estrutura também se presta às diferenças de uso entre SRAM e DRAM. DRAM oferece densidade de armazenamento significativamente maior, mas requer circuitos de atualização mais complicados, embora esse efeito não seja suficiente para compensar a vantagem de densidade. A SRAM é, no entanto, mais rápida que a DRAM. Nos caches do processador, a SRAM é usada em pequenas quantidades, enquanto a DRAM fornece RAM de sistema de alto volume.

A anatomia de uma atualização

Para entender como a DRAM é atualizada, é útil saber como ela é lida. Os dados DRAM são lidos em linhas, com uma linha inteira sendo lida de uma só vez. Para fazer isso, uma linha de palavra da linha é cobrada. Isso faz com que a linha de células de memória seja descarregada em suas respectivas linhas de bits. As tensões comparativas das linhas de bit são alimentadas em amplificadores de detecção, que amplificam a carga ao mínimo ou máximo, dependendo do estado de cada linha de bit.

Os amplificadores de detecção então se abrem e ficam disponíveis para serem lidos. Os dados são então lidos de cada coluna especificada no barramento de memória para serem transferidos para a CPU. Uma vez que os dados necessários tenham sido lidos da linha, a linha de palavras da linha e os amplificadores de detecção são desligados enquanto as linhas de bits são pré-carregadas novamente.

Embora isso seja muito complexo, você deve ter notado algo importante. O processo de leitura descarrega as células de memória. Com a célula descarregada, relê-los obteria todos os 0s e os dados seriam perdidos. A leitura de DRAM é destrutiva, mas os dados permanecem em sua RAM quando você os lê. Falta uma etapa que explica essa discrepância. Enquanto os amplificadores de sentido estão travados, seu estado é realimentado nas células de memória das quais eles lêem, mantendo as células baixas baixas e carregando as células altas. Isso é feito automaticamente em cada operação de leitura e é uma operação de atualização.

Uma operação de atualização funciona da mesma forma, mas em vez de transferir os dados solicitados para o barramento de memória, os amplificadores de detecção apenas recarregam as células de memória antes de desligar novamente.

Por que uma atualização é necessária?

É fácil entender por que é necessário atualizar uma célula de memória após uma operação de leitura destrutiva. É menos intuitivo porque outras atualizações são necessárias. Infelizmente, os minúsculos transistores usados ​​para manter a carga de cada célula não são perfeitos para reter a carga. Ele simplesmente vaza. Isso acontece muito rapidamente. O padrão JEDEC para padrões de memória atuais exige que todas as linhas em um chip DRAM sejam atualizadas a cada 64ms.

Para evitar perda de desempenho, o processo é executado oportunamente a cada 64 ms, atualizando todo o chip DRAM em um lote. As linhas lidas já são atualizadas, mas enquanto a DRAM está ociosa, as linhas não lidas são atualizadas em segundo plano.

A pesquisa mostrou que as células DRAM podem reter seus dados por 10 segundos sem serem atualizadas. Alguns outliers estatísticos podem até mesmo manter os dados por até um minuto. Infelizmente, você também obtém outliers na outra direção que não conseguem manter sua carga nem por um segundo. Um cronômetro de ciclo de atualização muito conservador é escolhido para evitar perda ou corrupção de dados. Ainda assim, a DRAM moderna é rápida o suficiente para que a atualização a cada 64ms não aplique uma perda de desempenho apreciável.

Dica: os pesquisadores descobriram que a retenção de carga pode variar significativamente entre as células, mesmo em um único chip DRAM. Ocasionalmente, células boas de repente se tornam piores em manter sua carga, então você também não pode escolher de forma confiável.

A pesquisa também descobriu que a temperatura desempenha um papel significativo na taxa de decaimento de carga. Acima de 85 graus Celsius, a carga pode decair significativamente mais rápido, portanto, o tempo do ciclo de atualização é reduzido pela metade. Por outro lado, a DRAM fria pode manter sua carga por mais tempo. Isso é conhecido o suficiente para que ataques de “inicialização a frio” possam ser usados ​​para tentar recuperar dados “perdidos” no desligamento da RAM, resfriando-a.

Conclusão

As células DRAM precisam de atualização regular para armazenar dados a longo prazo por dois motivos. Em primeiro lugar, a operação de leitura é destrutiva. Em segundo lugar, a carga do transistor decai com o tempo. Para evitar a perda de dados, os dados lidos são gravados nas mesmas células de memória e as células que não foram lidas recentemente são atualizadas regularmente. O processo de atualização geralmente é necessário apenas a cada poucos segundos. No entanto, todas as linhas são atualizadas em uma escala de tempo muito conservadora para evitar a perda de dados de células que são discrepantes estatísticas na rapidez com que sua carga decai.

Seria possível reduzir a frequência com que as atualizações são necessárias com sensores de temperatura e tecnologias de conscientização de retenção. Isso envolveria preferir o uso de células que são boas em manter uma carga. Fazer isso evitaria, sempre que possível, os outliers estatísticos que exigem tal ajuste conservador. No entanto, essas tecnologias geralmente não são usadas, pois adicionam custo e complexidade para resolver um problema com um impacto mínimo no desempenho. Compartilhe seus pensamentos nos comentários abaixo.



Como clonar um disco rígido

Como clonar um disco rígido

Na era digital moderna, onde os dados são um bem valioso, a clonagem de um disco rígido no Windows pode ser um processo crucial para muitos. Este guia completo

Como consertar o driver WUDFRd que falhou ao carregar no Windows 10?

Como consertar o driver WUDFRd que falhou ao carregar no Windows 10?

Você está enfrentando a mensagem de erro ao inicializar o computador, informando que o driver WUDFRd falhou ao carregar no seu computador?

Como corrigir o código de erro NVIDIA GeForce Experience 0x0003

Como corrigir o código de erro NVIDIA GeForce Experience 0x0003

Você está enfrentando o código de erro 0x0003 da experiência NVIDIA GeForce em sua área de trabalho? Se sim, leia o blog para descobrir como corrigir esse erro de forma rápida e fácil.

Noções básicas de impressão 3D: adesão à base da impressora

Noções básicas de impressão 3D: adesão à base da impressora

Aprendendo sobre impressão 3D? Aqui está o que você precisa saber sobre a adesão da base da impressora.

Como remover uma GPU do Windows PC em 2023

Como remover uma GPU do Windows PC em 2023

Você precisa remover a GPU do seu PC? Junte-se a mim enquanto explico como remover uma GPU do seu PC neste guia passo a passo.

Como instalar um SSD NVMe em um desktop e laptop

Como instalar um SSD NVMe em um desktop e laptop

Comprou um novo SSD NVMe M.2, mas não sabe como instalar? Continue lendo para saber como instalar um SSD NVMe em um laptop ou desktop.

O que é uma bomba lógica?

O que é uma bomba lógica?

Uma bomba lógica é um incidente de segurança em que um invasor configura uma ação atrasada. Continue lendo para saber mais.

O que é Stuxnet?

O que é Stuxnet?

O Stuxnet era um worm autopropagado. Foi o primeiro uso de uma arma cibernética e a primeira ocorrência de malware.

O que é um hacker ético?

O que é um hacker ético?

Um hacker ético é um hacker que age dentro das restrições da lei. Continue lendo para saber mais sobre o assunto.

O que é criptografia simétrica?

O que é criptografia simétrica?

Existem muitas partes diferentes da criptografia. Se você deseja criptografar alguns dados, existem dois tipos de algoritmos que você pode usar: simétrico