Como posso usar meu pequeno SSD como cache para um disco rígido maior?

55

Eu gostaria de usar um disco SSD (pequeno) como um cache para um grande disco rígido. Sei que existem produtos baseados em hardware que fazem isso: HighPoint RocketHybrid HBA , Intel SmartResponse e outros. Existe apenas um produto somente de software que eu poderia encontrar: ExpressCache por Diskeeper :

ExpressCache intelligently and automatically combines the best attributes of SSDs and HDDs without any effort or pre-requisite knowledge from the user, so users get the best of both worlds; dynamic performance and scalable capacity. Since SSDs as small as 4GB can be used, it provides an incredibly affordable solution for manufacturers.

Comprised of User mode and Kernel Mode components, ExpressCache uses the SSD as an intelligent cache, coupled with an HDD, to improve overall system performance and greatly speed up Windows PC startup, application launches and data access speed.

No entanto, este produto é somente para OEM !

Eu procurei alternativas, sem nenhum sucesso ... Não consigo entender isso: parece uma ótima ideia, não é necessário nenhum hardware adicional e isso pode realmente aumentar o desempenho do disco sem gastar uma fortuna.

Então, estou perguntando se alguém conhece algum software que faz isso, seja para Windows ou Linux. Ou se você acha que esta é uma má ideia, eu gostaria de saber o porquê.

Nota: o ReadyBoost não é realmente adequado para isso. Ele é construído com a suposição de que as gravações em disco são realmente caras, têm muito pouco efeito em sistemas com muita RAM e não são escalonadas adequadamente se o seu SSD for de 100 GB ou mais.

    
por haimg 15.02.2012 / 06:22

10 respostas

50

Existem várias maneiras de usar um SSD como um cache para o seu disco rígido regular. Esta não é uma ideia nova e já tem várias implementações.

No Windows:

A melhor implementação é do NVelo: Dataplex - Ele leu o cache e o cache de gravação opcional. Infelizmente, como o ExpressCache, ele está disponível apenas para OEMs. A maneira mais barata de obtê-lo é comprar um SSD OCZ que empacota um adaptador PCIE com um pequeno SSD e usa o software dataplex para armazenar em cache o disco rígido existente.

Existem, no entanto, implementações de software puras também: FancyCache - Funciona como você espera executar ler e gravar em cache na camada de bloco. Ele existe principalmente como um cache de memória, mas recentemente ganhou suporte para um cache SSD de segunda camada (um pouco como o Z2 L2ARC), que pode ser arbitrariamente grande.

Se você está apenas olhando para o máximo de IOPS ao custo de durabilidade de gravação (perfeitamente bem em conjunto com um no-break, por exemplo), uma alternativa pode ser algo como: SuperCache - Isso usará apenas RAM, sem SSD. Mas, ao contrário dos outros, será feliz exceder 100.000 IOPS em hardware de commodity. Muito útil para armazenar em cache o dispositivo de bloco que contém índices do banco de dados, por exemplo. Essencialmente, dando desempenho como disco RAM-como para qualquer volume de tamanho (assumindo que o dispositivo subjacente pode acompanhar o volume de gravação).

No Linux, as coisas são um pouco mais legais:

Como um postador anterior mencionado, você tem Flashcache - Funciona muito bem, mas seu desempenho varia muito com a carga de trabalho. Em muitos casos, com pouca localização de acesso, ele não terá o desempenho esperado. Não sei por que isso acontece, mas para a maioria das cargas de trabalho, essa é uma ótima opção.

A melhor opção (embora o código ainda não esteja totalmente pronto para produção) é bcache (mais informações aqui , embora algumas estejam desatualizadas - Tem o melhor desempenho de qualquer cache SSD que eu já tentei e, ao contrário de todas as outras opções mencionadas, suporta cache de vários dispositivos de bloco em um único cache. Ele também suporta (embora eu não tenha tentado pessoalmente, talvez não funcione ainda) vários dispositivos de cache, para que você possa usar vários SSDs mais baratos para maximizar sua IOPS. O código está em um repositório git: git: //evilpiepirate.org/~kent/linux-bcache. git . Fala-se em mesclá-lo no próximo lançamento do kernel, embora ainda não tenha sido decidido com certeza.

Pessoalmente, acho que a opção de melhor desempenho é o bcache (minha carga de trabalho é principalmente relacionada ao banco de dados, embora eu também armazene em cache o meu laptop principal em sua totalidade). Na minha experiência, o throughput de gravação seqüencial do HDD é frequentemente o gargalo, pois o cache preenche rapidamente e o HDD precisa gravar os setores em cache, então quanto mais rápido melhor. Isso é claro para uma carga de trabalho pesada de gravação, em uma carga de trabalho de leitura / gravação mais equilibrada, as coisas provavelmente serão diferentes.

Eu também devo avisá-lo, que a toda velocidade, você vai queimar os limites de gravação do seu SSD com bastante rapidez. Eu estou atualmente no meu terceiro OCZ Vertex 3. SSDs embora muito, muito rápido, simplesmente não são muito duráveis, por isso esperamos substituí-los a cada poucos meses.

    
por 22.02.2012 / 19:47
10

Existe um software muito interessante para o Linux, em uso por servidores muito ocupados:

link

Em um SATAII, 8 drives magnéticos rotacionais em uma configuração RAID6, recebo um aumento significativo de desempenho. Leitura aleatória com dispositivo SSD flashcache SATAIII (540 leitura, 420 gravação) satura meu barramento SATAII para quase 90-95% - eu tenho 280MB de leitura (em horários de pico), 270MB de gravação (apenas em carga simulada ... nunca atingido na produção) . Dura cerca de meio ano agora. As gravações da unidade de disco são ... 20-30MB / s - use o tempo de E / S sobressalente ...

    
por 22.02.2012 / 18:48
5

Qual é o tamanho do seu SSD?

Provavelmente, o melhor efeito que você conseguirá instalando todo o sistema operacional e software no SSD, enquanto armazena volumes de dados em seu HDD.

Se o seu SSD for pequeno, pode ser útil colocar um arquivo de paginação nele. Eu duvido que o Windows colocará muitos de seus arquivos em cache, mas, pelo menos, permitirá que você tenha memória de aplicativos recentes e cache de arquivos na RAM, enquanto permite a troca rápida para aplicativos não tão recentes usados (o que residir no arquivo de paginação que é, por sua vez, no SSD).

    
por 15.02.2012 / 07:15
2

FancyFlash fez o trabalho. Eu tenho meu próprio servidor Hyper-V R2 @home para meus laboratórios e recebi uma unidade PCIe Revo Hybrid da OCZ. Infelizmente, a compilação no driver de cache só funciona com o Windows 7. Nenhum plano para o Windows Server 2008 R2. Então eu instalei o driver FancyFlash no meu host Hyper-V e configurei meu SSD no Revo Hybrid para atuar como cache para o disco embutido de 1 TB (onde meu VHD está). TaDa! Funciona e acelera muito minhas VMs! :)

Espero que a versão final seja acessível $$$ ...

    
por 13.06.2012 / 14:28
2

eBoostr é uma aplicação que armazena em cache grandes partes de aplicações usadas regularmente para acelerar o seu sistema. Normalmente, ele é usado para usar unidades USB ou RAM não usada, mas não há nenhuma razão real para que você não possa usar um SSD.

Ele está disponível para todas as principais versões do Windows e parece muito com o que você procura.

  • eBoostr tracks the use of applications on your system and can pre-cache data of the ones most frequently used, this reduces load delays and optimizes performance
  • Easy to use drag-and-drop interface allows you to selectively enhance applications on your system as well as prioritize applications enhanced by eBoostr
  • Reduced load times and less hard drive access help prolong battery life of laptops and netbooks using eBoostr

Leia mais: link

    
por 19.02.2012 / 21:58
2

Embora seja certamente possível carregar um sistema operacional e aplicativos inteiros em um único SSD, você provavelmente não deveria. Com o tempo, os SSDs diminuem a velocidade com re-gravação contínua e devem ser "atualizados" para acelerá-los. É melhor usar o disco rígido mais rápido que você pode encontrar, como uma unidade SATA de 600 Gbps, e obter uma placa-mãe ou outro controlador que ofereça suporte ao armazenamento em cache SSD no nível do hardware. Todas as motherboards Asus ROG Maximus suportam esta função incorporada.

No entanto, até construir este novo sistema, descobri uma maneira de obter algum benefício de um SSD. Eu construí um cache de memória no SSD e, embora exista um no meu disco rígido principal, o Windows parece usar automaticamente o SSD mais rápido. Também movi todo o meu cache do Internet Explorer para o SSD, o que acelerou a navegação e o vídeo na Internet pelo menos duas ou três vezes.

Eu estarei construindo meu novo sistema em torno da placa-mãe Asus Maximus VI Hero com um processador Intel i7 de 4ª geração no formato de soquete 1150. Parece ser um bom nível de desempenho sem gastar milhares para chegar lá. O custo total é projetado para estar na faixa de US $ 800 a US $ 900, para incluir uma nova versão do Windows.

    
por 15.02.2014 / 20:52
2

Pode-se usar as tecnologias Windows I / O do ReadyDrive e ReadyBoost . Como essas tecnologias datam de antes da introdução dos SSDs, há poucas informações sobre se eles funcionam com SSD ou se estão bem.

Para o ReadyBoost, veja algumas dicas em Como posso usar meu SSD como um disco de cache ReadyBoost? , embora este outro segmento afirma o contrário.

O ReadyDrive é um recurso do Windows Vista que habilita o Windows Vista ou computadores posteriores equipados com uma unidade híbrida ou outros caches de memória Flash (como a Intel Turbo Memory) para inicializar mais rapidamente e sair da hibernação em menos tempo.

Também é possível colocar o arquivo de paginação no SSD, embora com melhorias esperadas limitadas, se a memória do sistema for suficiente.

A melhor melhoria virá, como observou Penartur, da instalação do Windows no SSD.

    
por 18.02.2012 / 09:09
1

Faça o download do ExpressCache

Você pesquisou o Google para o ExpresCache? Eu posso ver que alguém pode baixá-lo de

  • SanDisk - link à direita; só funciona com SSDs da SanDisk
  • Lenovo - link abaixo no guia; poderia ter dependência de hardware também

Especialmente na Lenovo, você pode fazer o download de uma versão x86 ou x64. O Sandisk parece apenas oferecer o ExpressCacheSetup.exe e não sei qual arquitetura ele suporta. Talvez um talvez ambos ...

    
por 03.10.2013 / 11:50
0

ExpressCache é apenas um produto OEM. Estou razoavelmente certo de que ele possui controles internos que impedem que ele seja usado em hardware diferente dos OEMs licenciados.

Parece que, no momento, o FancyCache é a única ferramenta viável para uso geral / não-oems. Eu posso entender mal as coisas, mas eu acho que algo como readyboost em um SSD iria queimar rapidamente seus ciclos de gravação. Para mim, a ideia aqui é ter apenas uma letra de unidade para cobrir o HD principal e o SSD, colocando os arquivos mais comumente acessados e geralmente estáticos no SSD e armazenando os arquivos menos comumente usados e frequentemente modificados no disco rígido. Isso daria o benefício de desempenho de um SSD e a viabilidade a longo prazo de um HDD e não exigiria que o usuário tivesse que tentar equilibrar o espaço no SSD com o do HDD. A necessidade disso é tão óbvia, pelo menos para mim, que estou chocado com a falta de soluções para essa necessidade.

    
por 11.06.2014 / 00:06
-2

O nome aqui não é VeloSSD. Eu não posso dar uma boa reputação a este software, uma vez que destruiu as minhas formas de dados para muitas vezes, mas outro usuário relatou que está funcionando bem

    
por 12.10.2016 / 07:17