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.