kernel32ddl 0 28 ноября, 2006 Опубликовано 28 ноября, 2006 · Жалоба Необходимо осуществить проверку на битость секторов USB Flash памяти. Я так понимаю в наборе Mass Storage команд для этого есть команда VERIFY (0x2F), в параметрах которой есть 2 параметра: адрес логического блока (LBA) и количество блоков для проверки. Она должна возвращать ОК в случае удачной проверки секторов и FAILE в противном случае. После того как выполнение данной команды возвращает ошибку, хостом отправляется команда REQUEST_SENSE, в ответ на нее устроство должно возвращать код последней ошибки, т.е. сообщить хосту о том, что по определенному адресу находиться битый блок (я так себе это представляю). В моем устройстве на данный момент в ответ на эту команду всегда отправляется ОК. В спецификации на SCSI команды, я так и не смог найти внятного ответа на данный вопрос. Есть небольшой абзац, в котором написано, что-то вроде "если вы хотите передать список битых секторов вы должны сохранить его в странице списка...", вобщем я ничего из этого не разобраз. Если кто-нибудь занимался данной проблемой подскажите , времени на разбирательство нет - сроки очень поджимают. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kernel32ddl 0 4 декабря, 2006 Опубликовано 4 декабря, 2006 · Жалоба Все-таки решил отказаться от данной команды. Буду делать внутреннюю проверку на битость и потом просто подменять адрес если будет производиться запись в битый сектор, таким образом можно значительно продлить ресурс флэши и не пугать пользователя присутствием битых секторов на "нулевом" устройстве. Из проверенных мною имеющихся флэшек, на 3 256М-байтных была одна битая страница(128 кбайт), 128М-байтных на одной из трех. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться