On 10/10/23 01:25, charlesfdotz@xxxxxxxxxxxx wrote: > > Oct 9, 2023, 09:43 by mpatocka@xxxxxxxxxx: > >> >> >> On Mon, 9 Oct 2023, Hannes Reinecke wrote: >> >>> On 10/9/23 02:56, charlesfdotz@xxxxxxxxxxxx wrote: >>>> Hello, >>>> >>>> I would like to request a new device manager layer be added that >>>> accepts trim requests for sectors and instead writes zeros to those >>>> sectors. >>>> >>>> This would be useful to deal with SMR (shingled magnetic recording) >>>> drives that do not support trim. Currently after an SMR drive has had >>>> enough data written to it the performance drops dramatically because >>>> the disk must shuffle around data as if it were full and without trim >>>> support there is no way to inform the disk which sectors are no longer >>>> used. Currently there's no way to "fix" or reset this without doing an >>>> ATA secure erase despite many of these disk being sold without >>>> informing customers that they were SMR drives (western digital was >>>> sued for selling SMR drives as NAS drives). >>>> >>> Gosh, no, please don't. SMR drives have a write pointer, and if the zone >>> needs to be reset you just reset the write pointer. Writing zeroes will >>> result in the opposite; the zone continues to be full, and no writes can >>> happen there. >>> >>> Which drive is this? >>> >>> Cheers, >>> >>> Hannes >>> > The drive in the link is a ST8000DM004-2CX188 according to the poster. To be > clear I'm talking about device managed SMR drives that don't support trim and > do not report being SMR *not* host aware drives. The DM-SMR drives work fine > until you've written their total capacity once then the write performance > craters permanently because the drive thinks all the data on it is important > and has to reshuffle it constantly during writes. We are talking sub-1MiB/s > and hangs waiting on the controller to move things around that can be several > minutes. WD was recently sued for selling some of these as "WD Red NAS" > drives. > > I'm not sure why writing zeros appears to work so this just speculation on my > part but I was thinking the drive might be smart enough to mark sectors full > of zeros as unused and then return any request for an unused sector as zeros. If the drive does not even support trim/discard, thinking it has such intelligence is a long shot... I would not bet on it :) > >> >> BTW. what about converting trims to zone reset? If the trim spans a whole >> zone, the kernel could convert it to REQ_OP_ZONE_RESET on host-aware zoned >> devices. >> >> Mikulas >> > This particular request was to try and make (some) device managed SMR drives > that don't report to the host that they are SMR more usable. I was thinking > if they are a model where zero sectors appear to "trim" one could just put > this "fake-trim" device mapper layer over it and then it would act like a > device managed SMR drive that supports trim. Check /sys/block/sdX/device/scsi_disk/xxxx/zoned_cap. Does it say "drive-managed" ? I do not think that writing zeroes will help in any way. Drives do not generally (as far as I know) look at the data they are reading/writing to try to be smart. Writing zeroes is the same as writing random bytes. For a good reason: sometimes initializing sectors to contain zeroes *is* important ! -- Damien Le Moal Western Digital Research