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