Согласно этому документу, кажется, что устройства eMMC могут быть переведены в режим «постоянной защиты от записи», либо для всего устройства, либо для ограниченной области, путем программной отправки определенных команд на устройство. По-видимому, как только это будет сделано, эта часть устройства доступна только для чтения, и операция не может быть отменена.

Мои вопросы:

  • Как реализована эта функция?
  • Конечно, если некоторые биты в регистре могут быть установлены командой, тогда также должна быть возможность их сбросить?
  • Неужели невозможно «отменить» эту «постоянную защиту от записи» устройства eMMC?

2 ответа2

2

Общие принципы этого довольно просты, но детали известны только производителю. Нет стандартов, определяющих порядок выполнения внутренних операций, и производитель не обязан предоставлять такие подробности. Предоставляемые детали в лучшем случае ограничены.

Современное запоминающее устройство можно считать "черным ящиком". Что делает устройство, известно, но как именно оно работает, неизвестно. Мы не можем заглянуть в устройство, чтобы определить, как оно работает. Все, что мы знаем, - это то, что производитель хочет сказать нам.

Назначение устройства eMMC - хранить данные. Были предоставлены команды для чтения и записи блоков данных и ряда других вещей. Важно понимать, что ничто из того, что происходит в устройстве, не может контролироваться или даже подвергаться влиянию, если не были предоставлены некоторые средства для этого. Такие устройства обычно предоставляют возможность временно сделать устройство только для чтения. Устройство также может предоставлять постоянную опцию только для чтения. Его можно активировать, отправив устройству команду, или он может быть установлен внутренним процессором. Вероятно, существует некоторый внутренний регистр, содержащий эту информацию. Но это не напрямую контролируется извне устройства. Только с помощью предоставленной команды она может быть активирована.

Сделать настройку постоянной не может быть проще. Никакого дополнительного оборудования или программного обеспечения не требуется. Все, что нужно сделать, это не предоставить команду для сброса режима только для чтения. Существует команда, которая может называться "Установить режим только для чтения". Нет соответствующей команды для сброса режима.

1

Примечание: это предположение, но это возможный метод.

Каждая ячейка флэш-памяти будет иметь линию данных "стирания", которая управляет набором схем, предназначенных для стирания блока. Эта линия данных обычно не должна потреблять большой ток, поэтому ее можно сделать относительно тонкой. Делая его тонким в одном конкретном месте, можно создать плавкий предохранитель.

Преднамеренное получение слишком большого тока из этой линии может "перегореть" предохранитель, что сделает контрольную линию бесполезной для ее первоначальной цели. Это приведет к удалению строки стирания и сделает блок постоянно нестираемым, эффективно доступным только для чтения.

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

Перегореть этот предохранитель было бы невозможно отремонтировать, так как он встроен в блок кремния. Нет возможности добраться до кремниевых следов без непоправимого повреждения устройства в целом.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .