Вот проблема: мое USB-накопитель имеет буфер объемом 64 КБ (ограниченный аппаратно), используемый для кэширования операций чтения/записи, что означает, что оно может кэшировать только до 128 блоков (512 байт) памяти. Команда SCSI Write-10 имеет поле общего количества блоков, которое может содержать до 256 блоков (128 КБ). При первоначальном тестировании продукта в Windows 11 он никогда не записывал более 128 блоков за раз, но при тестировании в Linux он иногда записывает более 128 блоков, что приводит к сбою микроконтроллера.
Это есть ли способ сказать операционной системе хоста не запрашивать более 128 блоков?
Я реализовал страницу ограничения количества блоков VPD, и она хорошо работает в Windows 10/11. Я даже установил ограничение в 64 блока, это нормально! Однако в Linux или MacOS хост не выполняет команду ограничения блоков.
Подробнее здесь: https://stackoverflow.com/questions/787 ... read-comma