Cartão / armazenamento flash USB: como aparar / descartar / redefinir após uso intenso?

0

Gostaria de saber se é possível "resetar" o controlador de uma unidade USB ou um cartão de memória para tratar como "não usado" no Linux (Fedora 24)?

Histórico: eu substituí um drive USB de / dev / urandom. Por exemplo, suponho que todos os blocos tenham sido gravados, pois (até onde eu entendi) a maioria dos controladores de unidades USB e cartões de memória não mantém nenhum bloco sobressalente. A unidade (como verificar, se o controlador de armazenamento suporta o ajuste ATA ou se o controlador USB passar o ajuste ATA para o dispositivo?) Não suporta trim - fstrim gera um erro e hdparm não vê suporte de ajuste, ou seja,

hdparm -I /dev/sdX | grep -i TRIM

É genericamente possível marcar todos os blocos em um armazenamento flash USB como earasable e executar uma coleta de lixo em todas as células? Ou é, se possível, limitado apenas a certos controladores (USB e controlador de armazenamento)?

Acompanhamento

Seguindo Depois que um cartão SD é apagado, que valor é lido no cartão? Todos os bits apagados ou todos os bits definidos? pelo menos os cartões SD devem suportar um CMD38 , que como um formato rápido redefiniria os blocos.

No entanto, encontrei até agora apenas um software oficial Win / Mac para enviar este comando para um link

Presumivelmente (não tentei) isso também depende do controlador USB para passar o comando e só pode funcionar em cartões SD, mas não necessariamente com drives USB?

Até agora, eu não encontrei um programa Linux para enviar facilmente este comando CMD38 para um dispositivo.

    
por THX 29.08.2016 / 10:14

2 respostas

0

O comando que você deseja é blkdiscard . Ele apaga completamente uma partição ou dispositivo de bloco inteiro por meio de corte. No entanto, ele só funcionará em cartões SD, e não em pendrives USB, pois não acho que o último suporte seja perfeito.

    
por 12.01.2017 / 08:39
0

Você precisa de fstrim , no pacote util-linux :

NAME

fstrim - discard unused blocks on a mounted filesystem

SYNOPSIS

  fstrim [-a] [-o offset] [-l length] [-m minimum-size] [-v] mountpoint

DESCRIPTION

fstrim is used on a mounted filesystem to discard (or "trim") blocks which are not in use by the filesystem. This is useful for solid-state drives (SSDs) and thinly-provisioned storage.

By default, fstrim will discard all unused blocks in the filesystem. Options may be used to modify this behavior based on range or size, as explained below.

The mountpoint argument is the pathname of the directory where the filesystem is mounted.

Running fstrim frequently, or even using mount -o discard, might negatively affect the lifetime of poor-quality SSD devices. For most desktop and server systems a sufficient trimming frequency is once a week. Note that not all devices support a queued trim, so each trim command incurs a performance penalty on whatever else might be trying to use the disk at the time.

Isso depende da capacidade da unidade ou do slot de cartão aceitar o comando TRIM , é claro. O armazenamento em massa USB barato não é adequado; UAS mais recente (USB-attatched SCSI) geralmente pode aceitar TRIM . Você pode saber se é suportado usando hdparm -i - procure por "Data Set Management TRIM suportado" sob o título "Comandos / recursos".

    
por 29.08.2016 / 16:57