Замена микросхемы памяти флешки
Сегодня мы поговорим о том, как отремонтировать USB-флеш-накопитель своими руками.
Наша подопытная флэшка вышла из строя через день после покупки в магазине. Попытаемся разобраться во всем самостоятельно и обойтись без гарантийных ремонтов. Для начала нужно знать, из чего сделан сам USB-флеш-накопитель. Он состоит из следующих основных частей:
- площадки для микросхемы памяти
- светодиода (показывает активность работы флэшки)
- кварцевого резонатора (создает начальную тактовую частоту контроллера)
Диагностика USB-флеш-накопителя стартует с простого внешнего осмотра изделия. Задача - найти механические дефекты. Если дефекты не найдены перейдем к следующему этапу диагностических процедур, для этого мы используем простой мультиметр. С его помощью мы будем прозванивать сигнальные линии дата-плюс (D+) и соответственно, дата-минус (D-). Звучит сложно? Это проще чем кажется! Для этого установим красный щуп на землю (линия GND). Черный поочередно ставим на контакты дата-минус, затем на дата-плюс. Тестер у нас должен стоять в режиме диодной прозвонки. Измеряем таким образом значения по контакту дата-минус (D-). Затем показания по дата-плюс (D+). Если показания обнаружены в одном диапазоне, то значит контроллер рабочий. Из этого следует то, что обрыва между нашим разъемом и контроллером нет.
Дальнейший шаг диагностики состоит из определения уровня напряжения на самом флэш контроллере. Прежде всего требуется удостовериться в том, что по линии питания самого контроллера ничего не коротнуло. Выяснить это просто - нужно выставить тестер в мод измерения сопротивления. Затем просто устанавливаем черный щуп на землю, а красный на линию +5 вольт и измеряем. Смотрим - что на экране тестера? Если тестер показывает мега Омы, соответственно, короткого замыкания нет.
Теперь нужно замерить главное питание дефектной флэшки, а точнее - самого контроллера USB-флеш-накопителя. Чтобы сделать это нужно подсоединить разобранную флэшку в рабочий USB порт. Если никакой активности нет, то выставляем мультиметр в режим измерения уровня напряжения и узнаем приходит ли на USB порт необходимые 5 вольт. Для этого нужно установить черный щуп на землю (линия GND), а красный на линию +5 вольт. Если тестер показывает необходимые 5 вольт на нашем разъеме USB, то с портом все в порядке. Далее просто смотрим, куда идет линия +5 вольт на схеме флэш-карты . Тут всё просто - обычно она идет на контакт резистора. Соответственно, измеряем напряжение и там.
Именно через данный резистор запитывается наш бедолага-контроллер. Медленно и аккуратно устанавливаем красный щуп тестера на вторую ножку нашего резистора, черный щуп установлен на земле (GND). Если напряжение здесь снижено, то значит и проблема найдена. В таком случае могут иметь место два варианта. Первый - сопротивление контролера ниже номинала, соответственно, получается закономерная просадка питания. Второй вариант - номинал подопытного резистора отличен от того, который принят за эталон.
Нас интересует вышеозначенный резистор. Конкретнее то, что на входе у него должно иметься 5 вольт. Проверяем, что есть на выходе - если просадка обнаружена именно там, то нужно будет поискать другой резистор с идентичными характеристиками. Облегчило нам работу то, что на нашей подопытной флэшке на корпусе резистора присутствует маркировка - 1R1. Что это нам дает? Это просто означает, что номинал данного резистора будет составлять значение 1.1 Ома. Чтобы правильно диагностировать этот резистор лучше всего просто выпаять его, а затем померить его сопротивление в выпаянном виде.
Мы не будем работать так - это долго. Мы попробуем сделать все работы быстро и качественно. Для этого попробуем замерить уровень сопротивления непосредственно в нашей плате. Это просто - для этого снова нам понадобится тестер. Берем и устанавливаем его в мод измерения сопротивления. Далее - берем щупы и ставим их непосредственно на выводы резистора. В нашем случае тестер показывает сопротивление 24.18 кОм. Это однозначно превышает значение 1.1 Ома. Таким образом, есть вероятность, что можно обойтись только заменой резистора.
Бывают ситуации когда контроллер обладает заниженным сопротивлением питания изначально - в таких случаях резистор перегорает уже не самостоятельно. Легче всего проверить такое положение дел заменив дефектный резистор на любой другой, но только если он обладает идентичным номиналом. Смотрим далее. Если он не сгорает и флэшка ожила, то значит проблема была именно в браке резистора. Существуют и более интересные способы проверки работоспособности. Расскажу об одном из них, но он достаточно опасный. Запитаем флэшку и закоротим резистор путем применения пинцета - теперь 5 вольт подадутся непосредственно на сам контроллер. Если флэшка ожила и светодиод загорелся, то значит контроллер у нас однозначно рабочий.
Далее. USB-флеш-накопитель можно восстановить лишь заменив дефектный резистор. Приступим. Находим на видеокарте-доноре резистор идентичного номинала - 1.1 Ом. Нужно выпаять его с помощью простого паяльника. Греем корпус нашего резистора и сдвигаем его в сторону. Далее при помощи свинцового припоя тщательно пролудим контакты выпаянного резистора. Таким образом мы снизим температуру плавления припоя. Это понадобится при впаивании этого резистора на флэш-карту.
Теперь следующим шагом будет замена дефектного резистора. Для более удобной работы лучше зафиксировать флэшку в струбцинку. Берем паяльник и демонтируем дефектный резистор нагревая паяльником его корпус. Затем нужно облудить свинцовым припоем контактные площадки под резистор на плате флэшки. Чтобы новый резистор правильно встал на место с помощью оплетки убираем лишние части припоя с контактных площадок. Получилось? Значит идем дальше - инсталлируем новый резистор на законное место и припаиваем сначала первый, а затем второй контакт резистора. Если жало паяльника слишком объемное для столь изысканной работы делаем всё очень аккуратно и медленно. Но еще лучше найти подходящий маломощный паяльник с небольшим жалом.
Нередко при анализе встроенной системы происходят преднамеренные, а иногда и нет, изменения, которые приводят к тому, что целевая система выходит из строя и впадает в так называемое состояние «кирпича». В некоторых случаях для ее реанимации достаточно выполнить сброс к заводским настройкам, в иных же приходится прошивать систему при помощи интерфейса отладки (JTAG/SWD/*) или вручную через внешнее устройство памяти (SPI/NOR/Nand/eMMC). В данной статье мы рассмотрим весьма креативный метод «раскирпичивания» системы после подобного сбоя.
Как-то в свободное время я возился с памятью маршрутизатора, где в качестве загрузчика использовалась прошивка CFE (Common Software Environment). В ходе моего взаимодействия с CFE в попытке определить аргументы, передаваемые при загрузке в ОС устройства, конфигурация системы была случайно повреждена:
В тот момент я понял, что для сохранения этих случайных изменений осталось выполнить заключительную операцию сохранения/записи, поэтому решил просто физически перезапустить устройство, чтобы избежать внесения изменений. После перезапуска возникла ошибка:
Когда маршрутизатор снова заработал, то тут же выдал вышеприведенную ошибку и в CFE не вошел. Без возможности обратиться к загрузчику конфигурацию изменить было нельзя, а процесс его восстановления тоже не представлялся возможным. Онлайн-поиск решения по этой ошибке ничем не помог и привел в тупик. Единственным выводом было, что при повреждении CFE подобным образом устройство впадает в состояние «кирпича». Тогда я переключился на работу с резервным девайсом, чтобы получить ответ на изначальный вопрос по интересовавшим меня аргументам. К слову говоря, установка kernp mfg_nvram_mode=1 mfg_nvram_url=BADURL была особенно интересна.
Позже я вернулся к своему «кирпичу», чтобы найти способ его восстановления. В нем используется Broadcom SoC, и, как выяснилось, доступ к JTAG обеспечивается через нераспаянные контакты на плате:
После перебора контактов JTAG с помощью JTagulator мне удалось подключиться, используя OpenOCD.
Другой способ восстановления системы реализуется через флеш-память, а именно микросхему Macronix NAND:
И здесь я задумался. У меня ведь есть рабочее устройство, на котором я вполне могу запустить загрузчик. А что, если при этом попробовать заменить его рабочий чип NAND на поврежденный, чтобы перепрошить?
Прежде, чем что-либо пробовать, я спросил коллегу, что он думает по поводу столь дурацкой идеи. Оптимистичных прогнозов он не дал, да и я, честно говоря, на них не особо рассчитывал. В итоге мы заключили небольшое пари по результату моего эксперимента, и я вернулся к работе.
Первым делом предстояло выяснить, переживет ли система удаление NAND в работающем состоянии? Я понимал, что для ответа на этот вопрос мне потребуется более методический подход, нежели просто «обдать работающее устройство горячим воздухом и извлечь микросхему». Для начала нужно было выяснить, как NAND запитана. Судя по схеме, Vcc подключены к микросхеме в следующих местах:
Определив дорожки подключения Vcc, проще всего ответить на основной вопрос можно было отключив их от NAND при работающей системе. Чтобы это сделать, изначально я попробовал отсечь эти дорожки и добавить проводные перемычки (рекомендую 36 AWG Magnet Wire), которые можно будет разъединить после запуска загрузчика:
С правой стороны я отсек трассу питания подальше, решив, что это место будет более удачным, поскольку от него запитывается несколько контактов NAND. При установке первой перемычки трассу я отсек небольшим ножом и зачистил покрытие абразивным карандашом:
Получилось так себе, потому что карандаш оказался великоват, и в итоге я оголил чересчур большой участок. Лучше использовать остроконечный нож, чтобы не натворить бардак и получить что-то подобное:
Припаяв и соединив провода, я запустил маршрутизатор и, дождавшись старта загрузчика (CFE), с помощью команды dn (dump nand) убедился в доступности NAND, затем обесточил микросхему, разъединив провода.
После отключения питания (отмечено как Vcc removed ), устройство перезагрузилось и не смогло запустить загрузчик, так как NAND была недоступна. Проблема оказалась в том, что точка отсечения питания справа отключала его подачу не только на NAND, но и на SoC. Чтобы не усложнять, я просто восстановил этот отрезок и проделал всю ту же процедуру с установкой перемычки в точке ближе к NAND:
Вернув систему в строй и повторив предыдущий тест, я получил ответ на изначальный вопрос: когда питание отключается разъединением проводов перемычки, система продолжает работать, что подтверждается командой dn :
После того, как я убедился в возможности отключения NAND на работающей системе без влияния на загрузчик, очередным шагом было попробовать физически извлечь отключенную NAND из платы.
Прогрев микросхему горячим воздухом, я поочередно приподнял пинцетом сначала правую, а затем левую стороны:
В результате этого процесса система перезапустилась и провалила попытку войти в загрузчик:
Так как стороны микросхемы при ее отсоединении я поднимал поочередно, посматривая при этом в консоль, то стало очевидно, что перезагрузка произошла при подъеме именно левой стороны:
Затем я снова поочередно извлек правую-левую стороны микросхемы, поглядывая в консоль загрузчика:
На этот раз он остался активен, и система в перезагрузку не ушла. Закончив очередной этап головоломки, я перешел к следующему – установке поврежденной NAND в работающее устройство.
Для припаивания NAND снова использовался горячий воздух. Первая попытка оказалась безуспешной, так как некоторые контакты замкнуло при моей попытке выровнять чип по обеим сторонам. На этом этапе ввиду сбоя в очередной раз пришлось ставить обратно рабочую NAND.
Во второй попытке я уже использовал небольшой листок бумаги для изолирования одной стороны NAND на время выравнивания и закрепления другой:
Тест чтения завершился успешно, и через веб-интерфейс загрузчика я прошил микросхему заводским образом:
Как видно из вывода, прошивка прошла успешно, и система загрузила ОС устройства.
И все же считаю, что здесь будет уместна цитата персонажа из к/ф «Парк Юрского периода», которого играл Джефф Голдблюм:
История данного обзора началась после того как знакомый мне дал повертеть в руках умерший SSD накопитель. Умер он «по питанию» ибо после включения начинал моментально греется до 50 градусов. SSD производства Intel и объемом 120 Гб.
Я конечно разобрал его и увидел 8 чипов NAND памяти по 16 Гб, вот тут и загорелось одно место.
Я уже давно заказал заготовки для приготовления USB флешек, но все никак не попадалась память большого объема, выпаянные чипы на 128 — 512 Мб того явно не стоили. И вот когда все переменные встретились в одном месте, возле моей паяльной станции — Я приступил к работе.
Для начала нужно заказать «KIT USB flash pcb» на Aliexpress есть, но очень дорого и явно не целесообразно. Поэтому заказал на Таобао, разница в цене почти 15 раз! Заказ пришел давно и представлял из себя 2 стандартные платки для USB флэш памяти, на которых собственно самой памяти и нет. Китайцы кстати продают и корпуса для флешек, это явно бизнес по «гаражному» сбору флэш памяти из б\у комплектующих.
На платах распаян контроллер CBM2098E. Даташит в сети есть, но толку с него мало да и не понадобится он.
Дальше Я выпаял один чип NAND памяти и припаял на USB «заготовку»
После запайки чипа на плате, строго рекомендую просмотреть лупой все ножки на «не пропай» и «сопли» чтобы нигде ничего не замыкало. А также дополнительно пройтись по ножкам тонким жалом по, заранее покрытым флюсом, ножкам чипа, чтобы наверняка исключить не пропай.
После того как все спаяно рекомендую для начала флэшку подключить к любому зарядному устройству или лабораторному блоку питания, дабы не спалить порты USB на компьютере.
Теперь нужно сделать самое главное — прошить нашу флэшку. Для этого мне понадобилась программа UMPTool V6008 Она разработана производителем контроллера Chipsbank CBM2098. Заметьте если у вас будет другой контроллер то и программа понадобится другая. У каждого производителя и даже для каждой отдельно взятой линейки контроллеров идет свой софт.
После скачивания и распаковки у нас появилась папка в которой содержится файл UmpToolV6A32.exe, запускаем его от администратора. Для начала нажимаем кнопочку «Settings». В открывшемся окне во вкладке «Optimize1» выбираем «Stable priority», после этого нажимаем ОК. Сделали мы это для того, чтоб программа лучше просканировала NAND память на предмет поврежденных ячеек.
Теперь подключаем флэшку к компьютеру. Программа должна сразу определить наше устройство.
Нажимаем кнопочку «All Start» и наслаждаемся процессом около 2 часов.
После окончания флэшка будет иметь такой статус
После всего выше сделанного наше устройство полностью готово к работе и собственно уже работает.
От себя добавлю, что сейчас уже достаточно много дешевых USB заготовок наIS917 контроллере, с поддержкой USB 3.0. А в качестве доноров NAND памяти могут служить вышедшие из строя планшеты, смартфоны и любые устройства со встроенным накопителем. Так же есть подобные заготовки для EMC памяти.
Здесь короткое видео со всей вышеописанной процедурой.
Буду благодарен за подписку на канал! Спасибо!
Был у меня МР3 плеер Тranscend T.Sonic 520 / 512 Мb и было ему уже пару лет, слушал я его временами по дороге на работу и обратно с нормальными ушами он довольно прилично звучал, лучше всех слышанных мной мобильных телефонов поэтому до сих пор он и был, и так почему был ;-), да потому что он теперь уже стал T.Sonic 520 на 1 Gb .
Дело было так, была у меня еще USB – флешка тоже Тranscend объемом 1 Gb пережившая три или четыре стирки вместе с джинсами , но ее объема стало катастрофически не хватать да и объема плеера еще с нового не хватало, решил была не была, рискну перепаять микросхему памяти с USB – флешки в плеер, если замучу до смерти то хоть будет повод купить новую флешку и плеер или оба варианта в одном корпусе.
И так подопытные кролики:
- Тranscend T.Sonic 520 / 512 Мb;
- Бедная и замученная флешка ;
Вскрытие показало, что в плеере установлена микросхема флэш-памяти фирмы Samsung с маркировкой K9F4G08U0M, по даташиту на данную микросхему она есть 512М x 8 Bit NAND Flash Memory.
В USB – флешке имелась микросхема флэш-памяти тоже фирмы Samsung и из той же серии только в двое большего объема K9G8G08U0M - 1G x 8 Bit NAND Flash Memory. Ну как бы все должно было пройти довольно гладко, микросхемы имеют одинаковую архитектуру.
Были выпаяны обе микросхемы, и впаяна в плеер микросхема K9G8G08U0M объмом 1G, я предполагал что с ней плеер должен нормально заработать но будет видеть только 512 Мб.
Когда плеер был собран настал черед флешки, была впаяна в нее микросхема с плеера, но она не захотела определятся, все ясно процессор флешки немного не понимает микросхему флэш-памяти, идем на сайт Тranscend, находим тех поддержку по данной модели USB-флешки, но тут облом прошивок для флеш-драйвов нету совсем, облом однако .
Но в разделе прошивок под T.Sonic 520, я видел еще одну прошивочку TS2GMP520C, это была прошивка для плееров с объемом 2 G. На следующий день была куплена новая USB-флешка, и тоже фирмы Тranscend, это была JetFlash V35, почему она? Да потому что у нее был прозрачный корпус и было видно, что там установлена микросхема флэш-памяти тоже фирмы Samsung и тоже из той же серии что и две предвидящие.
Были проделаны аналогичные манипуляции и с этим агрегатом.
В ней была установлена микросхема флэш-памяти K9GAG08UOM - 2G x 8 Bit NAND Flash Memory. После этого она была впаяна в плеер, скачана прошивка для плееров с объемом 2 G. Уверенным движением руки зажимаю кнопку «-» на плеере, втыкаю, жму, чета делается но это чета не то, как-то сильно быстро он перешился, включаю плеер - и наблюдаю Болт, пропаиваю все контакты еще раз, вымываю, все равно Болт . Запаиваю назад микросхему на 1 G, все отлично работает, запаиваю назад в USB-флешку микросхему на 2 G, тоже отлично работает. Видать не судьба. Наварное в плеерах с объемом 2 G другая ревизия платы или процессор другой, потому что на сайте было обнаружено две прошивки для 1 G, TS1GMP520 и TS1GMP520C, думаю они просто так их не разделяли, прошивка на 2 G, тоже была с индексом «С».
Несколько советов по поводу пайки микросхем в корпусе TSOP, пайка оказалась довольно простой , достаточно набрать на жало паяльника побольше припоя и прогреть все выводы с одной стороны таким образом чтобы они были полностью залиты припоем при этом чем то острым легонько приподымаем этот край микросхемы, аналогично отпаиваем второй край микросхемы, потом ложем микросхему на лист бумаги выводами к бумаге, легким но резким движением руки убираем с паяльника лишнее олово, не жалея флюса поливаем выводи микросхемы, потом достаточно просто провести по ногам паяльником, они остаются чистыми и красивыми, аналогичные действия проводим с контактными площадками микросхемы на плате.
ЗЫ:Таким образом я имею USB-флешку на 2 Га и плеер на 1 Га. Так что те кто имеет приличный МР3-плеер но с небольшим объемом памяти, можете рискнуть и повторить мои действия, но для начала убедитесь что под ваш плеер есть нужные прошивки, и они подходят к вашему девайсу.
ЗЗЫ: Все что вы делаете с вашим железом это ваши проблемы и я ни в чем не виноват .
Читайте также: