Se a RAM é barata, por que não carregamos tudo na RAM e a executamos a partir daí?

132

A RAM é barata e muito mais rápida que os SSDs. É apenas volátil. Então, por que os computadores não têm muita RAM e, na inicialização, carregam tudo na RAM do disco rígido / SSD e executam tudo a partir daí, assumindo que não há necessidade real de persistir algo fora da memória? Os computadores não seriam muito mais rápidos?

Obviamente, o sistema operacional atual pode não oferecer suporte a isso, mas existe algum motivo para a RAM não ser usada dessa maneira?

pkr298
fonte
109
Você assume que a RAM é barata. Quanto custa 1 TB de RAM?
Alan Shutko
39
O que você descreve é ​​chamado de RAMDisk e as pessoas já fazem o que você descreve. Carrego a maioria dos meus programas na memória usando um RAMDisk. Você também não precisa de hardware especial; pode usar a memória e o software do sistema para fazer isso.
Ramhound 27/08/13
16
Fazemos isso, na medida em que um determinado sistema operacional o suporta. O Windows usa RAM "não utilizada" para "cache de disco" e presumo que muitas versões do Linux também o façam. Mas há muito disco para encaixar tudo na RAM.
Daniel R Hicks
19
"barato" é um termo relativo. Cada pedaço de memória é mais barato do que há alguns anos atrás, mas é mais caro que o armazenamento em um disco rígido. De qualquer forma, a marcha do progresso garantirá que os programas sempre preencham toda a RAM disponível, independentemente da quantidade disponível; se de repente o computador de todos tivesse mais RAM disponível, os desenvolvedores colocariam mais coisas em seus programas.
precisa saber é o seguinte
15
Google carrega a internet para a RAM
Ari

Respostas:

177

Existem alguns motivos pelos quais a RAM não é usada dessa maneira:

  1. A RAM da área de trabalho comum (DDR3) é barata, mas não tão barata assim. Especialmente se você quiser comprar DIMMs relativamente grandes.
  2. A RAM perde seu conteúdo quando desligada. Assim, você precisaria recarregar o conteúdo no momento da inicialização. Digamos que você use um disco RAM do tamanho de um SSD de 100 GB, o que significa um atraso de cerca de dois minutos enquanto os 100 GB são copiados do disco.
  3. A RAM consome mais energia (por exemplo, 2 a 3 watts por DIMM, aproximadamente o mesmo que um SSD ocioso).
  4. Para usar tanta RAM, sua placa-mãe precisará de muitos soquetes DIMM e os traços deles. Geralmente isso é limitado a seis ou menos. (Mais espaço na placa significa mais custos e, portanto, preços mais altos.)
  5. Por fim, você também precisará de RAM para executar seus programas, portanto precisará do tamanho normal da RAM para trabalhar (por exemplo, 18GiB e suficiente para armazenar os dados que você espera usar).

Dito isto: Sim, existem discos de RAM. Mesmo como placa PCI com soquetes DIMM e como dispositivos para IOps muito altas. (Usado principalmente em bancos de dados corporativos antes dos SSDs se tornarem uma opção). Essas coisas não são baratas embora.

Aqui estão dois exemplos de cartões de disco RAM low-end que entraram em produção:

Observe que há muito mais maneiras de fazer isso do que apenas criando um disco RAM na memória de trabalho comum.

Você pode:

  1. Use uma unidade física dedicada para isso com memória volátil (dinâmica). Como um dispositivo ou com uma interface SAS, SATA ou PCI [e].
  2. Você pode fazer o mesmo com o armazenamento com bateria (não é necessário copiar os dados iniciais para ele, pois ele manterá seu conteúdo enquanto a energia do backup permanecer válida).
  3. Você pode usar RAMs estáticas em vez de DRAMS (mais simples, mais caras).
  4. Você pode usar o flash ou outro armazenamento permanente para manter todos os dados (Aviso: o flash geralmente possui um número limitado de ciclos de gravação). Se você usar o flash como apenas armazenamento, você acabou de mudar para SSDs. Se você armazena tudo na RAM dinâmica e salva no backup flash ao desligar, você volta aos aparelhos.

Tenho certeza de que há muito mais a descrever, do Amiga RAD: redefina os discos de RAM sobreviventes para IOPS, use nivelamento e Gd sabe o que. No entanto, vou cortar este pequeno e listar apenas mais um item:

Preços de DDR3 (DRAM atual) versus preços de SSD:

  • DDR3: € 10 por GiB ou € 10.000 por TiB
  • SSDs: significativamente menos. (Cerca de 1/4 a 1/10).
Hennes
fonte
12
+1 por atingir dois pontos críticos: os HDs ainda são mais baratos que a RAM e a RAM é volátil. A RAM é sua bancada de trabalho e os seus HDs são o armazém. Nuf sed.
Chad Harrison
11
@Hennes - Não estava sugerindo carregar toda a unidade na memória com uma solução RAMDisk de software. Você pode carregar, digamos, o Photoshop de uma unidade mecânica para um RAMDisk usando pontos de junção e o desempenho seria melhor ou tão bom quanto uma instalação SSD.
Ramhound 27/08
29
+1 para "A RAM é barata, mas não tão barata". Uma pesquisa rápida mostra que as unidades SSD estão vendendo atualmente entre 75 centavos a um dólar por gig, dependendo da capacidade e do fabricante. Os módulos de RAM DDR3, dependendo da capacidade, são vendidos por US $ 7 a 10 por GB, portanto, a relação entre o custo de RAM e o SSD pode chegar a 15: 1.
precisa saber é
2
RAM loses its contents when powered off.Para ser exato, apenas a RAM volátil mantém, mas a RAM não volátil mantém tudo, mesmo quando desligada, como por exemplo, chips Flash . Nesse sentido, o SSD não é diferente da RAM, mas um subtipo dela.
Saul
11
Discordo. As células flash no SSD podem não precisar de energia, mas o controlador e outros componentes eletrônicos no SSD consomem energia. Não há muita energia, mas aproximadamente a mesma que a energia consumida por um DIMM moderno (1-3 Watt).
Hennes
71

Os sistemas operacionais já fazem isso, com o cache da página :

Na computação, um cache de página, geralmente chamado de cache de disco, é um cache "transparente" de páginas com backup em disco mantidas na memória principal (RAM) pelo sistema operacional para acesso mais rápido. Um cache de página é normalmente implementado em kernels com o gerenciamento de memória de paginação e é completamente transparente para aplicativos.

Quando você lê uma página de um disco, seu sistema operacional carrega esses dados na memória e os deixa lá até que ele tenha um uso melhor dessa memória. Se você tiver memória suficiente, seu sistema operacional lerá cada página apenas uma vez e a utilizará da memória a partir de então. O único motivo pelo qual o sistema operacional fará E / S de disco real é se ele precisa ler uma página que ainda não está na memória ou se uma página está gravada (nesse caso, você provavelmente deseja que ela seja salva no disco).

Uma vantagem de fazer as coisas dessa maneira é que você não precisa carregar todo o disco rígido na memória, o que é útil se não couber e também significa que você não perde tempo lendo arquivos que seus aplicativos não precisam. necessidade. Outra vantagem é que o cache pode ser descartado sempre que o sistema operacional precisar de mais memória (é melhor que o seu próximo disco seja um pouco mais lento do que ter seus programas travados por falta de memória). Além disso, é útil que os usuários não precisem decidir manualmente o que deve estar no ramdisk ou não: o que você usa com mais frequência será automaticamente mantido na memória principal.

Se você tem muita memória, mas seus aplicativos não estão sendo executados tão rápido quanto o esperado, há uma boa chance de que sejam mais lentos porque estão sendo executados com segurança. Por exemplo, o SQLite é uma ordem de magnitude mais rápida se você pedir para não esperar a conclusão das gravações, mas seu banco de dados será completamente quebrado se você não desligar corretamente.

Além disso, /tmpgeralmente é um ramdisk nas distros do Linux, porque tudo bem se esses dados forem perdidos. Ainda há algum debate sobre se é uma boa ideia, porque, se muitos dados forem gravados /tmp, você poderá ficar sem memória.

Brendan Long
fonte
5
Ótima resposta. Os sistemas operacionais também possuem recursos como o Superfetch, que carrega dados normalmente solicitados do disco na RAM no momento da inicialização.
Matthew Lock
Boa resposta. todos os principais atacam (tente invalidá-la) a pergunta em vez de realmente respondê-la
vsync
44

Como Alan Shutko aponta em seu comentário sobre a questão, a RAM não é realmente barata.

Aqui estão alguns pontos de dados. Quando pesquiso no Google 4 GB de RAM, 64 GB SSD e 1 TB HDD (disco rígido mecânico), eis os custos que vejo (em 25 de agosto de 2013):

Uau! Os HDDs são 100x mais baratos que a RAM! E os SSDs são 8x mais baratos que a RAM.

(Além disso, como indicado em outras respostas, a RAM é inerentemente volátil e, portanto, você precisa de alguma outra forma de armazenamento persistente.)

Suman
fonte
2
A RAM é várias ordens de magnitude mais rápida que o SSD (sem o problema de desgaste de gravação), que são várias ordens de magnitude mais rápidas que a ferrugem e o GLASS. E com certeza você pode comprar um disco de 1 TB por US $ 80, mas tente encontrar esse armazenamento em uma bandeja de 15k rpm com conectividade SCSI ou Fibre Channel. Você está vendo 4 x 250Gb a ~ $ 250 mais o custo de um controlador BBU (aproximadamente US $ 500), o que equivale a um SSD.
symcbean
11
@symcbean - Isso é um pouco complicado; lembre-se de que obter RAM em grandes denominações (como você deseja substituir um disco ou SSD) custa mais de US $ 25 / GB.
Russell Borogove
3
A @symcbean que compra um SSD com características corporativas semelhantes vai custar bem mais de US $ 1000.
Mikebabcock 28/08/2013
Seria muito interessante ver essa resposta ser revisitada a cada poucos meses e ter o preço alterado, e ver como os preços caíam constantemente.
Ofer Zelig
@OferZelig "veja como os preços caíam constantemente" Você quer dizer, exceto quando não ?
um CVn 28/08/13
9

Eu faço todas as minhas operações imediatas de leitura / gravação para geração de conteúdo em discos RAM na minha máquina local. Também guardo minhas pastas de registro em diário do MongoDB lá, bem como meus compiladores e intérpretes Python e a biblioteca padrão. Este disco é salvo no desligamento e restaurado no início. O segundo disco de RAM que eu uso é de 64 megabytes e todas as pastas de cache do navegador da Internet apontam para ele; aquele se perde no desligamento e se libera quando está cheio.

Use as ferramentas certas para o trabalho que suponho que seria a resposta que lhe dou. Estou gerando dados 30-1000x mais rápido usando um disco RAM do que no meu Western Digital de 7200 rpm.

Este é o programa que estou usando: http://www.romexsoftware.com/en-us/primo-ramdisk/

... e quando 32gigs de Ram custam menos de US $ 200, não vejo por que isso não está se tornando mais comum.

8 GB de disco RAMtodos os dias SATA III HDD

blakev
fonte
4
Você sabe que o sistema operacional já armazena em cache coisas para você, certo?
Potatoswatter
"quando 32gigs de RAM são inferiores a US $ 200", 32 GB em um HD de 1 TB começam em cerca de US $ 3, mais ou menos; as unidades de 1 TB do consumidor custam menos de US $ 100 hoje e até mesmo as unidades de nível empresarial podem ser adquiridas por preços semelhantes por gigabyte (a Amazon quer atualmente US $ 408 para o Seagate ST4000NM0043 de 4 TB, que ostenta um preço sugerido de US $ 520, e isso é unidades únicas sem sequer fazer compras por aí).
um CVn 28/08/13
11
@Potatoswatter sim, faz. Mas ele não armazena em cache 10.000 arquivos recém-criados. Então, eu os "cache" explicitamente no meu disco RAM.
blakev
@ MichaelKjörling Não estamos tentando armazenar 1 TB na RAM. Isso é ridículo. Seja realista e escolha algumas pastas-chave que você sempre deseja ter na RAM e pode SIGNIFICATIVAMENTE (ordens de grandeza) acelerar determinadas operações no seu fluxo de trabalho. Veja minhas imagens acima.
blakev
11
"tudo é relativo. Na minha máquina, ele carrega "tudo" da minha imagem de disco rígido de 8 GB; byte por byte, os 8 shows inteiros são clonados toda vez. Por uma questão de pergunta, se você está procurando uma solução para fazer isso de verdade , você fica dentro do "possível" ou o expande desproporcionalmente para se ajustar a um tipo de resposta "impossível".
blakev
5

Sim, essa é a premissa de muitos bancos de dados em memória que estão surgindo no mercado. Um exemplo é o SAP HANA. A idéia é que a RAM é barata e, do ponto de vista do desempenho, as operações de leitura / gravação na RAM são 1000x mais rápidas que as operações em disco. Portanto, a maioria dos dados é mantida na RAM e, em seguida, você define uma estratégia de duração dos dados usando a qual os dados antigos são reciclados de volta ao armazenamento a frio (ou seja, disco).

mithrandir
fonte
4

Breve explicação :

Na primeira vez que um aplicativo é executado, ele é transferido do disco rígido ou da rede para a RAM. Então, não se preocupe, você já faz isso.

Mas, geralmente, não há apenas um arquivo de aplicativo / processo e há algumas operações de E / S direcionadas ao disco rígido ou à rede (outros arquivos do aplicativo ou outras operações de E / S com o sistema etc.), que podem diminuir a velocidade do seu inscrição. Eles podem ser direcionados para o disco RAM, mas você deve considerar que o disco RAM é excluído ao desligar e deve ser preenchido novamente na inicialização.

E a RAM não é tão barata como apresentada na pergunta. Você deve contar não apenas o custo da RAM, mas também o custo da RAM de trabalho, incluindo soquetes na placa-mãe (aqueles são limitados / raros e, portanto, mais valiosos) e o custo da perda de dados, quando a energia está diminuindo.

Por exemplo, um computador com HDD de 1 TB pode ser comprado barato e trata-se de computação doméstica, um computador com 1 TB de RAM está na faixa de supercomputadores. (mas a Intel está trabalhando em algo intermediário: http://vr-zone.com/articles/more-on-xeon-e5-terabyte-of-ram-even-at-midrange-/14366.html )

Dee
fonte
4

Esta é uma ótima pergunta e acho as respostas fascinantes. Vou comentar sobre isso como um DBA Oracle e minhas respostas são ESPECÍFICAS para o banco de dados Oracle. Esse é um grande erro que muitas pessoas cometem ao trabalhar com a Oracle. Não tenho certeza se isso se aplica a outros aplicativos também. Isso não pretende ser fora de tópico, mas é uma resposta especializada.

Quando você ajusta o desempenho com o Oracle, está realmente procurando esclarecer gargalos. Embora a maioria de nós não diga isso, é baseado na Teoria das Restrições: https://en.wikipedia.org/wiki/Theory_of_constraints

A memória pode não ser o seu gargalo. A Oracle possui mecanismos complexos para gerenciar a memória e apenas aumentar a memória pode realmente desacelerar as coisas se outras áreas estiverem onde está o gargalo. Deixe-me dar um exemplo que é MUITO comum.

As consultas parecem lentas. O consenso é que, se aumentarmos a RAM, devemos aumentar o tempo de resposta das consultas, pois a memória é mais rápida que o disco. Bem ... É assim que a Oracle lida com o gerenciamento de memória para dados. A Oracle possui vários locais de memória que são alocados para tarefas específicas. Então você pode aumentar essas memórias. A área usada para os dados é chamada de 'cache do buffer'. Esta é uma série de listas vinculadas (o número delas tende a aumentar a cada versão). Sempre que um bloco é encontrado no disco durante uma consulta, um algoritmo de hash é executado nele para determinar em qual lista ele deve ser inserido. O local onde colocá-lo na lista é baseado em um algoritmo de contagem de toque (explicado no site de suporte da Oracle, então você tem que pagar para obtê-lo ... não é realmente importante).

NO ENTANTO, quando você executa uma consulta, o Oracle remove uma trava na cadeia de buffers que você pesquisa no momento. Esta trava (observação: isso não é um bloqueio. O "trinco" do Google, se você não sabe a diferença) bloqueia todas as outras operações nessa cadeia durante a leitura. Portanto, ele bloqueia leituras e gravações (isso é totalmente diferente do que o Oracle alegando que os bloqueios não bloqueiam leituras).

Isso é necessário porque, à medida que você lê o bloco na cadeia, o Oracle o move com base na frequência com que é 'solicitado'. Os blocos solicitados com mais frequência são movidos para o topo e os blocos solicitados com menos frequência são deixados na parte inferior e com idade acima. Você não pode ter duas sessões lendo uma lista vinculada e movendo blocos ao redor ou você encontrará indicadores que apontam para locais inexistentes.

Quando você aumenta o tamanho da memória, aumenta o tamanho de cada lista vinculada. Isso aumenta o tempo necessário para ler a lista. Uma única consulta ruim ou complexa pode fazer dezenas de milhares ou até milhões de leituras em listas vinculadas. Cada leitura é rápida, mas o número delas leva a travas feitas e elas bloqueiam outras sessões. A Oracle chama isso de 'IO lógico' (ou buffer get ou outras coisas. Esse jargão é específico da Oracle e pode significar algo mais em outras partes da TI).

Portanto, se a lista for mais longa e você tiver um SQL realmente ruim, as instruções SQL manterão suas travas por mais tempo. Aumentar a memória pode ocasionalmente reduzir o desempenho. Na maioria das vezes, isso não acontece. As pessoas gastam muito dinheiro e não vêem nenhum benefício. Dito isto, há momentos em que você precisa de mais memória no cache do buffer, mas precisa identificar corretamente o gargalo para saber se isso é apropriado. Não posso discutir como analisar isso neste post. Veja os fóruns do DBA. Algumas pessoas discutem isso lá. É bastante complexo.

Alguém tem exemplos específicos com outros softwares onde isso pode acontecer? Existe um ótimo livro de negócios chamado 'The Goal' que discute o alívio de restrições em uma fábrica. Esse processo é muito semelhante ao que os DBAs do Oracle fazem ao avaliar problemas de desempenho. Geralmente é leitura padrão em programas de MBA. É muito valioso ler para profissões de TI.

https://en.wikipedia.org/wiki/Eliyahu_M._Goldratt

Prumo
fonte
Não é claro que isso seja revelador da pergunta, mas interessante.
jb.
é uma razão para não apenas adicionar ram. É específico e estreito, mas acho que se aplica.
28413 Bob
muito interessante. Traz outro ângulo para a discussão geral.
Lorenz Lo Sauer
3

A RAM pode ser barata, mas não tão barata quanto o armazenamento tradicional.

Eu tenho um disco rígido de 3 TB (US $ 99): HDD Quote

E você precisará de 48 deles por 3 TB a (US $ 719) cada: RAM

Isso totalizaria US $ 34.512 vs US $ 99. Sem mencionar o preço do hardware necessário para executar 3 TB de RAM.

Michael Irey
fonte
a resposta não é relevante para a questão
Blueberry - Vignesh4303
11
Eu acho que no final ele está tentando dizer "RAM não é barata".
jaczjill
Além disso, você não pode conectar 48 desses kits de 8 canais a qualquer dispositivo que eu conheça. Embora existam sistemas que aceitam 16 (ou mais) REG ECC de 64 GB diminuem em um único servidor. No entanto, estes não são nada baratos.
precisa saber é o seguinte
2

Na verdade, é feito em alguns cenários. Se você tiver uma pilha de sistema operacional / aplicativo pequena o suficiente, poderá executá-la inteiramente na RAM. Claro que tem todas as desvantagens que a resposta aceita tem. Mas é possível e acontece.

Dê uma olhada no Puppy Linux, uma distribuição popular do Linux. A página de como funciona fala sobre como executar a partir da RAM: http://puppylinux.org/wikka/howPuppyWorks

David Hewitt
fonte
E, é claro, em um ambiente de cluster, você pode manter a pilha de aplicativos em um sistema de arquivos distribuído / em rede, atender ao sistema operacional base via PXE ou similar e executar os nós sem disco, se desejar.
Aesin 28/08
2

Penso que a resposta parcialmente pode ser respondida da seguinte forma:

Premissa:

  • Somente aqueles tipos de RAM baratos são produzidos e vendidos em grandes quantidades
  • Os fabricantes de RAM querem vender seus produtos.
  • preços baixos exigem a venda de grandes volumes para gerar lucro
  • uma grande base de usuários usa uma tecnologia de memória estabelecida
  • nova tecnologia de memória leva anos para ser amplamente adotada
  • slots de memória são altamente limitados nos dispositivos cada vez menores da referida base de usuários
  • a tecnologia móvel está aumentando
  • pelo menos 0,1% de 1 bil. Usuários de PC podem optar por 128 GB de RAM ou mais (adivinhação)
  • atualizações de tecnologia que estão em alta demanda gera um lucro maior do que as novas gerações de tecnologia

Dado o número limitado de slots de memória, uma solução importante vem na forma de chips de memória mais altos com dimensões internas menores e / ou empilhamento 3D. Ambos os processos progrediram conforme o esperado nos últimos 36 meses.

Portanto, a pergunta é: " Tamanho máximo da memória DDR3 " ou semanticamente: " DDR3 por que não existem módulos de memória com mais de 16 GB "

E a resposta é:

O padrão DDR3 permite capacidades de chip de 512 megabits a 8 gigabits, permitindo efetivamente um tamanho máximo de módulo de memória de 16 gigabytes ( src )

O DDR4 mudará isso, conforme descrito neste mapa de tecnologia:

insira a descrição da imagem aqui

Resultado:

  • um mercado de memória semi-impasse
  • Extravagância do Apple Macbook Pro com apenas 16 GB
  • maior demanda por serviços remotos ou em nuvem (para abrigar os bancos de dados de Máquinas Virtuais e InMemory, muitos desenvolvedores e engenheiros executariam localmente)
  • ... ???

Algumas advertências para o post completo de Hennes:

  • A RAM da área de trabalho comum (DDR3) é barata, mas não tão barata : barata o suficiente para que certas pessoas a comprem devido ao seu histórico de uso intensivo de dados
  • A RAM perde seu conteúdo quando desligada : os seres humanos enfrentaram problemas mais difíceis do que a memória volátil. As patentes e soluções em "manipulação de memória volátil" desde 2010 são um testemunho disso.
  • A RAM consome mais energia : desativa seletivamente a memória não utilizada (bancos) em dispositivos móveis. Também 1W a 2W empalidece em comparação com GPUs de 800W
  • você precisará de muitos soquetes DIMM : a tecnologia de chip ainda progrediu como de costume, o que significa que a opção de chips de memória mais altos não existe apenas, mas os fabricantes de chips felizes em vendê-los para você em grande quantidade
  • você também precisará de RAM para executar seus programas em : True. Mas pkr298presume-se que todo o sistema operacional e programas sejam carregados na RAM, não que deva abolir o disco rígido / SSD
Lorenz Lo Sauer
fonte
Desativar bancos de memória não utilizados na DRAM é um problema. A tecnologia DRAM exige que as células sejam atualizadas. Compare isso a um balde com vazamento. Se eu preenchê-lo com água (eletricidade), ele representa 1, se eu esvazio, representa um 0. Infelizmente, o balde está com vazamentos e fica em águas rasas. Um balde cheio se esvazia lentamente até atingir o nível da água. Um balde vazio irá lentamente até atingir o nível da água. Depois de um tempo, não há mais informações sobre o estado do balde.
Hennes
Para resolver isso, alguém passa pelo balde de vez em quando. Se estiver quase cheio, o balde será reabastecido; se estiver quase vazio, será esvaziado completamente. Esta é uma atualização . Atualizar uma célula de memória consome energia, impedindo que a DRAM seja totalmente desligada enquanto mantém seu conteúdo. --- Existem várias maneiras de contornar isso, por exemplo, a SRAM não precisa de atualizações externas e ainda pode manter seu conteúdo, mas requer mais silício (chips menores ou mais caros).
Hennes
1

Você está realmente certo Em um futuro próximo, todo o armazenamento e memória estarão no formato nano ram. A NRAM é basicamente comutadores "mecânicos" com poucos átomos de largura. Ele não precisa de corrente para manter o estado, portanto é eficiente em termos de energia e não precisa ser resfriado. Como os comutadores são tão pequenos, a densidade é muito alta e isso é bom por dois motivos, um é o acesso à memória muito rápido e você poderá ter terabytes de dados em pequenos dispositivos como o celular. se você quiser ler mais, consulte: http://www.nantero.com/mission.html e este http://en.wikipedia.org/wiki/Nano-RAM

noamtcohen
fonte
0

Como outros já disseram, a RAM é volátil e algo como 10x o custo dos SSDs.

No entanto, não é um produto lá fora, que vem muito perto daquilo que você está descrevendo - infelizmente não me lembro o nome.

O que é é uma unidade baseada em RAM (IIRC max 64gb) acoplada a um cartão CF e uma bateria. Quando você liga o sistema, ele copia o conteúdo do cartão CF para a RAM (acredito que atenda a solicitações do cartão CF se ainda não tiverem sido carregadas.) Ao desligar, o conteúdo da RAM é copiado para o cartão CF- -a bateria é grande o suficiente para permitir que isso termine antes que se esgote.

Não é barato.

Loren Pechtel
fonte