Re: Feature Request: Device Manager Fake Trim / Zero Trim

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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





[Index of Archives]     [DM Crypt]     [Fedora Desktop]     [ATA RAID]     [Fedora Marketing]     [Fedora Packaging]     [Fedora SELinux]     [Yosemite Discussion]     [KDE Users]     [Fedora Docs]

  Powered by Linux