thumb slc v2 2
Share

Artigo – A importância do SLC Cache e o impacto na durabilidade e desempenho do SSD!

Fala galera, tudo bem? No artigo de hoje faremos um teste para constatarmos se o SLC Cache realmente tem um impacto muito grande no uso do dia a dia.

Antes de começarmos, logo de cara vamos abordar alguns pontos cruciais. Primeiramente, para este artigo foi utilizado inicialmente um SSD Crucial BX500 de 240GB, aonde esta variante utiliza um controlador Silicon Motion SM2259XT acompanhado de 4 dies da Micron TLC, modelos B47R.

Front

Controlador
O controlador do SSD é o responsável por fazer todo o gerenciamento de dados, over provisioning e garbage collection, dentre outras funções que ocorrem em segundo plano. E, é claro, isso faz com que o SSD tenha um bom desempenho.

SSD Crucial BX500 240GB B47R Controlador

Este SSD uma um controlador da Silicon Motion: o SM2259XT, modelo ISA ARM 32-bit de 1 núcleo Cortex® R5 (Single-core) com processo de fabricação da TSMC de 28nm. Aonde seu núcleo principal trabalha com clock de 437 MHz. Este controlador é encontrado em diversos SSDs voltado ao mercado de entrada e custo benefício como Adata SU630, Hikvision E100N, dentre outros SSDs.

Neste caso, se trata de um controlador com 4 canais de comunicação com suporte a barramento até ONFI 4.0 ou Toggle 2.0/3.0/4.0, ou seja, um barramento de até 400 MT/s (200MHz), sendo que por cada canal de comunicação ele consegue ter um suporte de Interleaving com até 4 conexões Chip enable cujo é um comando e um caminho fisicamente conectado de cada Die até o controlador, permitindo assim ele se comunicar com um máximo de 4 dies por canal, num total de até 16 dies para desempenho máximo.

DRAM Cache ou H.M.B.
Todo SSD topo de linha que visa oferecer um alto desempenho consistente necessita de um buffer para poder armazenar suas tabelas de mapeamento (Flash Translation Layer ou Look-up table). Com isso, ele consegue ter desempenho aleatório melhor e ser mais responsivo.

Este SSD é um DRAM-Less, pois todos controladores com nomenclatura “XT” simbolizam que não oferecem suporte à DRAM Cache, e por ele ser de interface SATA, também não há suporte ao H.M.B.

NAND Flash
Com relação a seus circuitos integrados de armazenamento, o SSD de 240GB possui 2 chips Nand flash marcados como “NY111” ou “MT29F1T08EELEEJ4-M:E“. Tratam-se de Nands da fabricante norte-americana Micron, modelos B47R sendo neste caso dies de 512Gb (64GiB) contendo 176-Layers de dados e um total de 195 gates, gerando uma array efficiency de 90,2%.

SSD Crucial BX500 240GB B47R NAND Flash

Neste SSD, cada NAND Flash possuem 2 dies de 512Gb de densidade, totalizando 128GB por NAND, que ao todo se gera 256GB e elas se comunicam com o controlador com seu barramento de 400 MT/s (200 MHz)

Cada um destes dies possuem 4 planes para que quando o controlador acesse cada die, possa aumentar o paralelismo e dessa forma o desempenho.

COMO O TESTE FOI REALIZADO?

Primeiramente, logo após identificarmos seu controlador e NAND Flash, vamos utilizar o MPTools para este controlador. MPTools, ou Mass Production Tools, são as ferramentas da própria fabricante do controlador, que permitem realizar diversas modificações lógicas no SSD.

Mas antes de abrirmos o Software para realizarmos modificações, é preciso desmontarmos o SSD e fechar um curto em 2 terminais no seu PCB, para que desta forma o SSD entre em “ROM Mode” permitindo assim a gravação e modificação de seu firmware.

Para isto foi utilizando um equipamento chamado de SSD Card Opener, que é um adaptador de interface SATA 2.5″ para USB 3.1 Gen 1 de 5Gbps, que utiliza um bridge chip da JMicron JMS578.

Ele pode ser adquirido no AliExpress por um preço próximo de R$118. Agora, com o SSD desmontado e preparado, vamos conectar o SSD no adaptador USB e conectá-lo no computador.

Nossa bateria de testes será a mesma dos demais reviews, porém, desta vez, faremos o comparativo apenas do SSD com SLC Cache contra o SSD sem o SLC Cache.

BANCADA DE TESTES
– Sistema Operacional: Windows 10 Pro 64-bit (Build: 22H2) + Windows 11 Pro 64-bit (Build: 22H2)
– Processador: AMD Ryzen 9 5950X (16C/32T) (Frequência fixa em todos os núcleos, 4 GHz)
– Memória RAM: 2 × 16 GB DDR4-3200MHz CL-16 Netac (c/ XMP)
– Placa-mãe: Gigabyte X570s Aorus Elite AX (Bios Ver.: F5c)
– Placa de Vídeo: RTX 3050 Gigabyte Gaming OC (Drivers: 531.xx)
– Armazenamento (OS): SSD SK Hynix Platinum P41 2TB (Firmware: 51060A20)
– SSD testado: SSD Crucial BX500 240GB (Firmware: M6CR056)
– Versão drive Chipset AMD X570: 4.03.03.431.
– Windows: Indexação desabilitada para não afetar resultados dos testes.
– Windows: Atualizações do Windows updates desabilitados para não afetar resultados dos testes.
– Windows: A maioria dos aplicativos do Windows desabilitados de rodar em segundo plano.
– Teste Boot Windows: Imagem limpa com apenas drivers e todos os updates.
– Teste de pSLC Cache: O SSD é arrefecido por fans para não gerar thermal throtling, interferindo no resultado.
– Windows: Anti-Vírus desabilitado para diminuir variação de cada Rodada.
– SSDs Testados: Utilizado como disco secundário, com 0% de espaço sendo utilizado e outros testes com 50% de espaço utilizado para representar um cenário realista.
– Quarch PPM QTL1999 – Teste de consumo elétrico: realizo com 3 parâmetros, em idle aonde o disco é deixado como secundário e após um tempo em idle é realizado a gravação por 1 hora e tirado a média.

CRYSTALDISKMARK
Realizamos testes sintéticos sequenciais e aleatórios com as seguintes configurações:

Sequencial: 2x 1 GiB (Blocos 1 MiB) 8 Queues 1 Thread

Aleatórios: 2x 1 GiB (Blocos 4 KiB) 1 Queue 1/2/4/8/16 Threads

Sua leitura sequencial mesmo sem SLC Cache permaneceu no mesmo nível que quando o cache estava ativado, apenas sua escrita que caiu drasticamente, isto ocorre pois os Dies possuem barramento e vazão de dados suficiente para saturar a interface SATA de 6Gbps em sua leitura, porém, não são capazes e saturar em sua escrita. Caso fosse um SSD de 480GB ou 960GB com 8 ou 16 dies, ai ele já seria capaz de saturar com folga este barramento.

Já em suas latências, vemos que novamente em sua leitura os dies possuem latências baixas, já as verdadeiras latências dos dies em modo TLC em sua escrita é cerca de 10 vezes maior que no modo pseudo-SLC.

O mesmo pode ser dito de suas velocidades aleatórias, em sua leitura em QD4 ele ainda consegue se igualar na pontuação, pois na esmagadora maioria das vezes, o SLC Cache serve para melhorar o desempenho de escrita sequencial e aleatória do SSD e como vemos, sua escrita foi deprimente… Mesmo sendo um die TLC bem moderno, sem SLC Cache seu desempenho aleatório é terrível devido suas altas latências.

Ao alocarmos apenas 1 thread para melhor representar uma carga de trabalho típica do dia a dia, ocorre o mesmo resultado, porém ele foi 10 vezes pior em sua escrita com o Cache desativado.

ATTO Disk Benchmark QD1 e QD4

Realizamos um teste utilizando o ATTO para constatar a velocidade dos SSDs em determinados tamanhos de blocos diferentes. Neste benchmark, foi configurado da seguinte forma:

Blocos: de 512 Bytes até 8 MiB

Tamanho do arquivo: 256MB

Queue Depth: 1 e 4.

O ATTO Disk Benchmark é um software que faz um teste de velocidade sequencial com arquivos comprimidos, ou seja, para uma simulação em uma carga de transferência de dados como no Windows, geralmente vemos algo em torno dos blocos de 128KB à 1 MiB, agora, em blocos de menor tamanho, ele oferece um desempenho semelhante quando o cache está ativo em sua leitura, mas novamente, isso ocorre devido esses Dies serem capazes de saturar o barramento.

No teste de escrita, vemos que ele, novamente, ficou extremamento lento, principalmente em blocos muito pequenos que representa o tamanho de arquivos mais tradicional de armazenamento do sistema operacional. Apenas quando estes blocos começam a aumentar bem de tamanho, passando de 64KB, o SSD começa a recuperar um pouco de sua velocidade de escrita.

Utilizando QD1, vemos que o mesmo se repetiu.

3DMark – Storage Benchmark

Neste benchmark, são realizados diversos testes voltados a armazenamento, incluindo testes de carregamento de games como Call of Duty Black Ops 4, Overwatch, gravação e streaming com o O.B.S. de uma gameplay à 1080p 60 FPS, instalação de alguns jogos e transferências de arquivos de pastas de games.

image027 1

Neste benchmark com traces mais realistas e tradicionais de uso cotidiano, vemos que houve uma queda considerável no desempenho, aonde sua largura de banda caiu quase pela metade e sua latência quase duplicou, o que acarretou nessa queda de aproximadamente 45% de desempenho.

PCMARK 10 – FULL SYSTEM DRIVE BENCHMARK
Neste teste, foi utilizada a ferramenta Storage Test e o teste “Full System Drive Benchmark”, que faz testes leves e pesados no SSD.

pcmark10 fb og

Dentre estes traces podemos observar testes como:
– Boot Windows 10
– Adobe After Effects: Iniciar a aplicação até estar pronto para uso
– Adobe Illustrator: Iniciar a aplicação até estar pronto para uso
– Adobe Premiere Pro: Iniciar a aplicação até estar pronto para uso
– Adobe Lightroom: Iniciar a aplicação até estar pronto para uso
– Adobe Photoshop: Iniciar a aplicação até estar pronto para uso
– Battlefield V: Tempo de carregamento até o menu iniciar
– Call of Duty Black Ops 4: Tempo de carregamento até o menu iniciar
– Overwatch: Tempo de carregamento até o menu iniciar
– Usando Adobe After Effects
– Usando Microsoft Excel
– Usado Adobe Illustrator
– Usando Adobe InDesign
– Usando Microsoft PowerPoint
– Usando Adobe Photoshop (Uso intenso)
– Usando Adobe Photoshop (Uso mais leve)
– Copiando 4 arquivos ISOs, 20GB ao total de um disco secundário (Teste de Escrita)
– Realizando a cópia do arquivo ISO (Teste de leitura-escrita)
– Copiando o arquivo ISO para um disco secundário (Leitura)
– Copiando 339 arquivos JPEG (Fotos) para o disco sendo testado (Escrita)
– Criando cópias destes arquivos JPEG (Leitura-Escrita)
– Copiando 339 arquivos JPEG (Fotos) para outro disco (Leitura)

image034

Já neste outro benchmark um pouco mais antigo, cujo foco maior era em produtividade, ele apresentou outra queda considerável, porém não foi tão grande quanto vimos no 3DMark. Mas novamente, esta queda ocorreu devido sua largura de banda ter despencado cerca de 22%, enquanto sua latência aumentou cerca de 30%.

TESTE DE PROJETO – Adobe Premiere Pro 2021
A seguir, utilizamos o Adobe Premiere para medir o tempo médio de abertura de um projeto de cerca de 16.5GB com resolução 4K, 120Mbps de bitrate, cheio de efeitos até que estivesse pronto para edição. Ressaltando apenas que o SSD testado é sempre como drive secundário sem o sistema operacional instalado, pois isso poderia afetar o resultado, gerando inconsistências.

image037

Ao utilizarmos o Premiere para carregarmos um projeto de mais de 16GB, neste benchmark não houve uma diferença, pois ele está carregando o projeto, ou seja, realizando uma leitura.

TESTE DE TEMPO DE CARREGAMENTO DE GAMES E WINDOWS
Fizemos uma comparação entre múltiplos SSDs e um HD, utilizando uma instalação limpa do Windows 10 Build 21H1 junto do benchmark do Final Fantasy XIV abrindo o modo campanha. O teste consiste no melhor resultado após três boots seguidos do sistema, considerando o tempo total até finalizar na área de trabalho com o score informado pelo aplicativo, por isso, é mais lento do que o boot até mostrar a tela da área de trabalho. 

image038 1

O mesmo ocorreu no carregamento do game, aonde a diferença dentre o SSD com SLC Cache e sem SLC Cache foi quase imperceptível.

Neste programa, consta deste o tempo de boot até o carregamento dos últimos drivers do OS, o que neste caso, é feito uma instalação limpa com apenas drivers de sistema operacional, como de Rede, Wireless + Bluetooth, Áudio, Drivers Nvidia, PCH dentre outros, então, vemos que neste cenário não houve uma diferença grande.

TESTE DE VELOCIDADE SUSTENTADA | SLC CACHING
Boa parte de SSDs no mercado atualmente utiliza como base a tecnologia de SLC Caching, em que certo percentual de sua capacidade de armazenamento, seja ele MLC (2 bits p/ célula), TLC (3 bits p/ célula) ou QLC (4 bits p/ célula), é usado para armazenar apenas 1 bit por célula. No caso, é usada como um buffer de escrita e leitura, em que o controlador inicia a gravação e quando o Buffer se esgota ele escreve nas NAND Flash nativas (MLC / TLC / QLC).

image
image043

Através do IOmeter, podemos ter uma ideia do volume de SLC cache deste SSD, já que o fabricante muita vezes não informa este valor. Pelos testes que realizamos, foi possível constatar que ele possui um volume de pSLC Cache dinâmico, de cerca de 24GB, ele conseguiu manter velocidade média de ~ 461MB/s até o fim do buffer, o que foi uma velocidade boa considerando que essa é uma unidade SSD SATA.

Após ter gravado 24GB, ele começou a escrever de forma nativa em seus blocos TLC, a uma velocidade média de aproximadamente 111 MB/s, aonde percorreu-se por mais de 160GB, sendo de 25GB até 192GB.

E então iniciou-se o processo de folding aonde reprogramou os blocos que estavam em modo pSLC de volta para TLC, resultado em uma queda grande de desempenho. O SSD manteve uma velocidade média de escrita de 81MB/s até encher a unidade.

Sua média geral contanto o folding junto de sua nativa foi de 103MB/s.

image045

Quando desativamos o SLC Cache, vemos que sua velocidade de escrita sustentada começa na faixa dos 240 MB/s até quase 90GB, logo após isso sua velocidade cai para uma média de 100 MB/s cujo é representativo da velocidade sustentada deste SSD.

image048

TESTE DE CÓPIA DE ARQUIVOS
Neste teste, foi feita a cópia dos arquivos ISOs e do CSGO de uma RAM Disk para o SSD para ver como ele se sai. Foram utilizadas a ISO do Windows 10 21H1 de 6.25GB (1 arquivo) e sua versão extraída com o Winrar para uma pasta contendo 1.874 arquivos menores juntos da Pasta de instalação do CSGO de 25.2GB. 

Sem titulo

Ao utilizarmos a imagem .ISO do Windows 10, vemos que sem o SLC Cache o SSD teve um desempenho bem inferior.

image051

O mesmo se repete ao testarmos com arquivos de maior tamanho

TESTE DE TEMPERATURA
Neste trecho da análise, testaremos a temperatura do SSD durante um teste de stress, onde o SSD recebe arquivos de forma contínua, para podermos saber se houve algum thermal throtling com seus componentes internos que pudessem gerar algum gargalo ou perda de performance.

image053

Por se tratarem de SSDs SATA, eles já nem sequer esquentam tant, e neste teste vemos que com ou sem o SLC Cache houve uma diferença de temperatura.

CONSUMO ELÉTRICO E EFICIÊNCIA

SSDs da mesma forma que diversos outros componentes do nosso sistema tem um determinado consumo elétrico. Os mais eficientes conseguem realizar tarefas que foram requisitadas de forma rápida e com um consumo relativamente baixo, para que assim consiga transitar novamente para seus power states em idle aonde tende a ter um consumo menor.

quarch programmable power module
Agradecimento especial a Quarch Solutions por terem enviado esta unidade para testes

Neste trecho da análisem utilizaremos o Quarch Programmable Power Module que a Quarch Solutions nos enviou (foto acima) para realizar estes testes e verificar o quão eficiente o SSD é. Nesta metodologia serão realizados 3 testes: O consumo máximo que o SSD possui, uma média em cenários práticos e casuais e em idle.

Este conjunto de teste, especialmente o de eficiência e em idle são importantes principalmente para usuários que pretendem utilizar drives em laptops, pois SSDs ficam a esmagadora maioria do tempo em power states de baixo consumo (Idle), portanto, isso ajuda e muito a economizar bateria.

image061

No quesito de eficiência, vemos que ela diminui consideravelmente sem o SLC Cache, pois a velocidade que levou para realizar a transferência da pasta de arquivos junto de sua velocidade média foi menor quando o SLC Cache estava desativado acarretando uma menor eficiência.

image055

Com relação a seu consumo máximo, em ambos os cenários os SSDs tiveram um consumo idêntico.

image057

Já em sua média, o mesmo se repetiu em sua média, aonde a diferença foi quase nula.

image059

Por último e mais importante, teste em Idle, que é o cenário em que a esmagadora maioria dos SSDs se encontram no uso do dia a dia ou cotidiano, vemos que sem o SLC Cache o SSD teve um consumo elétrico bem menor.

Conclusão

A partir deste breve artigo podemos concluir que o SLC Cache de fato contribui bastante para o desempenho do SSD, fazendo com que ele ofereça um desempenho satisfatório, mas como tudo, existem desvantagens.

Um dos principais pontos negativos de se não utilizar o SLC Cache, é que torna-se impossível atingir o nível de durabilidade que a fabricante estípula, pois em alguns casos, eles utilizam NANDs que não passaram por todos os testes de Q.C. e podem vir com uma quantidade de bad blocks ou durabilidade abaixo do normal, e uma boa quantidade de vezes eles podem rodar este setor como SLC Cache estático para não haver uma punição grande de durabilidade no SSD.

Exemplo Endurance SLC Cache

Como consta no datasheet deste NAND Die da Micron, o B16A FortisFlash, que é um Die TLC de 64-Layers de 256Gb de densidade, vemos que em seu modo TLC nativo ele consegue trabalhar com uma estimativa de gravação de até 1.500 Program Erase Cycles, ou seja, a quantidade de vezes que cada célula dentro de cada página consegue ser re-escrita após ser apagada. E vemos que quando este mesmo die opera em modo pseudo-SLC, sua durabilidade aumenta drasticamente, subindo para mais de 40.000 Program Erase Cycles.

Outro ponto mais fácil de compreender é que na esmagadora maioria das vezes, um SSD do mercado de consumidor não vai conseguir atingir as velocidades sequenciais e aleatórias que a fabricante estípula. Em SSDs SATA, chega até ser possível saturar o barramento sequenciais tendo em vista que estes Dies se comportam melhor nesses cenários, porém, isso só ocorre a partir de uma determinada capacidade de SSD, cujo tem uma quantidade de dies suficientes para saturar o barramento.

Existem, sim, pontos positivos como, pelo fato de estar com seu Cache desativado, o Write Amplification diminui, em breve estarei trazendo uma série de artigos onde estarei explicando de forma bem mais extensa e detalhada a arquitetura de SSDs.

Mas de forma resumida, a Write Amplification é um fenômeno que ocorre em SSDs e está relacionado à forma como os dados são gravados e gerenciados no dispositivo. Quando um SSD recebe uma solicitação de gravação, ele precisa executar operações internas, como o Wear Leveling e Garbage Collection, para garantir a melhor utilização da memória NAND flash. No entanto, essas operações adicionais podem resultar em uma amplificação de gravação, em que mais dados são gravados fisicamente na memória do que o necessário. Isso pode reduzir a velocidade e a vida útil do SSD.

1 NAND Layout

Uma das causas da amplificação de gravação é a fragmentação dos dados. À medida que os dados são gravados e apagados no SSD, espaços vazios são criados, levando a uma fragmentação dos blocos de dados. Quando novos dados são gravados, o SSD precisa fazer uma série de operações para encontrar e alocar blocos livres contíguos, resultando em mais gravações físicas do que o necessário. Essa fragmentação pode ocorrer especialmente com gravações aleatórias ou com um uso intenso do SSD.

Além disso, a gestão do espaço livre no SSD também contribui para a amplificação de gravação. Como o SSD precisa manter uma quantidade mínima de espaço livre para operações de gravação e para o funcionamento adequado do dispositivo, a capacidade real disponível para armazenamento de dados pode ser menor do que a capacidade total anunciada. À medida que o SSD se enche, o espaço livre disponível diminui, o que pode levar a uma maior amplificação de gravação, já que o dispositivo precisa fazer mais operações internas para otimizar o espaço disponível.

Mas é isto pessoal, espero que tenham gostado deste breve artigo. Futuramente tentarei trazer uma continuação, porém, com SSDs NVMe, que tendem a ter uma queda de desempenho ainda maior. De todo modo, não façam isso, pois como observamos vai prejudicar bastante o SSD de vocês! 😀

Você também pode gostar...

2 Responses

  1. Thiago disse:

    Parabéns pelo artigo. Sanou algumas dúvidas que tinha.

Deixe uma resposta

Descubra mais sobre The Overclock Page

Assine agora mesmo para continuar lendo e ter acesso ao arquivo completo.

Continue reading