ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Суббота
4 мая
737089 Топик полностью
Николай Коровин (16.02.2017 22:24, просмотров: 232) ответил ASDFS на Как и куда ОС будет ставить бэд если места для этого бэда в файловой системе просто нет? Ваще не понял, какой еще рид-соломон в FAT. Сдается мне вы попутали драйвер низкого уровня какого нить MFM винта с файловой системой.
Как куда? У FAT32 есть две копии FAT. Там указывается, свободен кластер, занят или убит, там они и отмечаются по мере износа. Если сама копия FAT протёрлась так, что под ней самой бэды появились, записываешь в загрузочный сектор новое смещение и делаешь новые FAT на новом месте. Если убился загрузочный сектор — переписываешь MBR так, чтобы раздел начинался на новом месте, но раньше число не-бэдовых кластеров станет равно нулю. Разумно начинать износ диска с высоких адресов. Это и есть реализация FAT, позволяющая работать с флэшкой напрямую, без «умного» контроллера, который заменяет изношенные ячейки. Это делается средствами FAT. В последний раз я такую реализацию видел где-то примерно на 98-й винде %) Но поскольку реализация FAT опирается на драйвер физического устройства, который-то и должен вернуть данные, записать данные, вернуть «ошибка записи» (на основании которой реализация FAT и выполняет маркировку изношенных кластеров!), этот драйвер и работает с Р-С, у флэшки не просто так странички больше, чем кратное степени 2. Они специально такие, чтобы драйверу/контроллеру износа было куда контрольные биты писать. Но то — драйвер. Его дело — писать, куда сказано, читать, откуда сказано, и если Рид-Соломон забил тревогу, возвращать ошибку, чтобы грамотная реализация FAT это учла и больше туда не лезла. Так оно, в теории, всё может спокойно работать без дополнительного «умного железа», так, что будет видна и деградация (объём уменьшается), и много ещё какой подноготной.