zombi 0 Posted January 17 · Report post CF карта имеет параметр "Total number of sectors addressable in LBA Mode". Получил значение этого параметра трёх карт одинакового объёма (16GB) разных производителей. Карта 1 - 0x01E0FD80 Карта 2 - 0x01DD7FB0 Карта 3 - 0x01DC7FC0 Но для 16GB количество секторов по 512 байт должно быть 0x01FFFFFF Почему доступных секторов всегда меньше чем максимальный объём установленных в кате чипа/пов памяти? И почему всегда меньше примерно на 2MB? Quote Ответить с цитированием Share this post Link to post Share on other sites
Gorby 0 Posted January 17 · Report post Место для маппирования битых секторов? Quote Ответить с цитированием Share this post Link to post Share on other sites
zombi 0 Posted January 17 · Report post Понятия не имею. Поэтому и спрашиваю. Если предположить использование одного бита в качестве флага для каждого сектора, то для 16GB таблица должна быть 4MB. Если предположить что физический сектор мс NAND как правило больше чем 512 байт, то тогда да, и даже больше бит на сектор можно использовать. Но действительно ли для маппирования битых секторов резервируется эта область? Quote Ответить с цитированием Share this post Link to post Share on other sites
aaarrr 0 Posted January 17 · Report post 16 * 10^9 / 512 = 1DCD650h Это особые "гигабайты", о чем честно предупреждают на упаковке. Такие же в SSD/HDD. Quote Ответить с цитированием Share this post Link to post Share on other sites
Raven 0 Posted January 17 · Report post Ну, для начала - кол-во секторов должно быть не 0x01FFFFFF (2**25), а что-то порядка 16*(10**9)/512 = 31250000 = 0x01DCD650. Это же известная особенность производителей накопителей - они эти приставки считают в десятичной системе (и как принято в системе единиц СИ), а не так, как сложилось в ранней информатике (1К = 1024). Так что разница невелика, а для первых 2-х карт заявленный объем даже немного больше. Quote Ответить с цитированием Share this post Link to post Share on other sites
zombi 0 Posted January 17 · Report post 12 minutes ago, Raven said: Так что разница невелика, а для первых 2-х карт заявленный объем даже немного больше. Согласен - не велика. А разницу куда девают? Quote Ответить с цитированием Share this post Link to post Share on other sites
aaarrr 0 Posted January 17 · Report post 11 minutes ago, zombi said: А разницу куда девают? Часть изначально непригодна, остальное резервируется под ремап и пул свободных блоков. Quote Ответить с цитированием Share this post Link to post Share on other sites
zombi 0 Posted January 17 · Report post Интересно, а как ремап осуществляется? Quote Ответить с цитированием Share this post Link to post Share on other sites
aaarrr 0 Posted January 17 · Report post 9 minutes ago, zombi said: Интересно, а как ремап осуществляется? А что тут интересного? Накрылся блок - заменили. Quote Ответить с цитированием Share this post Link to post Share on other sites
mantech 0 Posted January 17 · Report post 1 час назад, zombi сказал: Почему доступных секторов всегда меньше чем максимальный объём установленных в кате чипа/пов памяти? Во-первых "гигабайт"-по манагерски - это миллиард байт, а не двойка в степени, во вторых - резервируется место под выравнивание износа и перенос информации из изношенных секторов. Алгоритмы у всех фирм разные и соотв. требуют различного объема памяти... 23 минуты назад, zombi сказал: Интересно, а как ремап осуществляется? Как в жестких дисках, тут же еще добавляются нетривиальные алгоритмы выравнивания износа, из-за которых могут еще и задержки записи "выплывать". Quote Ответить с цитированием Share this post Link to post Share on other sites
zombi 0 Posted January 17 · Report post 14 minutes ago, aaarrr said: А что тут интересного? Накрылся блок - заменили. Мне интересен алгоритм. Что значит "заменили" ? это же не книга в библиотеке... зачитали до дыр - заменили на новую на той же полке в том же шкафу. Quote Ответить с цитированием Share this post Link to post Share on other sites
mantech 0 Posted January 17 · Report post 4 минуты назад, zombi сказал: Что значит "заменили" ? При попытке записи выдается ошибка или счетчик износа больше номинального значения... Quote Ответить с цитированием Share this post Link to post Share on other sites
zombi 0 Posted January 17 · Report post 11 minutes ago, mantech said: Как в жестких дисках А как это в жестких дисках делается я типа должен знать обязательно? Может ссыль на литературу посоветуете? Quote Ответить с цитированием Share this post Link to post Share on other sites
mantech 0 Posted January 17 · Report post 4 минуты назад, zombi сказал: А как это в жестких дисках делается я типа должен знать обязательно? Ну дык это, гугл в помощь http://recov.welkomp.com/stati/slovar/35-chto-takoe-remap-vinchestera.html Quote Ответить с цитированием Share this post Link to post Share on other sites
zombi 0 Posted January 17 · Report post 4 minutes ago, mantech said: При попытке записи выдается ошибка или счетчик износа больше номинального значения... Где хранятся счётчики износа для каждого блока? Какой размер одного счётчика? Сколько всего счётчиков должно быть? 3 minutes ago, mantech said: Ну дык это, гугл в помощь http://recov.welkomp.com/stati/slovar/35-chto-takoe-remap-vinchestera.html По Вашей ссылке никакой полезной информации кроме "В зависимости от производителя HDD алгоритмы ремапа могут отличаться." не нашел.( Quote Ответить с цитированием Share this post Link to post Share on other sites