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.
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)?
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.
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.
Você precisa de fstrim
, no pacote util-linux
:
NAME
fstrim
- discard unused blocks on a mounted filesystemSYNOPSIS
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 usingmount -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".