Adeus cabeças de leitura! Ou como a memória flash funciona

Oi Geektimes! Costumamos falar sobre os benefícios dos SSDs, desmistificar os mitos sobre unidades de estado sólido e recentemente fomos à produção . Mas como, de fato, a memória flash funciona? Qual é a diferença entre os diferentes tipos de NAND? Todos aqueles que desejam entender essas questões são bem-vindos ao gato.


Olhe para o passado


Antes de iniciarmos nossa conversa, vamos relembrar brevemente os discos rígidos. Como você sabe, os últimos armazenam informações em várias placas magnéticas, conhecidas popularmente como pratos. De uma forma simplificada, um atuador com cabeçotes de leitura recebe informações e, para concluir os processos de leitura / gravação, o disco gira o tempo todo. Dificilmente faz sentido ficar aqui por um longo tempo, mas é importante entender isso.

Como o bloco principal do disco deve coincidir com uma determinada área (faixa) para leitura ou gravação de dados e o disco gira constantemente, leva algum tempo até que eles possam acessar as informações e o setor desejado fique sob a cabeça, especialmente se as solicitações forem caóticas. Embora o atraso do disco rígido seja medido em milissegundos, isso é suficiente para fazer a CPU esperar, cujo atraso é medido em nanossegundos. Em um milissegundo, um milhão de nanossegundos e, em média, o disco rígido precisa de 10 a 15 milissegundos para procurar informações e começar a lê-las. Sim, agora existem soluções cuja velocidade de rotação atinge 15 mil rotações por minuto, mas mesmo o HDD mais rápido não será tão rápido quanto gostaríamos.

Pouco de teoria


Talvez você e eu nos contentássemos com HDDs “muito” rápidos (como Henry Ford disse: “se eu perguntasse às pessoas o que elas querem, elas me pediriam para criar cavalos velozes”), mas conduzisse fabricantes, entre os quais o seu humilde servo, o benefício não fica parado . Apareceu um SSD (unidades de estado sólido ou unidades de estado sólido), onde as informações são armazenadas não em discos rotativos, mas usando a memória flash NAND. Vamos nos debruçar sobre isso em detalhes.

No caso de NAND, as informações são armazenadas em uma matriz de células de memória - são transistores com uma porta flutuante (Porta flutuante). Dependendo da direção da tensão, os elétrons se movem entre o Control Gate e o canal NAND.

Assim que a tensão é aplicada ao portão de controle, os elétrons começam a ser atraídos para cima - o campo elétrico resultante os ajuda a alcançar o portão flutuante, superando um obstáculo feito de óxido. Este último atua como isolante, pois é graças a ele que os elétrons não se movem para além do portão flutuante. É assim que a programação da célula acontece.


O processo de apagar a célula parece exatamente o oposto - a voltagem é aplicada ao canal, os elétrons se movem do portão flutuante através do óxido de volta ao aterramento do portão de controle.

Uma célula com um único transistor opera da seguinte maneira. Dependendo da presença ou ausência de carga em um portão flutuante, o estado do transistor é determinado se ele está aberto ou fechado. Ao considerar o fornecimento de tensão ao portão de controle como a inicialização da célula de memória, pode-se julgar a presença ou ausência de carga no portão flutuante pela tensão entre a fonte e o dreno. Se você colocar um elétron em uma porta flutuante e aplicar tensão à porta de controle, o transistor será fechado. Temos uma célula de memória que pode armazenar um pouco. Ao usar o método de injeção de elétrons a quente, a tensão é aplicada ao dreno e ao portão de controle, o que leva ao movimento de elétrons através da barreira.


Uma célula com dois transistores é uma modificação de um único transistor. Nesse caso, o transistor (normal) isola a linha de bits do transistor de porta flutuante.

A carga é removida do portão flutuante aplicando uma tensão negativa ao portão de controle (tensão positiva na fonte). Como resultado, temos o tunelamento de Fowler - Nordheim: os elétrons se movem (túnel) da região do portão flutuante para a fonte.

Reescreva o ciclo. Antes de programar uma nova célula com novos elétrons, você deve primeiro limpar as antigas. Na prática, a maioria dos usuários não precisa prestar atenção ao número de ciclos de reescrita, pois o recurso SSD é fácil o suficiente para qualquer quantidade de dados gravados. É verdade que existem exceções irritantes, mas é por isso quegarantia do fabricante .

Nos SSDs, a memória flash consiste em blocos, enquanto o último consiste em páginas. As informações são gravadas nessas páginas e, para a atualização dos dados, não basta reescrever páginas irrelevantes. Então, primeiro os dados são movidos das páginas antigas para as novas, depois enviados para outro bloco, e somente depois disso o bloco com os dados irrelevantes é apagado. Assim que o bloco for apagado, ele estará livre para gravar novos dados. Um processo tão complicado - no formato visual, parece muito mais compreensível.


Obviamente, a ausência de discos móveis (e de fato partes móveis) é uma das principais vantagens do SSD em relação aos discos rígidos, e é isso que permite que os SSDs trabalhem em velocidades significativamente mais altas que os HDDs. Para maior clareza, aqui está uma tabela resumida do tempo de atraso de vários tipos de NAND e HDD.


SLC, MLC, TLC não são apenas abreviações, elas indicam o número de bits em cada célula. Para SLC (Único), este é um bit, para MLC (Multi), dois bits, para TLC (Triplo), respectivamente, três bits. Devido a isso, o MLC armazena o dobro de informações que o SLC, e isso apesar do número de células ser o mesmo. Em geral, o princípio de operação para esses tipos de NAND é o mesmo, o que não pode ser dito sobre resistência.

Durante um período de tempo, a estrutura física das células pode estar sujeita a desgaste devido a uma diminuição na camada de óxido causada pela atividade eletrônica. Como resultado, os elétrons acumulam uma carga negativa e ficam presos, uma voltagem mais alta é aplicada e a camada de óxido diminui novamente. Um círculo tão vicioso acaba.

SLC, MLC e TLC diferem em resistência. Se, por exemplo, pegarmos um cristal NAND com uma densidade de 16 Gbit, obteremos um SLC de 16 Gbit, apesar do fato de haver um bit em cada célula. Assim, para MLC, será de 32 Gbps e para TLC - 48 Gbps. É verdade que, neste último caso, o cristal NAND ainda precisa ser cortado, como resultado, o equivalente a 32 Gbit é obtido para MLC. Quem você acha que é capaz de suportar as maiores mudanças de tensão?

Com dois níveis (0,1), o SLC possui o melhor indicador para esse parâmetro - esse tipo de NAND suporta uma ampla gama de flutuações de tensão. Com o aumento dos níveis, esse intervalo diminui, portanto, o TLC com seus 8 níveis e 3 bits em uma célula possui o menor número de ciclos de reescrita.

Como os problemas com a redução de chips são um problema, o 3D NAND está substituindo a moderna memória flash NAND plana. É menos suscetível ao desgaste devido à ausência da necessidade de alta voltagem ao gravar dados na célula. Os fabricantes estão desenvolvendo ativamente essa área e nomeiam suas próprias tecnologias (para Samsung - 3D V-NAND, para Toshiba - BiCS 3D NAND e assim por diante). O ponto é que, nesse caso, temos um cilindro com uma camada superior no papel de obturador de controle, enquanto a camada interna atua como um isolante. As próprias células estão localizadas uma sob a outra, formando uma pilha. A lógica de controle está localizada sob a matriz da memória, a área do chip é liberada, onde eles posteriormente encontram a "casa" da célula da memória.



Um pouco de prática


Não podemos observar todos os itens acima por conta própria (pelo menos sem equipamento especial). E aqui está como tudo cuida da fabricação de placas de circuito impresso, solda, instalação de chips e microcircuitos:


OCZ Trion 150

Aqui vemos microcircuitos de memória flash e buffer e um controlador cuidadosamente coberto com um elástico térmico. Sim, o tópico aqui não é sobre o dispositivo SSD, mas o trabalho da memória flash, mas sem um controlador não há lugar nenhum. E aqui está o porquê.

O controlador distribui o registro nas células da memória flash, lê a partir da memória e das células TRIM (mais sobre isso mais tarde) - em geral, a frase “não temos insubstituível” não é sobre ele. É ele quem controla a transferência de dados, tanto no SATA quanto no PCIe, distribui informações no NAND para menos desgaste. Sem a ajuda do firmware, é claro, não se pode fazer aqui.

O controlador está conectado à memória flash em paralelo e, como você pode ver, desempenha uma das funções principais. O Trion 150, por exemplo, usa o controlador Toshiba, enquanto o Vertex 460A 0 já possui o Barefoot 3 M10 da OCZ.


Ah, sim, eu quase esqueci o cache. É um companheiro confiável do controlador: assim que o comando para alterar o arquivo para o SSD é fornecido, o bloco entra primeiro na memória cache, onde a alteração ocorre. Neste momento, dados irrelevantes no NAND são excluídos e o controlador encontra onde colocar as informações que foram colocadas no buffer. O princípio principal é escolher uma célula com o menor desgaste, que é o que o controlador faz, após seu comando, os dados alterados são enviados para uma nova "casa".

Agora, a maioria dos SSDs, incluindo os da OCZ, também suporta TRIM, uma tecnologia especial que observa dados irrelevantes. Nesse caso, informações desnecessárias não são gravadas em outros blocos de memória, o que afeta favoravelmente não apenas o número de ciclos de reescrita, mas também a própria velocidade de gravação.

Momento da filosofia


Obviamente, comparado aos discos rígidos convencionais, o NAND é uma inovação real, mas também possui seus próprios problemas e desvantagens. Sim, a NAND tem grandes perspectivas em termos de capacidade de armazenamento, mas o preço por gigabyte deixa muito a desejar. É improvável que, em um futuro próximo, esse parâmetro possa "capturar" discos rígidos.

Com o uso de caches SLC e padrões de dados rápidos, os SSDs se tornaram ainda mais produtivos, com boa largura de banda. No entanto, a longo prazo, presume-se que algo mais venha a substituir o NAND. E, de fato, 3D NAND - o primeiro "sino", o que indica isso.

Agora a NAND certamente está a cavalo - eles dizem o verdadeiro rei da colina. E ele continuará sendo esse rei pelos próximos 4-5 anos.

Source: https://habr.com/ru/post/pt392891/


All Articles