Existem diferentes tipos de
memória disponível no mercado, cada uma atendendo diferentes requerimentos de
sistema. A performance do sistema como um todo é determinada pela eficiência
ou ineficiência de mover dados entre o dispositivo de armazenamento, memória e
Central de Processamento (CPU). Tipicamente, aumento na performance do sistema
pode ser conseguido através do aumento da velocidade do processador e do
aumento do cache. O problema é que aumentando a performance desta forma, os
requerimentos de dados para processamento também aumentam e daí a performance
do sistema se torna um gargalo que prejudica o sistema como um todo.
Quando uma aplicação é chamada
do disco rígido, o programa é armazenado e executado a partir da memória RAM.
A velocidade com que o sistema armazena e executa a aplicação é determinada
pela quantidade de memória utilizada. Quanto mais memória RAM, menos o
processador tem que acessar funções no disco rígido. Acessos mais rápidos
são conseguidos através do armazenamento de códigos ou dados na memória, que
possui um tempo de acesso na ordem de nanosegundos, enquanto o disco rígido
possui tempos de acesso na ordem de milisegundos. De fato, configurações de
sistema com mais memória RAM terão uma performance melhor do que sistemas com
processadores mais rápidos mas com pouca memória.
É importante ressaltar que o
aumento de memória não significa um aumento proporcional na performance do seu
sistema, ou seja, dobrando a quantidade de memória não significa que você
irá conseguir o dobro da performance. Existem vários fatores e componentes
envolvidos.
Vamos dar uma olhada em alguns destes tipos de memória, mais
utilizados.
DRAM
DRAM ou Memória de acesso randômico dinâmico (Dynamic Random Acess Memory),
é usualmente referida como simplesmente RAM, e é usada primeiramente para a
memória do sistema. O sistema usa esta memória para temporariamente guardar
programas, dados e processar informações que são movimentadas do e para o
processador (CPU), placa de vídeo, disco rígido e/ou outros periféricos.
Existem basicamente 3 tipos principais de tecnologia DRAM: Synchronous DRAM (SDRAM),
Extended Data Out (EDO) e Fast Page Mode (FPM). A RAM pode ainda ser fixada com
paridade (Parity) ou sem paridade (Non-Parity), checagem de erro e correção (Error
Checking and Correcting - ECC) ou ECC em SIMM (ECC On SIMM - EOS).
Para facilitar, segue uma tabela
com as possibilidades de tipos de memória:
Tipos de Memória:
FPM:
Memória tipo Fast Page Mode é um tipo de memória DRAM que permite
replicação de acesso a memória com um mínimo de espera pela próxima
instrução. Geralmente utilizada por servidores.
EDO:
Extended Data Out (EDO) é a tecnologia de memória que provê
aproximadamente 5 a 30% de aumento de performance no subsistema se memória
versus a tecnologia FPM. Também conhecida como Hyper-page mode DRAM, a memória
tipo EDO provê o aumento de performance através da saída de dados ao mesmo
tempo que está procurando por novas informações. A memória tipo Fast Page,
tem um tempo de espera entre estas duas operações. A memória EDO reduz o
gargalo em transferência de dados entre processadores de alta velocidade que
precisam de dados rapidamente. Um fator importante, é que o sistema tem que ser
desenhado para se aproveitar do modo de operação da memória tipo EDO para
conseguir estes benefícios.
SDRAM:
SDRAM ou Synchronous DRAM (DRAM síncrona), é uma memória rápida, de
banda-larga, desenhada para trabalhar melhor com sistemas que utilizam Chipsets
e processadores de alta performance. Esta tecnologia sincroniza a si mesmo com o
relógio de sistema (system clock) que controla a CPU, eliminando atrasos de
tempo e aumentando a eficiência do processador. Oferecem bandas mais de 2 vezes
a da memória EDO, daí a maioria dos sistemas estarem migrando para este tipo
de memória. Já se tornou o padrão de tipo de memória RAM, nos dias atuais.
Paridade e Não-Paridade:
O benefício de incorporar memória com paridade em um sistema, é a
habilidade de detectar erros tipo "single-bit" e enviar uma mensagem
de erro antes de ocorrer uma paralisação do sistema. Com muitos sistemas
utilizados em negócios e indústrias, dependendo da precisão dos dados a serem
processados, a utilização de memória com paridade é uma consideração
importante. Memória com paridade são um pouco mais caras do que sem paridade.
Detecção e Correção de Erro (Error Checking and Correcting - ECC):
Memórias do tipo ECC vai um pouco mais além do que memórias com paridade,
pois automaticamente checa e corrige erros tipo "single-bit" (que
correspondem a grande maioria de erros), sem travar o sistema. Memórias tipo
ECC requerem maiores recursos do que a memória com paridade para armazenar
dados e causam uma degradação de performance de aproximadamente 3% no
subsistema de memória, porém o resultado em detecção e correção de erros
conseguida, principalmente em sistemas críticos, é um benefício que vale a
troca. Normalmente este tipo de memória é utilizada em Servidores, Estações
de alto desempenho, controles industriais, e sistemas envolvidos na área de
negócios críticos.
Para ilustrar a utilização de
memórias ECC, segue um quadro comparando falhas de sistemas utilizando ou não
memórias do tipo ECC.
Quantidade
de Memória |
Falhas
de Sistema usando paridade
(em 5 anos) |
Falhas
de Sistema usando ECC
(em 5 anos) |
16 MB |
0.32 |
0.00016 |
64 MB |
1.26 |
0.00064 |
128 MB |
2.52 |
0.00128 |
O EOS, é um tipo
especial de memória ECC que realiza a checagem de erro e sua correção no
próprio empacotamento SIMM da memória. A performance não é impactada, pois
oferece a função de ECC para sistema sem o controlador de memória ECC.
Empacotamento:
Os módulos de memória atualmente utilizados, usam os seguinte tipos de
"empacotamento":
DIMMs (Dual In-line Memory Modules), que fornecem 64 bits de dados
SO-DIMMs (Small Outline Dual In-line Memory Modules), muito usados em
notebooks
SIMMs (Single In-line Memory Modules), fornecendo 32 bits de dados