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)
fonte
O TRIM visa solucionar esse problema, fornecendo um mecanismo no qual o sistema operacional pode dizer à unidade que não espera que um setor mantenha dados. TRIM é uma especificação SAS / SATA e não uma especificação USB, portanto, infelizmente, isso não funciona para unidades flash USB.
Sem o TRIM, não é seguro que a unidade assuma que os dados não são necessários.
Claro, se o firmware funcionar dessa maneira. Não há como ter certeza sem o código-fonte do firmware ou a documentação do desenvolvedor. Os chips flash funcionam em páginas e blocos. O chip pode apagar apenas blocos inteiros de uma só vez (128 KB, por exemplo), que consistem em muitas páginas (2 KB, por exemplo), geralmente maiores do que os setores tradicionais de discos rígidos que as unidades USB emulam (512 bytes).
É muito provável que, uma vez que as unidades flash USB sejam muito baratas hoje em dia, não valha a pena ao fabricante fornecer essas informações.
Cada unidade flash USB possui um microcontrolador (microcontrolador = CPU + ROM ou firmware). Você pode abrir a unidade flash e pesquisar com base nos números no chip para tentar descobrir o tipo. Provavelmente, há um número limitado delas em comparação com o número total de unidades flash produzidas, mas não me surpreenderia que houvesse muitas variações de alguns tipos principais. Certamente não existe um firmware padrão único ou algo assim.
Existem utilitários de chip que permitem reprogramar o microcontrolador em alguns deles para criar CD-ROMs virtuais e outros em certos tipos de unidades flash. Esta é uma área sem documentação e difícil de encontrar informações. Eu não tive muita sorte.
Não, apenas essa célula. Os SSDs (e cartões SD e pen drives) são superprovisionados, o que significa que eles têm mais flash do que o anunciado na embalagem. Esse flash extra é usado como uma área "sobressalente" para cobrir os blocos que se desgastam. Ele também cobre os defeitos do fabricante - nenhum flash possui blocos de trabalho 100% garantidos, exceto o primeiro bloco.
fonte
O armazenamento USB não é mecânico (como as primeiras contas de uma grade), nem magnético (como na fita), nem óptico (como CDs), mas elétrico. Considere cada local como uma pequena célula da bateria que, com o tempo (muito tempo) descarrega. Toda escrita causa degradação. O preenchimento zero só tornará as coisas piores. O chip em si tem um controlador que usa nivelamento de desgaste ou não - um usuário não pode mudar isso. Em termos simples, o nivelamento de desgaste apenas garante que diferentes partes do USB recebam uma parte justa da carga de requisitos de armazenamento.
fonte