A memória de aceso aleatório síncrono e dinâmico (do inglês synchronous dynamic random-access memory, conhecido pela abreviatura SDRAM) é toda memória de acesso aleatório (DRAM) que sincroniza automaticamente com a temporização de trabalho do processador (sincronização das ações nos circuitos digitais), planejada na década de 1970. A operação de sua interface de pino externa é coordenada por um sinal de relógio fornecido externamente e, a interface síncrona onde as entradas de controle são reconhecidas após a borda da entrada de clock. A memória síncrona foi desenvolvida devido à velocidade crescente dos outros componentes do computador.
Os circuitos integrados DRAM (ICs) produzido entre o início dos anos 1970 e o início dos anos 1990 usavam uma interface assíncrona, na qual os sinais de controle de entrada têm um efeito direto nas funções internas atrasadas apenas pelo disparo em seus caminhos de semicondutores. O SDRAM tem uma interface síncrona, por meio da qual as mudanças nas entradas de controle são reconhecidas após uma borda ascendente de sua entrada de clock. Em famílias SDRAM padronizadas por JEDEC, o sinal do relógio controla a etapa de uma máquina de estado finito interna que responde aos comandos de entrada. Esses comandos podem ser canalizados para melhorar o desempenho, com as operações iniciadas anteriormente sendo concluídas enquanto novos comandos são recebidos. A memória é dividida em várias seções de mesmo tamanho, mas independente, chamadas bancos, permitindo que o dispositivo opere em um comando de acesso à memória em cada banco simultaneamente e acelere o acesso de maneira intercalada. Isso permite que as SDRAMs alcancem maior simultaneidade e taxas de transferência de dados mais altas do que as DRAMs assíncronas.
Pipelining significa que o chip pode aceitar um novo comando antes de concluir o processamento do anterior. Para uma gravação em pipeline, o comando de gravação pode ser seguido imediatamente por outro comando sem esperar que os dados sejam gravados na matriz de memória. Para uma leitura em pipeline, os dados solicitados aparecem um número fixo de ciclos de clock (latência) após o comando de leitura, durante o qual comandos adicionais podem ser enviados.
História
As primeiras memórias do tipo DRAM foram projetadas para trabalharem sincronizadamente com o clock (temporização de trabalho) do processador, e eram usadas com os primeiros processadores Intel. Em meados da década de 1970, as DRAM mudaram para o design assíncrono, mas na década de 1990 retornaram à operação síncrona. Pois a memória síncrona reconhece o ciclo exato em que os dados solicitados estarão disponíveis para uso, sem a necessidade do processador esperar o ciclo de acessos à memória.
O primeiro SDRAM comercial foi o chip de memória Samsung KM48SL2000, que tinha capacidade de 16 Mbit. Foi fabricado pela Samsung Electronics usando um processo de fabricação CMOS (semicondutor de óxido de metal complementar) em 1992, e produzido em massa em 1993. Em 2000, SDRAM substituiu virtualmente todos os outros tipos de DRAM em computadores modernos, devido ao seu maior desempenho.
A latência SDRAM não é inerentemente inferior (mais rápida) do que a DRAM assíncrona. Na verdade, o SDRAM inicial era um pouco mais lento que o Burst EDO DRAM contemporâneo devido à lógica adicional. Os benefícios do buffer interno da SDRAM vêm de sua capacidade de intercalar operações em vários bancos de memória, aumentando assim a largura de banda efetiva.
Hoje, praticamente todos os SDRAM são fabricantes em conformidade com os padrões estabelecidos pela JEDEC, uma assosciação da indústria de eletrônicos que adota padrões abertos para facilitar a interoperabilidade de componentes eletrônicos. A JEDEC adotou formalmente seu primeiro padrão SDRAM em 1993 e subsequentemente adotou outros padrões SDRAM, incluindo aquelees para DDR SDRAM, DDR2 e DDR3.
SDRAM de dupla taxa de dados, conhecido como DDR SDRAM, foi demonstrado pela primeira vez pela Samsung em 1997. Samsung lançou o primeiro chip comercial DDR SDRAM (64 Mbit) em julho de 1998, seguido logo depois pela Hyundai Electronics (agora SK Hynix) no mesmo ano.
SDRAM também está disponível em variedades registradas, para sistemas que requerem maior escalabilidade, como servidores e estações de trabalho.
Hoje, os maiores fabricantes mundiais de SDRAM incluem: Samsung Electronics, SK Hynix, Micron Technology e Nanya Technology.
Timing Existem vários limites no desempenho da DRAM. O mais observado é o tempo de ciclo de leitura, o tempo entre sucessivas operações de leitura para uma linha aberta. Este tempo diminuiu de 10 ns para SDRAM de 100 MHz (1 MHz= Hz) a 5 ns para DDR-400, mas permaneceu relativamente inalterado nas gerações DDR2-800 e DDR3-1600. No entanto, ao operar o circuito de interface em múltiplos cada vez mais altos da taxa de leitura fundamental, a largura de banda alcançável aumento rapidamente.
Outro limite é a latência CAS, o tempo entre o fornecimento de um endereço de coluna e o recebimento dos dados correspondentes. Novamente, isso permaneceu relativamente constante em 10-15 ns nas útilmas gerações de SDRAM DDR.
Em operação, a latência do CAS é um número específico de ciclos de clock programados no registro de modo do SDRAM e esperados pelo controlador DRAM. Qualquer valor pode ser programado, mas o SDRAM não funcionará corretamente se estiver muito baixo. Em taxas de clock mais altas, a latência CAS útil em ciclos de clock aumenta naturalmente. 10-15 ns é 2-3 ciclos (CL2-3) do clock de 200 MHz do DDR-400 SDRAM, CL4-6 para DDR2-800 e CL8-12 para DDR3-1600. Ciclos de clock mais lentos naturalmente permitirão um número menor de ciclos de latência CAS.
Os módulos SDRAM têm suas próprias especificações de temporização, que podem ser mais lentas do que as dos chips no módulo. Quando os chips SDRAM de 100 MHz apareceram pela primeira vez, alguns fabricantes venderam módulos de "100 MHz" que não podiam operar de maneira confiável naquela taxa de clock. Em resposta, a Intel publicou o padrão PC100, que descreve os requisitos e diretrizes para a produção de um módulo de memória que pode operar de forma confiável a 100 MHz. Este padrão foi amplamente influente, e o termo "PC100" rapidamente se tornou um identificador comum para módulos SDRAM de 100 MHz, e os módulos agora são comumente designados com números prefixados de "PC" (PC66, PC100 ou PC133 - embora o significado real dos números mudou).
Sinais de controle Todos os comandos são cronometrados em relação à borda de subida de um sinal de clock. Além do clock, esxitem seis sinais de controle principalmente ativos low, que são amostrados na borda de subida do clock:
Ativação do relógio CKE. Quando este sinal está baixo, o chip se comporta como se o relógio tivesse parado. Nenhum comando é interpretado e os tempos de latência do comando não decorrem. O estado de outras linhas de controle não é relevante. O efeito deste sinal é realmente atrasado em um ciclo de clock. Ou seja, o ciclo de clock atual continua normalmente, mas o ciclo de clock seguinte é ignorado, exceto para testar a entrada CKE novamente. As operações normais são retomadas na borda ascendente do relógio após aquela em que o CKE é amostrado alto. Dito de outra forma, todas as outras operações do chip são cronometradas em relação à borda ascendente de um relógio mascarado. O clock mascarado é o AND lógico do clock de entrada e o estado do sinal CKE durante a borda de subida anterior do clock de entrada. Seleção de chip CS. Quando este sinal é alto, o chip ignora todas as outras entradas (exceto CKE) e age como se um comando NOP fosse recebido. Máscara de dados DQM. (A letra Q aparece porque, seguindo as convenções da lógica digital, as linhas de dados são conhecidas como linhas "DQ"). Quando alto, esses sinais suprimem a E/S de dados. Ao acompanhar dados de gravação, os dados não são realmente gravados na DRAM. Quando declarado alto dois ciclos antes de um ciclo de leitura, os dados lidos não são emitidos do chip. Há uma linha DQM por 8 bits em um chip de memóira x16 ou DIMM.
Sinais de comando 'RAS, estroboscópio de endereço de linha. Apesar do nome, este não é um estroboscópio, mas simplesmente um bit de comando. Junto com CAS e WE, isso seleciona um dos oito comandos. CAS, estroboscópio de endereço de coluna. Este também não é um estroboscópio, mas um bit de comando. Junto com RAS e WE, isso seleciona um dos oito comandos. WE, habilitar escrita. Junto com RAS e CAS, isso seleciona um dos oito comandos. Geralmente distingue comandos semelhantes a leitura de comandos semelhantes a gravação.
Sinais de banco (BAn) Os dispositivos SDRAM são divididos internamente em dois, quatro ou oito bancos de dados internos independentes. Uma a três entradas de endereço do banco (BA0, BA1 e BA2) são usadas para selecionar para qual banco um comando é direcionado.
Endereçamento (A10/An) Muitos comandos também usam um endereço apresentado nos pinos de entrada de endereço. Alguns comandos, que não usam endereço ou apresentam endereço de coluna, também usam A10 para selecionar variantes.
Comandos Os comandos SDR SDRAM são definidos da seguinte forma:
CS RAS CAS WE BAn A10 An Comando H x x x x x x Inibição de comando (sem operação) L H H H x x x Nenhuma operação L H H L x x x Terminar em rajada: interrompe uma leitura em rajada ou uma gravação em rajada em andamento L H L H banco L coluna Ler: lê uma sequência de dados da linha ativa no momento L H L H banco H coluna Leia com pré-carga automática: como acima, e pré-carregue (fecha a linha) quando terminar L H L L banco L coluna Gravar: grava uma explosão de dados na linha atualmente ativa L H L L banco H coluna Escreva com pré-carga automática: como acima, e pré-carregue (fecha a linha) quando terminar L L H H banco fileira Ativo (ativar): abre uma linha para comandos de leitura e gravação L L H L banco L x Pré-carga: desativa (fecha) a linha atual do banco selecionado L L H L x H x Pré-carregar tudo: desative (fecha) a linha atual de todos os bancos L L L H x x x Atualização automática: atualize uma linha de cada banco, usando um contador interno. Todos os bancos devem ser pré-carregados. L L L L 0 0 modo Registro do modo de carga: A0 a A9 são carregados para configurar o chip DRAM.As configurações mais significativas são a latência do CAS (2 ou 3 ciclos) e a duração da rajada (1, 2, 4 ou 8 ciclos)
Todas as gerações de SDRAM (SDR e DDRx) usam essencialmente os mesmos comandos, com as alterações sendo: Bits de endereço adicionais para suportar dispositivos maiores Bits de seleção de banco adicionais Registro de modo mais amplo (DDR2 e acima usam 13 bits, A0-A12) Registros de modo estendido adicionais (selecionados pelos bits de endereço do banco) DDR2 exclui o comando de término de explosão; DDR3 o reatribui como "calibração ZQ" DDR3 e DDR4 usam A12 durante o comando de leitura e gravação para indicar "burst chop", transferência de dados de meio comprimento DDR4 altera a codificação do comando active. Um novo sinal ACT o controla, durante o qual as outras linhas de controle são usadas como bits de endereço de linha 16, 15 e 14. Quando ACT é alto, outros comandos são os mesmos acima.
Construção e operação
Por exemplo, um DIMM SDRAM de '512 MB' que contém 512 MB, pode ser feito de oito ou nove chips SDRAM, cada um contendo 512 Mbit de armazenamento e cada um contribuindo com 8 bits para a largura de 64 ou 72 bits do DIMM. Um chip SDRAM típico de 512 Mbit contém internamente quatro bancos de memória independentes de 16 MB. Cada banco é uma matriz de 8.192 linhas de 16.384 bits cada. (2.048 colunas de 8 bits). Um banco está ocioso, ativo ou mudando de um para o outro.Aqui, K, M, G ou T referem-se aos prefixos binários baseados em potências de 1024.