Questão usar nivelamento em cartões SD


Um conhecido produtor de cartões SD anuncia que seus cartões SD usam o nivelamento de desgaste. Se houver espaço suficiente no cartão, o acesso de gravação será distribuído uniformemente pela memória livre.

Mas como o controlador de memória interno sabe quais setores de memória não são usados ​​ou são gratuitos?


1


origem


Cada página flash consiste em bytes para carga útil (ou seja, dados do usuário) e bytes extras para meta-dados e correção de erros. São os metadados que indicam como a página (e os setores dentro) são usados ​​/ alocados e usam contagens. - sawdust
Que bom, mas como posso preencher os metadados com as informações corretas? Respectivamente, como posso definir um sinalizador nos metadados para indicar que a memória correspondente não está sendo usada? - wewa
Você não pode. Estas regiões do flash são para uso exclusivo do controlador SDcard. Este controlador executará o nivelamento de desgaste. Por que você acha que precisa de acesso? BTW seu conceito de nivelamento de desgaste é falho. O nivelamento de desgaste não envolve estados de "não utilizado ou livre". O nível de uso emprega uma contagem de uso, ou seja, o número de vezes que a página foi apagada e gravada. As páginas com as contagens mais baixas são a primeira escolha para a próxima gravação. - sawdust


Respostas:


Cartões SD têm um Comando ERASE com o qual o sistema operacional pode sinalizar que um determinado bloco não está mais em uso. Eu não sei o quão bem esse comando é suportado em câmeras, tablets, telefones, etc.


1