- Замена, прошивка микросхемы NAND FLASH на iPhone. Увеличение памяти iPhone.
- Неофициальное расширение памяти iPhone или Китайская победа над Американским маркетингом
- Что говорит о неисправности NAND
- 1.7. Управление плохими блоками
- 1.1. Отличие микросхем NAND FLASH от обычных микросхем
- CОДЕРЖАНИЕ:
- 1.3. Организация микросхем NAND FLASH
- 1.4. Способы использования запасной области страницы
- 1.2. Разновидности микросхем NAND FLASH
- 1.6. Заводская маркировка плохих блоков
- 2.1. Сканирование плохих блоков микросхемы NAND
Замена, прошивка микросхемы NAND FLASH на iPhone. Увеличение памяти iPhone.
Замена NAND iPhone бывает необходима в нескольких случаях. Кто-то желает просто увеличить запас памяти аппарата, а другие прибегают к услуге вынужденно. Что же это может быть? Ремонт требуется при повреждении NAND, и при этом проблема решается двумя основными способами:
- Менее дорогостоящий ремонт флеш памяти.
- Относительно дорогостоящая замена материнской платы.
Починка НАНД без замены материнской платы позволяет сэкономить денежные средства. Кроме того, пользователь может попросить специалиста об установке более объемного flash накопителя. И еще в некоторых случаях появляется рабочая ситуация, когда нужной разновидности материнской платы просто не оказывается в наличии, тогда как проблем с микросхемами памяти подобного рода не возникает никогда. Появляется другой вопрос: насколько окажется эффективной такая починка? В нашем сервисном центре квалифицированные мастера выполняют замену уже не один год, так что работа осуществляется на самом высоком профессиональном уровне, причем на любые услуги дается гарантия.
Неофициальное расширение памяти iPhone или Китайская победа над Американским маркетингом
Давным-давно, когда iPhone в России стоил дорого, многие покупали залоченные на AT&T айфоны с ибей, используя прокси-сим (гевейку) для анлока. В это время начался переход на iPhone 4, где способ с повышением модема до iPad’овского (06.15.00) не работал, последним софтовым анлоком был 01.59.00 (iOS 4.0), а обновление BaseBand требовало покупки новой гевейки. Вплоть до iOS 5.0, где новый модем 04.11.08 превратил множество устройств в iPod. Именно с этого момента расцвел этот удивительный китайский бизнес. Под катом небольшая история от 2011 до наших дней с картинками. Впрочем, залоченные «огрызки» покупали во всем мире, ввиду того, что Apple не продавала официально-разлоченные устройства в первые дни продаж, вынуждая оформлять устройство в контракт. Да и география продаж первой волны покрывала не так уж много стран и новинка могла дойти гораздо дольше посылки из США. Изначально это была услуга по замене микросхемы модема и флеш памяти модема на новую, после чего записывался новый IMEI, затем менялся серийный номер в микросхеме устройства. Услуга стоила 150$.
На заводе Foxconn, где собирают яблочную продукцию, используются специальные диагностические прошивки. Я уже говорил о них тут, а также готовлю продолжение.
На фото отладочный bootchain для iPhone 4
Вызывается она из recovery (iboot) при помощи команды diags. После ее исполнения экран устройства становится пурпурным. Но если ввести специальную команду, можно вывести данное меню.
Сам кабель для iPhone 5+ Общение с программой diags происходит только через serial порт, который присутствует в 30 и 8 пиновых разъемах. Существует внушительный список ее команд
Еще в 2013 году появилась функция Activation Lock, позволяющая превратить устройство в «кирпич», до тех пор, пока не введен AppleID и пароль хозяина устройства. Данный способ начался применяться для разблокировки оных (ведь смена IMEI+SN гарантировано снимало блокировку), однако, прибыль с продаж iPhone 4 упала ввиду морального устаревания аппарата. От отчаяния начали появляться способы аппаратного «анлока» ipad, позволяющая установить на модель cellular прошивку от wifi версии, таким образом избегая блокировки. В то время активно велись опыты по записи пустых «болванок» с новым серийным номером для разблокировки ipad wifi и ipod touch.
Китайцы начали разрабатывать это еще в 2012 году, однако, завершить удалось только сейчас. Сотрудник Foxconn проносит материнскую плату iPhone 6 на завод и прошивает диагностическую прошивку. В разрыв между NAND и платой ставится «каретка», позволяющая осуществлять горячее переключение bga NAND микросхемы. Происходит это так: устанавливается nand с прошивкой, затем через dev bootchain загружается программа diags в озу, после чего происходит горячая смена микросхемы и производится изменение серийного номера на заданный. Само устройство выглядит так:
Купить их можно даже на алиэкспрессе, как и «болванки» NAND. Таким хитрым образом удается увеличивать память до 128 и даже до 256 гб (правда один чип обойдется в 800 юаней и продается в ограниченных количествах) На последок видео сего процесса:
Впрочем, история еще не закончилась. Она происходит прямо сейчас, но ввиду экономических проблем в РФ, этот бизнес пока не прижился. К слову, оборудование стоит
$800, что в пересчете по курсу «курильщика» — 64к рублей + болванки памяти.
Что говорит о неисправности NAND
Неисправность у iPhone NAND памяти проявляется определенными признаками, которые достаточно быстро устанавливаются вне зависимости от предшествующих возникновению с памятью смартфона проблем. Если пользователь обнаружил любой из ниже перечисленных симптомов, значит, пришло время обратиться в специализированную мастерскую для более детального уточнения причин неисправности и квалифицированного ремонта.
Итак, flash бывает неисправна, когда:
- аппарат не включается и перезагружается самопроизвольно;
- происходит перезагрузка в постоянном режиме с интервалами в 3-5 минут;
- при включении устройство зависает на «яблочке»;
- ошибка 4013 при попытке восстановить в iTunes iOS.
- Надо заметить, что данная симптоматика нередко появляется после удара или падения устройства.
Нечто похожее случается и при попытке выполнить Jailbreak или обновить iOS. Таким образом, до осмотра мастером вряд ли стоит делать преждевременные выводы о возможных неисправностях и предпринимать попытки самостоятельного ремонта. Самый оптимальный вариант – обратиться в ЭтоСервис, где быстро и качественно проведут диагностику и предложат конкретные ремонтные процедуры.
1.7. Управление плохими блоками
Разработчики NAND микросхем предлагают использовать следующие схемы управления плохими блоками:
- Пропуск плохих блоков
- Использование запасной области
Также к методам управления плохими блоками иногда относят использование коррекции ошибок (ECC). Необходимо отметить, что использование коррекции одиночных ошибок не избавляет от множественных ошибок и все равно вынуждает использовать одну из приведенных выше схем. Кроме этого, большинство NAND микросхем имеют гарантировано бессбойную область, в которой не появляются плохие блоки. Бессбойная область, как правило, располагается в начале микросхемы.
Указанные методы управления плохими блоками хорошо описаны в технической документации производителей NAND и широко обсуждены в литературе по использованию NAND. Однако коротко напомним их суть:
Пропуск плохих блоков: Если текущий блок оказался сбойным он пропускается и информация пишется в следующий свободный блок. Эта схема универсальна, проста в реализации, однако несколько проблематична для случаев, когда плохие блоки появляются в процессе эксплуатации. Для полноценной работы этой схемы логический номер блока должен хранится внутри блока (стандарт назначения запасной области от Самсунг, собственно это и предполагает). При работе по этой схеме контроллер должен где-то хранить таблицу соответствия логических номеров блоков их физическим номерам иначе доступ к памяти будет сильно замедлен.
Поэтому логическим развитием является схема использования запасной области: По этому методу весь объем памяти разбивается на две части: основная и резервная. При появлении сбойного блока в основной памяти он заменяется блоком из запасной памяти, а в таблице переназначения блоков делается соответствующая запись. Таблица переназначения хранится или в гарантировано бессбойном блоке или в нескольких экземплярах. Формат таблицы разный, хранится она в разных местах. Опять таки Самсунг описывает стандарт на формат и расположение таблицы, но ему мало кто следует.
1.1. Отличие микросхем NAND FLASH от обычных микросхем
Если не вникать в тонкости технологий, то отличие микросхем NAND от других микросхем памяти заключается в следующем:
- Микросхемы NAND имеют очень большой объем.
- Правильно записанная микросхема NAND может давать единичные ошибки при последующем чтении.
- Микросхемы NAND могут иметь плохие (сбойные) блоки.
- Размер страницы записи не является степенью 2.
- Запись в микросхему осуществляется только страницами, стирание — минимум блоками.
Есть еще несколько отличий, но первые три особенности являются ключевыми. Больше всего проблем доставляет наличие ошибок и плохих блоков.
CОДЕРЖАНИЕ:
1.1. Отличие микросхем NAND FLASH от обычных микросхем 1.2. Разновидности микросхем NAND FLASH 1.3. Организация микросхем NAND FLASH 1.4. Способы использования запасной области страницы 1.5. Образ NAND и двоичный образ 1.6. Заводская маркировка плохих блоков 1.7. Управление плохими блоками
2.1. Сканирование плохих блоков микросхемы NAND 2.2. Плохие блоки в образе NAND 2.3. Стирание NAND 2.4. Тестирование микросхемы на отсутствие записи 2.5. Запись готового образа в микросхему Способ 1: игнорирование плохих блоков Способ 2: обход плохих блоков Способ 3: пропуск плохих блоков Способ 4: запись только гарантированно бессбойной области Другие способы управления плохими блоками Использование кодов, исправляющих ошибки (ECC)
2.6. Преобразование двоичного образа в образ NAND 2.7. Совместимость с образами NAND, считанными другими программаторами
1.3. Организация микросхем NAND FLASH
Более подробно об организации и структуре микросхем NAND можно прочитать в специальной литературе, мы же отметим, что:
- Микросхемы NAND организованы в страницы (pages), страницы в блоки (bloks), блоки в логические модули (lun).
- Размер страницы NAND не кратен степени 2.
- Страница состоит из основной и запасной (spare) областей.
По замыслу разработчиков NAND в основной области должны находятся сами данные, а в запасной (резервной) области — маркеры плохих блоков, контрольные суммы основной области, прочая служебная информация.
Если говорят о размере страницы микросхемы NAND 512 байт или 2К байт, то речь идет о размере основной области страницы, без учета запасной.
Типичные размеры страниц NAND (в байтах):
Название | Размер основной области | Размер запасной области | Общий размер страницы | Пример микросхемы |
Маленькие страницы | 256 | 8 | 264 | Samsung K9F1608W |
512 | 16 | 528 | Toshiba TC58DVG02A | |
Большие страницы | 2048 | 64 | 2112 | Samsung K9F1G08U0B |
4096 | 218 | 4314 | Samsung K9GAG08U0D |
1.4. Способы использования запасной области страницы
Еще раз напомним, что по замыслу разработчиков NAND микросхем в запасной области должны находится: маркеры плохих блоков, контрольные суммы основной области данных, прочая служебная информация.
Большинство разработчиков описывает только место расположения маркеров плохих блоков в поставляемых микросхемах. По остальным аспектам использования запасной области даются общие рекомендации и алгоритм вычисления ЕСС, обычно по Хэмингу. Samsung идут несколько дальше, разработав рекомендации с названием «Запасная область флэш-памяти NAND. Стандарт назначения» («NAND Flash Spare Area. Assignment Standard», 27. April. 2005, Memory Division, Samsung Electronics Co., Ltd).
Итак, этот стандарт предполагает следующее использование запасной области:
Использование запасной области для микросхем с размером страницы 512+16 байт:
Смещение (байт) | Размер (байт) | Назначение | Описание |
0 | 3 | LSN | Логический номер сектора |
3 | 2 | RESERVED | Зарезервировано |
5 | 1 | BI | Маркер плохого блока |
6 | 3 | ECC | ECC код для основной области страницы |
9 | 2 | S-ECC | ECC код для логического номера сектора |
11 | 5 | RESERVED | Зарезервировано |
Для микросхем с размером страницы 2048+64 байт основная и запасная область страницы разбивается на 4 фрагмента (сектора) каждая:
Область | Размер (байт) | Фрагмент |
Основная | 512 | Сектор 1 |
512 | Сектор 2 | |
512 | Сектор 3 | |
512 | Сектор 4 | |
Запасная | 16 | Сектор 1 |
16 | Сектор 2 | |
16 | Сектор 3 | |
16 | Сектор 4 |
Каждому фрагменту их основной области ставится в соответствие фрагмент запасной области.
Использование запасной области (для каждого из четырех фрагментов) у микросхем с размером страницы 2048+64 байт:
Смещение (байт) | Размер (байт) | Назначение | Описание |
0 | 1 | BI | Маркер плохого блока |
1 | 1 | RESERVED | Зарезервировано |
2 | 3 | LSN | Логический номер сектора |
5 | 1 | RESERVED | Зарезервировано для номера сектора |
6 | 5 | RESERVED | Зарезервировано |
8 | 3 | ECC | ECC код для основной области страницы |
11 | 2 | S-ECC | ECC код для логического номера сектора |
13 | 3 | RESERVED | Зарезервировано |
Но это не единственный «стандарт» для распределения памяти страниц, только нам известны их несколько десятков, например:
- «NAND FLASH management under WinCE 5.0«, NXP;
- «Bad Block Management for NAND Flash using NX2LP«, December 15, 2006, Cypress Semiconductor;
- «OLPC NAND Bad Block Management«, OLPC.
1.2. Разновидности микросхем NAND FLASH
Первоначально NAND FLASH были только одного типа: обычные (RAW) NAND. И на сегодняшний день эти микросхемы составляют большинство микросхем типа NAND. Однако производители микросхем, быстро начали расширять возможности применения NAND. Это стало приводить к появлению новых разновидностей NAND. Наиболее распространенные на сегодня разновидности NAND и их основные отличия сведены в таблицу:
Класс микросхем NAND | Интерфейс | Исправление ошибок (ECC) | Управление плохими блоками |
RAW NAND (обычные NAND) | Паралельный / NAND | Выполняет внешнее устройство | Выполняет внешнее устройство |
beNAND | Реализовано внутри микросхемы (*) | ||
Serial NAND / SPI NAND | SPI | ||
OneNAND | Паралельный / FLASH | ||
eMMC | MMC | Реализовано внутри микросхемы |
Примечание: * У некоторых видов микросхем внутренее исправление ошибок может быть отключено.
Основное отличие разных видов микросхем NAND сводится к различиям в трех факторах:
- Физический интерфейс и система команд
- Кто занимается генерацией кодов исправления ошибок: внешнее устройство (host) или сама микросхема
- Кто должен управлять плохими блоками: внешнее устройство (host) или сама микросхема
В статье ниже описаны обычные микросхемы NAND или RAW NAND.
Микросхемы со встроенной генерацией кодов исправления ошибок (BENAND в терминологии Toshiba) отличаются от обычных NAND, только тем что сами исправляют некоторое количество одиночных ошибок, что несколько упрощает работу с ними: в большинстве случаев они могут быть считаны и записаны как обычная микросхема FLASH, однако если ошибок на странице окажется много весь блок содержащий страницу должен быть помечен как «плохой». Поэтому все что здесь написано о плохих блоках в полной мере относится и к ним.
О микросхемах c NAND с последовательным интерфейсом более подробно написано здесь.
О микросхемах eMMC NAND более подробно можно почитать в этой статье.
1.6. Заводская маркировка плохих блоков
Единственное что более или менее стандартизовано, так это заводская маркировка плохих блоков.
- Плохие блоки маркируются на 0-й или 1-й странице для микросхем с размером страницы менее 4К.
- Для страниц 4К и более, маркировка может находиться на последней странице блока.
- Сам маркер плохих блоков располагается в запасной области страницы в 5-м байте для маленьких страниц (512 байт) и в 0-м байте для больших (2K).
- Маркер плохого блока может иметь значение 0x00 или 0xF0 для маленьких страниц и 0x00 для больших.
- Хорошие блоки всегда маркируются 0xFF.
- В любом случае значение отличное от 0xFF программатор воспринимает как маркер плохого блока.
- Как правило, в современных NAND плохой блок полностью заполнен значением 0x00.
Есть одна проблема: плохой блок можно стереть. Таким способом можно потерять информацию о плохих блоках микросхемы.
Однако, если микросхема уже работала в устройстве, далеко не всегда используется такая методика маркировки плохих блоков. Иногда даже информация о плохих блоках не хранится в памяти NAND. Но, чаще всего, если даже разработчик программного обеспечения устройства использует иную схему управления плохими блоками, заводскую разметку предпочитает не стирать.
2.1. Сканирование плохих блоков микросхемы NAND
Программатор ChipStar позволяет быстро сканировать микросхему NAND на наличие плохих блоков в соответствии с заводской маркировкой плохих блоков.
Выберите пункт меню «Микросхема|Искать плохие блоки«, микросхема будет проверена на наличие плохих блоков. Результат показан в виде таблицы.
Это действие необходимо выполнить только в том случае, если вы хотите просто просмотреть список плохих блоков. Во всех остальных случаях поиск плохих блоков выполняется автоматически, когда это необходимо.
Источник