RE: [PATCH] scsi: ufs: mark HPB support as BROKEN

Daejun Park
2021-10-28T21:14:25Z

Hi Bart,

>On 10/28/21 1:33 PM, James Bottomley wrote:
>> On Thu, 2021-10-28 at 13:21 -0700, Bart Van Assche wrote:
>> [...]
>>> Hi James,
>>>
>>> The help with trying to find a solution is appreciated.
>>>
>>> One of the software developers who is familiar with HPB explained to
>>> me that READ BUFFER and WRITE BUFFER commands may be received in an
>>> arbitrary order by UFS devices. The UFS HPB spec requires UFS devices
>>> to be able to stash up to 128 such pairs. I'm concerned that leaving
>>> out WRITE BUFFER commands only will break the HPB protocol in a
>>> subtle way.
>>
>> Based on the publicly available information (the hotstorage paper) I
>> don't belive it can. The Samsung guys also appear to confirm that the
>> use of WRITE BUFFER is simply an optimzation for large requests:
>>
>> https://lore.kernel.org/all/20211025051654epcms2p36b259d237eb2b8b885210148118c5d3f@epcms2p3/
>>
>> As did the excerpt from the spec you posted. It will cause slowdowns
>> for reads of > 32kb, because they have to go through the native FTL
>> lookup now, but there shouldn't be any functional change. Unless
>> there's anything else in the proprietary spec that contradicts this?
>
>Are the UFS standards really proprietary? On https://protect2.fireeye.com/v1/url?k=06710f38-59ea363a-06708477-0cc47a312ab0-c90f3c77bf2bad78&q=1&e=f2e21ae2-d0b7-459b-9881-2a4a38b8ec92&u=https%3A%2F%2Fwww.t10.org%2Fpubs.htm
>I found the following: "Approved American National Standards and Technical
>Reports may be purchased from: [ ... ]". And on
>https://protect2.fireeye.com/v1/url?k=0d1654b0-528d6db2-0d17dfff-0cc47a312ab0-21da8440e5f6d771&q=1&e=f2e21ae2-d0b7-459b-9881-2a4a38b8ec92&u=https%3A%2F%2Fwww.jedec.org%2Fdocument_search%3Fsearch_api_views_fulltext%3Dhpb I found
>the following: "Available for purchase: $80.00". It seems to me that SCSI
>and JEDEC standards are available under similar conditions?
>
>Regarding the question about the impact of leaving out WRITE BUFFER
>commands on the HPB protocol, I hope that one of the HPB experts will be so
>kind to answer that question.

If the driver doesn't send WRITE BUFFER commands on the HPB protocol, the
READ which requires pre-request (e.g. >32KB) cannot be HPB READ.

Thanks,
Daejun