Re: [ata] : SATA device speed down after multiple power reset.

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

 



On 2/23/23 19:51, Deepak Ukey wrote:
> Hi All,
> 
> I have SATA SSD that I am using for robust device functionality testing.
> I have a setup where SATA SSD is attached to AHCI controller and power 
> to the device is given by power management unit.
> 
> For the particular test I am doing mutliple power on/off to the device,
> it is similar to hot unplugged and plug operation. 
> 
> After the 4th iteration of power off and on to device, device link speed
> is going down to next lower speed, i.e. if device link speed is 6Gbps then
> it will reduce to 3Gbps.
> 
> I tried to debug the issue and found that ata_eh_speed_down function is
> recording the error as ATA_EH_SPDN_SPEED_DOWN and limiting the speed to
> next lower speed. Afterward SSD starts working on the next lower speed.
> 
> So can you please tell me why this specific functionality is added. Also 
> is there any way to recover the speed to max speed so that SSD
> performance should be intact. 

Please send a dmesg output of your test to see what is happening.

The issue is likely that cutting the drive power is may be not handled the same
way as unpluging the drive and replugging it (try to see if you get the same
result or not). If that is the case, then the drive is simply
disappearing/appearing and that is handled as an error. Too many of these and
libata decides to lower the link speed to try to reduce the number of errors. So
your test is probably not entirely identical to plug/unplug. Losing power is an
error. Unplugging is not.

> 
> Thanks & Regards,
> Deepak Ukey
> 
> 

-- 
Damien Le Moal
Western Digital Research




[Index of Archives]     [Linux Filesystems]     [Linux SCSI]     [Linux RAID]     [Git]     [Kernel Newbies]     [Linux Newbie]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Samba]     [Device Mapper]

  Powered by Linux