Pelo que entendi, o nível de desgaste em pen drives / pen drives :
- ajudar a fazer o último mais longo. (reduza o "desgaste", que uma célula flash física só pode ser gravada em XX vezes)
- só pode realmente funcionar se houver células de memória flash não utilizadas para as quais mudar. (Quanto mais cheio o pendrive, menos células alternativas para nivelar o desgaste estão disponíveis)
Na pior das hipóteses, em um ponto do tempo, usei toda e qualquer memória do pendrive. Portanto, é menos provável que ainda ocorra algum nivelamento de desgaste. Posso / (como) reverteria esse estado?
Quero dizer, em termos de pen drives, o que está vazio
0000 0000 0000 0000
(zero fill) parece-me apenas para ser como válida a dados como
1111 1111 1111 1111
ou 1010 1110 0011 1111
ou qualquer outro bit-padrão.
O firmware do USB-stick precisa de alguma forma de saber o que é considerado um "não utilizado" células Flash, para que ele possa usá-lo para nivelamento de desgaste novamente. Porém, depois de ter preenchido uma única vez o USB Stick completo, tenho problemas para ver como o firmware poderá determinar quais dados podem ser "substituídos", pois não contêm dados?
Portanto, minha pergunta é: O preenchimento zero pode ser uma maneira de redefinir o nível de desgaste de um stick USB
Embora eu tenha medo de que talvez isso dependa frequentemente da implementação ("firmware" e "fabricante"), ainda acho que poderia haver uma lógica nessa abordagem para assumir que "preenchimento zero" pode redefinir o pendrive em determinadas melhor projetado -USB-Sticks .
A lógica que imagino seria que o nível de desgaste do firmware reconheceria que um bloco inteiro (ou seja, 512 bytes ou 2kbytes) seria definido como apenas zeros.
Bloquear antes: 1101 1011 1000 0010 ... 0001 0011
Bloquear depois:0000 0000 0000 0000 ... 0000 0000
Ao ler este bloco, gostaria de receber, obviamente, essas informações:
Bloquear depois: 0000 0000 0000 0000 ... 0000 0000
Mas essas informações podem ser geradas em tempo real, armazenando o bloco XYZ = vazio em uma determinada célula flash disponível apenas para o firmware.
Se esse fosse o caso, o pool em que "reset" (preenchimento zero) seria ativado para outros fins, uma vez que as informações são armazenadas na parte do stick BLOCK XYZ = memória de firmware vazia.
Eu li que deveria haver alguns pendrives que possuem esse firmware e, portanto, podem ser redefinidos? Isso pode ser verdade? Gostaria de saber, com a pergunta, que uma "tendência" talvez seja apoiada por informações de fabricantes de destaque. Talvez exista até uma lista que lista os pendrives que podem ser redefinidos dessa maneira. Para que a resposta possa conter um link para essa lista.
Suponho também que não existe "um novo firmware" projetado por cada USB-Stick produzido e talvez exista um firmware USB proeminente (frequentemente usado) que faça esse nivelamento. Portanto, o quesiton poderia ser respondido com relação a esse firmware.
Na melhor das hipóteses, uma pessoa inteligente poderia encontrar uma maneira de responder à pergunta dessa forma, que contém algumas instruções que permitiam que os usuários (superusuários) "descobrissem" se esse nivelamento de desgaste está ativado ou não.
alguns antecedentes da minha pergunta
Pendrives / pen drives são coisas boas, com certeza. Mas o problema é que a maneira como eles armazenam os dados se desgasta, o que significa que após apenas XX gravações em uma célula de dados! BINGO! sua vara está morta!
Uma maneira de aliviar o problema (que as células de memória Flash só podem ser gravadas em um número bastante pequeno de vezes) é "nivelar o desgaste". O que cuidará para que, se possível, os dados nem sempre sejam gravados nas mesmas células de memória flash .
O modo que funciona é que, em vez de gravar os dados sempre nas mesmas células físicas, os dados (quando alterados) são gravados em outras células físicas novas. Isso reduz o "estresse" porque, na melhor das hipóteses, isso continuará assim.
Para ajudar a entender alguns aspectos básicos do nivelamento de desgaste, incluí este conceito abaixo, que mostra como as informações de "hello", "salut", "hola" e "hi" são subsequentemente armazenadas em uma célula de dados lógicos chamada data , que é realmente gravada a uma memória flash física diferente a cada vez (daí um pequeno "conceito" de nivelamento de desgaste).
estado 1: [CELL1: vazia] [CELL2: vazia] [CELL3: vazia] => escrever dados "olá" estado 2: [CELL1: olá] [CELL2: vazia] [CELL3: vazia] data = CELL1 => atualizar dados para "salut" estado 3: [CELL1: olá] [CELL2: saudação] [CELL3: vazia] data = CELL2 => atualizar dados para "hola" estado 4: [CELL1: olá] [CELL2: saudação] [CELL3: olá] data = CELL3 => atualizar dados para "oi" state5 [CELL1: oi] [CELL2: saudação] [CELL3: Olá] data = CELL1
Observe como, depois de gravar 4 vezes os dados, cada célula, em média, foi gravada apenas 1,33 vezes. Observe também que as informações em que célula contém os " dados lógicos " também devem ser armazenadas e atualizadas (o que exige que o firmware faça essa contabilidade - usando alguma memória reservada para isso também)