Перейти к содержанию
    

CompactFlash и доступный объём ?

CF карта имеет параметр "Total number of sectors addressable in LBA Mode".

Получил значение этого параметра трёх карт одинакового объёма (16GB) разных производителей.

Карта 1 - 0x01E0FD80

Карта 2 - 0x01DD7FB0

Карта 3 - 0x01DC7FC0

Но для 16GB количество секторов по 512 байт должно быть 0x01FFFFFF

Почему доступных секторов всегда меньше чем максимальный объём установленных в кате чипа/пов памяти?

И почему всегда меньше примерно на 2MB?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Понятия не имею. Поэтому и спрашиваю.

Если предположить использование одного бита в качестве флага для каждого сектора, то для 16GB таблица должна быть 4MB.

Если предположить что физический сектор мс NAND как правило больше чем 512 байт, то тогда да, и даже больше бит на сектор можно использовать.

Но действительно ли для маппирования битых секторов резервируется эта область?

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

16 * 10^9 / 512 = 1DCD650h

Это особые "гигабайты", о чем честно предупреждают на упаковке. Такие же в SSD/HDD.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну, для начала - кол-во секторов должно быть не 0x01FFFFFF (2**25), а что-то порядка 16*(10**9)/512 = 31250000 = 0x01DCD650. Это же известная особенность производителей накопителей - они эти приставки считают в десятичной системе (и как принято в системе единиц СИ), а не так, как сложилось в ранней информатике (1К = 1024).

 

Так что разница невелика, а для первых 2-х карт заявленный объем даже немного больше.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

12 minutes ago, Raven said:

Так что разница невелика, а для первых 2-х карт заявленный объем даже немного больше.

Согласен - не велика.

А разницу куда девают?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

11 minutes ago, zombi said:

А разницу куда девают?

Часть изначально непригодна, остальное резервируется под ремап и пул свободных блоков.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

9 minutes ago, zombi said:

Интересно, а как ремап осуществляется?

А что тут интересного? Накрылся блок - заменили.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 час назад, zombi сказал:

Почему доступных секторов всегда меньше чем максимальный объём установленных в кате чипа/пов памяти?

Во-первых "гигабайт"-по манагерски - это миллиард байт, а не двойка в степени, во вторых - резервируется место под выравнивание износа и перенос информации из изношенных секторов. Алгоритмы у всех фирм разные и соотв. требуют различного объема памяти...

23 минуты назад, zombi сказал:

Интересно, а как ремап осуществляется?

Как в жестких дисках, тут же еще добавляются нетривиальные алгоритмы выравнивания износа, из-за которых могут еще и задержки записи "выплывать".

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

14 minutes ago, aaarrr said:

А что тут интересного? Накрылся блок - заменили.

Мне интересен алгоритм. Что значит "заменили" ?

это же не книга в библиотеке... зачитали до дыр - заменили на новую на той же полке в том же шкафу.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

4 минуты назад, zombi сказал:

Что значит "заменили" ?

При попытке записи выдается ошибка или счетчик износа больше номинального значения...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

11 minutes ago, mantech said:

Как в жестких дисках

А как это в жестких дисках делается я типа должен знать обязательно?

Может ссыль на литературу посоветуете?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

4 минуты назад, zombi сказал:

А как это в жестких дисках делается я типа должен знать обязательно?

Ну дык это, гугл в помощь :biggrin:

http://recov.welkomp.com/stati/slovar/35-chto-takoe-remap-vinchestera.html

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

4 minutes ago, mantech said:

При попытке записи выдается ошибка или счетчик износа больше номинального значения...

Где хранятся счётчики износа для каждого блока?

Какой размер одного счётчика?

Сколько всего счётчиков должно быть?

 

3 minutes ago, mantech said:

По Вашей ссылке никакой полезной информации кроме 

"В зависимости от производителя HDD алгоритмы ремапа могут отличаться."

не нашел.(

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...