Я не могу найти достоверную информацию об этом. У меня нет полной спецификации оборудования SD / MMC Card.
Это правда? Мое высокоуровневое приложение не должно быть связано с выравниванием износа при работе с этими картами?
РЕДАКТИРОВАТЬ
Может ли кто-нибудь подтвердить, что выравнивание износа гарантируется спецификацией SD? Я хочу быть уверен, потому что похоже, что большинство производителей делают это, но это не требуется спецификацией.
Ответы:
Я работаю в компании, которая раньше была членом ассоциации SD, мы знакомы со спецификацией 2.0 (SDHC). В спецификации SD-карты НЕТ записи для выравнивания износа. Это полностью зависит от производителя SD, чтобы справиться с этим, если они того пожелают. Мы видели, что некоторые, вероятно, делают, в то время как другие очень не делают (остерегайтесь супер дешевой поддельной карты SD). SDXC, возможно, изменил это, чтобы включить выравнивание износа, но я не уверен в этом. К сожалению, единственный способ показать это - получить официальные спецификации. Вы можете найти его в Интернете, скорее всего, но ассоциация SD действительно хочет, чтобы вы заплатили за это.
В качестве дополнительного примечания: если взять карту объемом 2 ГБ и снова и снова начинать писать, то в среднем около 10 ТБ до того, как карта перестает работать и больше не доступна для записи. Кроме того, SD-карты не сообщат вам, когда данные плохие, то есть не вернут ошибку ввода-вывода, как жесткий диск ПК. Это может не быть проблемой для встроенных проектов, так как 10 ТБ - это МНОГО данных, но это может быть фактором для кого-то.
источник
Это верно! Карты MicroSD содержат флеш-чип NAND, связанный с (ARM) микроконтроллером, заключенным в черный пластик. http://www.bunniestudios.com/blog/?p=898 объясняет.
В конце следующего поста http://www.bunniestudios.com/blog/?p=918 Bunnie утверждает, что интеграция контроллера, вероятно, стоит дешевле, чем предварительное тестирование флэш-памяти.
Цитировать руководство по продукту SD-карты SanDisk: «1.9 Выравнивание износа. Выравнивание износа является неотъемлемой частью функциональности пула стирания SD-карты с использованием памяти NAND». Вы можете прочитать все это в таблице данных для фирменной карты SanDisk .
источник
Да, карты SD / MMC имеют контроллеры, которые выполняют выравнивание. Если они этого не сделали, вы могли бы уничтожить один в считанные минуты с неправильными образцами записи.
Это на самом деле проблема для некоторых встроенных проектов. Совершенно невозможно (очевидно) узнать, какие сектора могут быть выровнены в любой момент, поэтому цикл питания в неподходящее время может уничтожить данные в любом месте карты, где бы вы ни думали, что пишете. (не спрашивайте, откуда я знаю :))
SD-карты должны использоваться с системой, которая гарантирует чистое отключение системы (или, по крайней мере, запись разрешена), иначе может произойти потеря данных.
РЕДАКТИРОВАТЬ
Проблема в том, что процесс выравнивания износа полностью скрыт. ЛЮБОЙ сектор на диске может быть перемещен в любое время (поменялся местами с записанной страницей), и в случае сбоя питания в середине этого процесса случайный сектор может быть поврежден.
Хотя есть достаточно безопасные способы для реализации этого шага, это не в какой-либо спецификации, поэтому вы не можете поверить, что карта сделает это. Вы можете протестировать одну карту, заставить ее работать, тогда производитель может изменить реализацию, не меняя номер детали, и вы облажались.
После тестирования контроллер моей SD-карты НЕ делает это безопасным способом.
Я могу посмотреть на SD-карту «высокой надежности», которую я рекламировал специально для обеспечения устойчивости к сбоям питания ... но тогда вы должны доверять производителю, чтобы сделать это правильно, а я нет. Я действительно хочу прямой контроль над стиранием страниц. Я все еще пытаюсь понять это.
источник
Любой тип SD-карты, использующий любой тип обычной флэш-памяти NAND, должен будет использовать некоторый тип виртуализации секторов, поскольку ни одно обычное флэш-устройство NAND не может поддерживать стирание отдельных 512-байтовых секторов, и ни одно обычное флэш-устройство NAND значительного размера был бы в состоянии привести к производительности, которая была в пределах порядка даже незначительно приемлемой, если бы каждая попытка записи сектора требовала, чтобы устройство скопировало все сектора в блоке стирания этого сектора (даже в ОЗУ), затем стерло блок и записало все сектора назад. Большинство методов виртуализации секторов по своей природе несколько выравнивают износ. Я ожидал бы, что самой большой проблемой различия между качественными устройствами и подделками будет степень, в которой устройство активно пытается выровнять выравнивание между блоками, по сравнению с простым использованием псевдослучайного распределения блоков и надеждой, что это даст приемлемо близкие к однородным результаты. На практике я ожидал бы, что даже случайное распределение / надежда на лучшее было бы адекватным в большинстве случаев.
источник
У Sandisk есть белая бумага, которая объясняет логику выравнивания износа в их карточках, и продолжает давать оценки срока службы карточки в ряде сценариев. Краткое содержание: если вы не бьете карту без остановки, это продлится десятилетия.
источник
Интересно отметить, что, несмотря на это, многие устройства портят карты памяти SD и microSD, особенно карты высокой плотности, если батарея разряжена или телефон выходит из строя / выключается / и т.д. Я подозреваю, что проблема заключается в неадекватном регулировании подачи напряжения, так как это хорошо известно на некоторых картах (кашель Ad t / кашель), что приводит к явлению нечитаемой карты на некоторых внешних считывателях, но отлично работает на микро-разнообразии, предоставляемой некоторыми компьютерные магазины.
Сейчас я нахожусь в процессе восстановления карты с этой ошибкой, как ни странно, большинство данных можно восстановить, но некоторые секторы нет, хотя это меняется при каждой попытке. Может ли быть виновата сама нивелировка износа? (да перепробовал несколько читателей, одна и та же вина!)
источник
Также были успешные «ядерные» карты зомби, то есть те, которые не завершают формат или доступны только для чтения. Работает только на небольшой процент, но они гораздо более чувствительны, чем большинство «официальных» руководств к действию.
Тестовая карта, обработанная таким образом, продолжалась целых четыре месяца, а затем снова выходила из строя, если бы не устройство, которое использовалось для подачи шумового напряжения, срок службы мог бы быть больше.
источник