Por que a memória flash deve ser gravada / apagada em páginas / blocos?

10

O título diz tudo.

Estou tentando entender o funcionamento das tecnologias de memória flash, no nível do transistor. Após algumas pesquisas, obtive boas intuições sobre transistores de porta flutuante e como injetar elétrons ou removê-los da célula. Eu sou do CS, então minha compreensão de fenômenos físicos como tunelamento ou injeção de elétrons a quente provavelmente é bastante instável, mas ainda me sinto confortável com isso. Eu também tive uma idéia de como se lê a partir de layouts de memória NOR ou NAND.

Mas eu leio em todos os lugares que a memória flash só pode ser apagada em unidades de bloco e só pode ser gravada em unidades de página. No entanto, não encontrei justificativa para essa limitação e estou tentando obter uma intuição sobre o motivo.

Gyom
fonte

Respostas:

1

A melhor resposta que encontrei para sua pergunta é abordada em Como funciona a memória Flash, onde diz:

Os elétrons nas células de um chip de memória flash podem retornar ao normal ("1") pela aplicação de um campo elétrico, uma carga de voltagem mais alta. A memória flash utiliza fiação no circuito para aplicar o campo elétrico a todo o chip ou a seções predeterminadas conhecidas como blocos. Isso apaga a área alvo do chip, que pode ser reescrita. A memória flash funciona muito mais rápido que as EEPROMs tradicionais porque, em vez de apagar um byte de cada vez, apaga um bloco ou todo o chip e depois o reescreve.

Não entendo por que a "fiação no circuito" permite a programação no nível de bit (alternando de 1 a 0), mas pode estar relacionada à maneira como as transições 1 a 0 são executadas (programação via injeção a quente) em comparação com 0 para 1 transição (apagamento via tunelamento Fowler-Nordheim).

Tommaso
fonte
6

É por definição. Uma memória flash que permite escrever bits individuais é chamada EEPROM .

O Flash difere da EEPROM, pois as apagamentos são feitas em blocos, em vez de bits individuais. Como a exclusão é uma operação relativamente lenta e deve ser feita antes da gravação, a execução de uma exclusão em um bloco grande torna as operações de gravação grandes mais rápidas, devido à exclusão de um grande número de bits em paralelo.

Apagar blocos também permite simplificações ao IC, reduzindo custos. Economias de escala reduzem ainda mais o custo do flash sobre a EEPROM, uma vez que o flash é usado em grandes quantidades atualmente em unidades de disco de estado sólido, enquanto a EEPROM é usada em quantidades muito menores.

Phil Frost
fonte
obrigado por esta resposta. Essa linha de pensamento também explica de alguma forma por que as operações de gravação devem ser feitas página por página?
Gyom
1
@ Gyom que não é verdade para todos os tipos de flash. Às vezes, a limitação é imposta pelo protocolo (por exemplo, o SATA não tem como gravar menos "setores" de 512 bytes). Dependendo do tipo de flash e protocolo usado para acessá-lo, pode ser possível gravar apenas um byte em um bloco que foi apagado anteriormente.
Phil Frost
4

Você está certo no fato de que não há justificativa física para ter que apagar em unidades de bloco.

A programação de uma célula é feita através da criação de um campo elétrico entre o volume e a porta de controle, como mostrado na fig1, e a mesma idéia é válida para apagar a célula, um campo elétrico na direção oposta faria o trabalho, como mostrado na fig2. insira a descrição da imagem aqui No entanto, por razões construtivas, é relativamente complexo gerar e usar a tensão negativa; portanto, a estratégia usada é a mostrada na fig3, definindo uma alta tensão no volume (que é a referência lógica de aterramento no setor). Os transistores de seleção não podem mais ser usados, apenas as portas de controle podem ser reduzidas e isso força uma exclusão total do setor.

cruano
fonte
A memória flash, por definição, é apagada em bloco. É por isso que eles são chamados de "flash", porque com uma operação de exclusão você apaga muitas células em paralelo. Em vez disso, em uma EEPROM, você deve fazer isso por byte, demorando muito mais tempo. A propósito, a tensão de apagamento é dividida entre a tensão em massa e a tensão da porta (uma positiva, uma negativa). É muito mais fácil inverter uma tensão, com relação à necessidade de gerar e lidar com tensões muito altas.
next-hack
A maioria dos chips possui muitas junções PN normalmente polarizadas de maneira a não serem conduzidas. Seria possível desviar os fios das linhas e colunas para as tensões necessárias para apagar um chip sem que nenhuma dessas junções PN interfira nas coisas? Certamente seria possível usar vários tipos de poços flutuantes para evitar problemas com essas junções PN, mas fazer isso por célula provavelmente seria extremamente caro.
Supercat