2012/09/04

Discos SSD em Módulos DIMM

Os discos SSD são um dos componentes mais apetecíveis da actualidade, e que visam livrar os nossos velozes computadores actuais das "lentidões" dos discos magnéticos tradicionais. Não é nada de novo, a evolução dos computadores tem passado sempre pela resolução dos principais factores de atraso do sistema. Inicialmente um CPU poderia não ter velocidade suficiente para sequer tirar partido da quantidade de informação que estava disponível da sua memória; depois com o aumento da velocidade dos CPUs, também as memórias foram obrigadas a ir subindo de velocidades (DDR, DDR2, DDR3, etc. para não falar das RDRAM da Rambus); tal como os próprios barramentos: ISA, EISA, AGP, PCI, PCIe.

Nos interface que ligam os computadores aos discos, também se foram processando evoluções, do ido IDE a passarmos aos Sata, que foram ficando cada vez mais velozes a cada nova revisão/versão (SATA2, SATA3).


Mas regressemos aos SSD... os SSD não são nada mais do que memórias Flash... e portanto, não deixa de ser um pouco "absurdo" estamos a esconder essa memória atrás de controladores originalmente concebidos para transferirem dados vindos de discos rotativos: com as suas especificidades de tempos de acesso, e localização dos dados neles guardados.

É por isso mesmo que hoje em dia - ainda que de forma um pouco tímida e orientada para o mercado empresarial - já começam a surgir "discos SSD" colocados em placas PCIe - e que assim se livram das questões da largura de banda permitida pelos controladores SATA.

Um único canal PCIe 2.0 permite transferir 500MB/s, pelo que um SSD que dê uso a 16 desses canais (como algumas placas gráficas o fazem), poderia transferir até 8GB/s. Em comparação, mesmo uma ligação SATA 3 de 6Gbps permite apenas cerca de 600MB/s efectivos.

E se passarmos para PCIe 3.0, onde cada canal pode transferir 1GB/s... então já estão a ver o potencial...


O problema é que as memórias Flash actuais têm um "pequeno" problema, que é o da sua longevidade. Cada célula de memória apenas pode ser regravada por algumas dezenas de milhar de vezes (ou no caso de algumas memórias Flash de alto-endurance, algumas centenas de milhar de vezes). Poderá parecer muito, mas bastará dizer que caso o vosso computador estivesse continuamente a fazer escritas na mesma célula à velocidade máxima... provavelmente não demoraria mais que uns poucos minutos (se tanto) a atingir esse limite.

Há novas tecnologias que poderão vir a permitir a criação de novos tipos de memórias sem estas limitações, mas até lá... há que arranjar soluções alternativas, e nesse momento isto passa usar um pouco mais inteligentemente as memórias Flash nos SSD.

Ou seja, em vez de gravar continuamente nas mesmas células de memórias, as escritas vão sendo distribuidas por diferentes locais (obviamente, sabendo-se sempre "qual é qual"), e por isso mesmo, podem já utilizar com bastante confiança e sem grandes preocupações um dos SSD que existem no mercado. Aliás, é precisamente por isso que muitos SSD têm escondidos no seu interior alguns Gigabytes extra, que servem como espaço adicional para permitir estas "distribuições" de escritas, mesmo quando estão com o espaço quase totalmente cheio (nalguns SSD para aplicações em servidores, este espaço extra pode chegar a ser mais do dobro do espaço que é anunciado! Por exemplo, o SSD PCIe Intel 910 de 800GB tem na realidade 1792GB de memória Flash - o que poderá ajudar a justificar o seu preço de $4000 dólares. :)



Mas voltando ao tema inicial, a minha sugestão a longo prazo para os fabricantes era: se é invevitável que praticamente todos os PCs necessitem de armazenamento - tal como precisam de memória RAM - porque não conceber-se um sistema em que existissem módulos de memória Flash (ou qualquer outro tipo de memória não volátil), à semelhança do que acontece com os módulos RAM?


Actualização: como seria de esperar, já outras pessoas tinham pensado em sistemas deste tipo, e em 2010, por cá já tinham passado precisamente estes SSDs em DIMMs.



Um sistema que poderia até dar uso a um sistema tipo "RAID5", onde um módulo que começasse a chegar ao limite do número de escritas - mesmo usando todas as técnicas para minorar essa situação - pudesse ser sinalizado e substituído (só esse módulo).

Basicamente, isso permitira que os utilizadores apenas tivessem que pagar pelo preço das memórias flash em si, e não pela quantidade monumental de "tralha" que actualmente encontramos num SSD, os controladores SATA, os invólucros ao estilo "disco" para ter os encaixes compatíveis, etc. etc.


De certa forma, até já estamos a seguir um pouco nesse sentido, com algumas motherboards a permitirem a ligação de um SSD directamente, para servirem de "acelerador" do sistema... Mas, a mais longo prazo... penso que esta ideia de memórias FLASH em DIMM (que no futuro poderiam ir evoluindo para qualquer outro tipo de memórias não voláteis, como as MRAM ou FRAM) seria uma proposta bastante interessante.

2 comentários:

  1. "porque não conceber-se um sistema em que existissem módulos de memória Flash"

    Isso existe em drives de 5 1/4. São caros e consomem muita energia.

    "Poderá parecer muito [...]provavelmente não demoraria mais que uns poucos minutos (se tanto) a atingir esse limite."

    E é mesmo muito tempo, aguentam mais que os HDD.

    Uso SSDs tradicionais e SSDs PCIe e posso garantir que duram mais tempo que os discos de 10k e 15k.

    Aliás, ainda não tenho nenhum SSD avariado e fazem em 3 horas o que as storages com discos de 15k demoram 8 ou 9 horas.

    Por alguma razaão, a imprensa continua a pensar que essas coisas avariam ao ritmo da tecnologia flash dos anos 90.


    Quando às mram, consomem muita energia, quase tanta como a ram normal - inviável.

    As FeRam, 1gb deve ter o tamanho de um maço de tabaco - para já ainda não tem densidade aceitável.



    ResponderEliminar
  2. E os SSD PCIe não deixam de ter SCSI... no fundo tem um controlador mais complexo que o sata incluido, dado que tem que emular uma série de tecnologias, por exemplo, OCZ tem o VCA que traduz scsi e ata.

    ResponderEliminar