É “melhor” para o armazenamento flash preencher com 1 em vez de 0?

0

Quando faço backup de uma unidade, gosto de compactar a imagem, por isso preencha-a primeiro com o mesmo valor para que o espaço livre entre em colapso para quase nada:

cat /dev/zero > ~/zeros
sync
rm ~/zeros

Para uma unidade mecânica / magnética, isso simplesmente grava 0s para todo o espaço livre em uma operação por bit, mas para um dispositivo flash / estado sólido como um cartão SD ou SSD, gravar 0 na verdade leva duas operações por bit:

  • Um apagamento em massa, que define um bloco inteiro para todos os 1s de uma só vez
  • Uma gravação individual, que coloca os bits selecionados novamente em 0

Então, preenchendo um dispositivo flash / estado sólido com 1s em vez de 0 como esta resposta descreve como fazer a>, eu aceleraria o processo ou aumentaria a vida útil do dispositivo, evitando a segunda etapa do processo de gravação?

    
por AaronD 14.01.2017 / 02:48

2 respostas

0

Isso parece um problema XY - a resposta correta é que provavelmente não importa , mas faz sentido fazê-lo mais tarde.

A maioria dos SSDs criptografa ou embaralha os dados para fins de nivelamento de desgaste, então tudo o que você provavelmente está fazendo é desgastar o disco um pouco mais rápido do que eu suspeito. Cartões SD, não tenho certeza sobre. É bastante incomum usá-los como unidades de inicialização fora de cenários com muito poucas gravações.

Se for um backup relativamente pequeno, eu suspeito que a maneira 'inteligente' é a imagem, depois montar e zerar o espaço esparso na imagem então a compactação parece inteligente. Você trabalha com armazenamento relativamente rápido, minimiza as reescritas no armazenamento flash e está lendo todo o disco e começando com uma imagem descomprimida de qualquer maneira. A criação de imagens primeiro e, em seguida, zerando , a compactação economiza desgaste.

Também vale a pena considerar, se bem me lembro, noobs funciona imagens de disco em uma unidade fat32 de qualquer maneira, e em caso afirmativo, você pode montar o SSD, copiar a imagem de disco dentro e executá-las operações lá. Em seguida, substitua as imagens do disco, conforme necessário. Ou apenas copiar o conteúdo da unidade e compactá-lo "conforme necessário" e substituir o conteúdo da unidade antiga pela nova.

    
por 14.01.2017 / 05:36
0

@AaronD

Você está tentando perguntar se limpar o espaço livre é melhor para fazer com 0's ou 1's padrão porque haverá menos blocos sendo usados e preenchidos?

Pensando em 0 para o vazio 1 sendo usado, e por essa lógica ajudará a aumentar ou diminuir a vida de uma unidade SSD. Ter a segunda lógica que é recolher os blocos para não serem usados, em vez de ter espaço livre com itens excluídos ou removidos ainda é dados usando espaço e mais blocos, tendo mais gravações, o que torna a degradação mais rápida

Você está perdendo o motivo pelo qual Ramhound não entende sua pergunta.

É com sua lógica limpando o espaço livre e criando e distribuindo com

cat > ~/zeros

A criação de uma gravação através da remoção de blocos usados ainda é uma gravação nessa unidade, o que significa má ideia, mas é bom ter lógica ruim, independentemente de ajudar a ter uma imagem de backup menor ou não. Esse processo ajudará a criar uma imagem de backup compactada menor, mas matará sua unidade no processo.

Por canalizar o arquivo de saída na mesma unidade e limpar o espaço livre, você está criando um arquivo grande com > na mesma unidade b / c que ainda está gravando a unidade com dados, mesmo que seja espaço livre. Uma gravação na unidade é uma gravação e uma gravação massiva.

Acho que você está fazendo uma pergunta carregada, o que significa que a lógica que você está fazendo faz sentido, mas está errada, e 100% contraproducente, e é possível usar sua unidade 10 vezes mais rápido.

Tendo a unidade livre de espaço, mas criando gravações usando um arquivo que terá um tamanho de arquivo grande, uma gravação é uma gravação, portanto, toda a lógica, mesmo que eu a tenha, ainda pelo seu pensamento de ter a menor imagem de backup ajudando o que é verdade, o espaço livre de limpeza está criando muito mais gravações do que até mesmo com o espaço livre criado na imagem de backup, mesmo com o processo de fazê-lo repetidamente, escrevendo espaço livre que é uma quantidade muda, em seguida, criar um arquivo de gravação de todo o espaço livre da unidade ainda cria uma gravação maciça, onde o espaço livre, estaria usando apenas uma pequena quantidade de espaço. A unidade será pior porque está gravando um arquivo. apagar limpa o arquivo, você está escrevendo um arquivo.

    
por 14.01.2017 / 06:58