Что такое nand в iphone
Не работает NAND flash память в iPhone
Замена NAND iPhone бывает необходима в нескольких случаях. Кто-то желает просто увеличить запас памяти аппарата, а другие прибегают к услуге вынужденно. Что же это может быть? Ремонт требуется при повреждении NAND, и при этом проблема решается двумя основными способами:
Починка НАНД без замены материнской платы позволяет сэкономить денежные средства. Кроме того, пользователь может попросить специалиста об установке более объемного flash накопителя. И еще в некоторых случаях появляется рабочая ситуация, когда нужной разновидности материнской платы просто не оказывается в наличии, тогда как проблем с микросхемами памяти подобного рода не возникает никогда. Появляется другой вопрос: насколько окажется эффективной такая починка? В нашем сервисном центре квалифицированные мастера выполняют замену уже не один год, так что работа осуществляется на самом высоком профессиональном уровне, причем на любые услуги дается гарантия.
Что говорит о неисправности NAND
Неисправность у iPhone NAND памяти проявляется определенными признаками, которые достаточно быстро устанавливаются вне зависимости от предшествующих возникновению с памятью смартфона проблем. Если пользователь обнаружил любой из ниже перечисленных симптомов, значит, пришло время обратиться в специализированную мастерскую для более детального уточнения причин неисправности и квалифицированного ремонта.
Итак, flash бывает неисправна, когда:
Нечто похожее случается и при попытке выполнить Jailbreak или обновить iOS. Таким образом, до осмотра мастером вряд ли стоит делать преждевременные выводы о возможных неисправностях и предпринимать попытки самостоятельного ремонта. Самый оптимальный вариант – обратиться в ЭтоСервис, где быстро и качественно проведут диагностику и предложат конкретные ремонтные процедуры.
Замена на Айфоне NAND flash
Замена представляет сложный и продолжительный по времени процесс, который осуществляется опытным специалистом с использованием специализированного оборудования. Ремонт состоит в следующих основных этапах:
В сервисном центре ЭтоСервис клиенты могут воспользоваться профессиональной услугой замены NAND памяти на следующих устройствах: iPhone 5s и 5, iPhone 6s и 6, 6s Plus и 6 Plus, iPhone 7 Plus и 7. При этом следует отметить, что в работе применяются исключительно оригинальные запасные части, и сервисный центр предоставляет гарантию. Чтобы убедиться в приемлемых расценках и качестве предоставляемых услуг, стоит побывать на бесплатной диагностике своего устройства.
Вы можете воспользоваться услугами нашего сервисного центра в городе Кирове по адресу: Октябрьский проспект, 70. Тел: +7 (8332) 772-987.
Признаки неисправности NAND flash-памяти в iPhone
Одной из самых распространенных поломок смартфонов от Apple считается выход из строя flash-памяти, вследствие чего дальнейшая эксплуатация девайса становится весьма проблематичной. Владельцы “яблочных” гаджетов, желающие восстановить NAND, могут воспользоваться нашими услугами ремонта “Айфонов” в Краснодаре. С признаками неисправности Flash-памяти iPhone интересно ознакомиться каждому пользователю смартфона от Apple.
На заметку владельцам “яблочных” гаджетов
Одним из самых распространенных симптомов выхода NAND из строя является самопроизвольное инициирование перезагрузки, после которой девайс полностью перестает реагировать на попытки включения. Пользователи, желающие подтвердить или опровергнуть гипотезу о том, что смартфон не “оживает” именно из-за неисправности flash-памяти, могут принести гаджет для диагностики в нашу мастерскую, в компетенцию которой также входит ремонт телевизоров “Самсунг”.
Еще одним распространенным признаком поломки NAND в iPhone считается окрашивание дисплея в синий или красный цвет во время перезагрузки смартфона. Этот симптом говорит о том, что в работе flash-памяти “яблочного” девайса наблюдаются неполадки, которые в случае несвоевременного устранения могут привести к более критичной поломке устройства.
В число признаков, свидетельствующих о неисправности NAND iPhone, также входит самопроизвольная перезагрузка гаджета с периодичностью от 3 до 5 минут. Пользователям, заметившим у “яблочного” смартфона такой симптом, рекомендуется прекратить его эксплуатацию до устранения поломки. В противном случае электронная начинка девайса будет подвергаться чрезмерной нагрузке, способной повлечь за собой перегорание дисплея и другие критичные неисправности.
О том, что flash-память iPhone не в порядке, сигнализирует и зависание устройства в момент отображения логотипа Apple при перезагрузке. Иногда “яблочко” может просто высвечиваться на экране до тех пор, пока не израсходуется батарея, в других случаях устройство после появления заставки отключается. Еще одним признаком неисправности NAND является отображение на дисплее кода ошибки 4013 при попытке выполнить восстановление операционной системы iOS в iTunes.
Неофициальное расширение памяти 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 пиновых разъемах.
Существует внушительный список ее команд
2014 год
Еще в 2013 году появилась функция Activation Lock, позволяющая превратить устройство в «кирпич», до тех пор, пока не введен AppleID и пароль хозяина устройства. Данный способ начался применяться для разблокировки оных (ведь смена IMEI+SN гарантировано снимало блокировку), однако, прибыль с продаж iPhone 4 упала ввиду морального устаревания аппарата. От отчаяния начали появляться способы аппаратного «анлока» ipad, позволяющая установить на модель cellular прошивку от wifi версии, таким образом избегая блокировки. В то время активно велись опыты по записи пустых «болванок» с новым серийным номером для разблокировки ipad wifi и ipod touch.
2015 год
Китайцы начали разрабатывать это еще в 2012 году, однако, завершить удалось только сейчас. Сотрудник Foxconn проносит материнскую плату iPhone 6 на завод и прошивает диагностическую прошивку. В разрыв между NAND и платой ставится «каретка», позволяющая осуществлять горячее переключение bga NAND микросхемы.
Происходит это так: устанавливается nand с прошивкой, затем через dev bootchain загружается программа diags в озу, после чего происходит горячая смена микросхемы и производится изменение серийного номера на заданный.
Само устройство выглядит так:
Купить их можно даже на алиэкспрессе, как и «болванки» NAND.
Таким хитрым образом удается увеличивать память до 128 и даже до 256 гб (правда один чип обойдется в 800 юаней и продается в ограниченных количествах)
На последок видео сего процесса:
Впрочем, история еще не закончилась. Она происходит прямо сейчас, но ввиду экономических проблем в РФ, этот бизнес пока не прижился. К слову, оборудование стоит
$800, что в пересчете по курсу «курильщика» — 64к рублей + болванки памяти.
Низкоуровневая программно-техническая экспертиза iOS
В данном посте мы опишем, как получить образ NAND и использовать FTL-метаданные для восстановления удаленных файлов на устройствах, использующих процессор A4.
Механизмы шифрования и защиты данных файловой системы iOS теперь хорошо документированы и поддерживаются многими утилитами ПТЭ (программно-технической экспертизы или forensics). В качестве основной области хранения данных iOS-устройства используют NAND flash-память, но создание физических образов обычно имеет отношение к «dd image» логических разделов. Уровень трансляции Flash в iOS для текущих устройств имеет программную основу (реализован в iBoot и ядре), что означает, что CPU имеет прямой доступ к сырой NAND-памяти. В данном посте мы опишем, как получить образ NAND и использовать FTL-метаданные для восстановления удаленных файлов на устройствах, использующих процессор A4. Информация, представленная здесь, основана на серьезной работе по реверс-инжинирингу, выполненной командой iDroid/openiBoot.
Чтение NAND-памяти
iOS-устройства используют один или несколько идентичных чипов, адресуемых номером CE («chip enable»). Фактические параметры геометрии (число CE, число блоков на CE, число страниц на блок, размер страниц и резервной области) зависят от модели устройства и общей емкости хранилища. Физический адрес составляется из CE-номера чипа и физического номера страницы (PPN) на этом чипе.
Из-за ограничений NAND в операционных системах распространены механизмы трансляции (FTL), которые позволяют использовать NAND-память как обычное блочное устройство, оптимизируя при этом ее производительность и срок службы. Главная цель FTL заключается в уменьшении операций стирания и распределения их по всем блокам. С точки зрения ПТЭ, интересным побочным эффектом здесь является то, что при перезаписи логического блока на уровне блочного устройства старые данные на физическом уровне обычно не стираются сразу. Поэтому при поиске удаленных данных работа с сырым образом NAND может быть очень полезна.
Можно прочитать сырые данные NAND с помощью openiBoot, но передача данных по USB на данный момент довольно медленна, что делает этот способ непрактичным для выгрузки содержимого всей Flash-памяти.
Начиная с iOS 3 на ram-дисках Apple iOS можно найти программу ioflashstoragetool. Данная утилита может производить множество низкоуровневых операций, касающихся flash-хранилища и может читать сырые NAND-страницы и резервные области (не производя никакого рода дешифрования). Данная функциональность предоставлялась сервисом ядра IOFlashControllerUserClient.
В iOS 5 большая часть функций, предоставлявшихся данным интерфейсом IOKit, была убрана. Чтобы создать дамп посредством этого интерфейса, мы можем загрузить ram-диск с помощью более старой, четвертой версии ядра iOS. Это отлично работает, однако в таком случае мы потеряем способность использовать имеющийся код ядра для атаки перебором более новых связок ключей iOS 5. Чтобы выгрузить NAND под пятой версией ядра iOS, мы заново реализовали часть функции IOFlashControllerUserClient::externalMethod, ответственной за функциональность чтения. Когда наш инструмент выгрузки запускается под пятой версией ядра iOS, он замещает данную функцию той, что обрабатывает селектор kIOFlashControllerReadPage.
Кроме того, мы можем установить флаг загрузки nand-disable-driver, чтобы предотвратить высокоуровневый доступ к NAND и гарантировать, что ее содержимое не изменится в ходе получения.
Уровень преобразования Flash в iOS
Virtual Flash Layer (VFL) ответственен за переназначение bad-блоков и представление NAND, не содержащее ошибок, для FTL-слоя. VFL-слой знает физическую геометрию и транслирует виртуальные номера страниц, используемые FTL, в физические адреса (номер CE + номер физической страницы).
Слой FTL оперирует над VFL и предоставляет операционной системе интерфейс блочного устройства. Он транслирует номера логических страниц блочного устройства (LPN) в виртуальные номера страниц, занимается wear leveling и сборкой мусора в для блоков, содержащих устаревшие данные. На устройствах, поддерживающих аппаратное шифрование, все страницы, содержащие структуры данных, связанные с VFL и FTL, зашифрованы статическим ключом метаданных.
В различных версиях iOS использовались следующие варианты подсистем FTL:
PPN-устройства имеют свой собственный контроллер с прошивкой, которая может быть изменена через интерфейс IOFlashControllerUserClient, но большая часть работы FTL похоже все еще выполняется программно – с помощью YaFTL поверх нового PPNVFL.
На основании кода openiBoot мы написали минимальную read-only реализацию YaFTL/VSVFL на Питоне, чтобы получить возможность просматривать образы NAND как блочные устройства. В сочетании с реализацией HFS+ на Питоне она позволяет извлечение логических разделов для получения эквивалента dd-image. Далее нам нужно понять механизмы YaFTL, чтобы воспользоваться дополнительными данными, доступными в образе NAND.
YaFTL
Следующий рисунок обобщает процесс преобразования YaFTL:
В ходе нормальной работы в каждый момент лишь один суперблок каждого типа является «открытым»: страницы записываются последовательно в манере log-block. Когда текущий суперблок заполнен, YaFTL находит пустой суперблок для продолжения процесса. старевшие пользовательские данные стираются только в процессе работы сборщика мусора.
Последние страницы индексного и пользовательского суперблоков используются для хранения BTOC (таблица содержимого блока). Для пользовательских блоков BTOC перечисляет логические номера страниц, хранимые в этих блоках. В индексном блоке BTOC хранит первые логические номера страниц, на которые указывает каждая из индексных страниц.
Восстановление FTL производится при загрузке, если FTL не был должным образом отмонтирован (после kernel panic или жесткой перезагрузки, например) и контекстная информация не была зафиксирована на flash-носителе. Функции восстановления FTL приходится исследовать все блоки (используя BTOC для ускорения процесса), чтобы восстановить корректный контекст.
Метаданные резервной области
Поле lpn позволяет FTL-коду проверять корректность преобразования при чтении страницы. Оно также используется в ходе процесса восстановления FTL, чтобы обнаруживать страницы в «открытых» суперблоках, которые не имеют BTOC.
В поле usn записывается глобальный порядковый номер обновления во время записи страницы. Этот номер увеличивается каждый раз при фиксации новой версии контекста FTL или когда суперблок заполнен и происходит открытие нового суперблока. Данное поле позволяет легко сортировать суперблоки по возрасту.
«Отбеливание» метаданных
Признак того, что отбеливание метаданных включено, находится в поле флагов специальной страницы NANDDRIVERSIGN.
Восстановление удаленных файлов
Когда таблица поиска построена, мы можем легко обратиться ко всем доступным версиям заданной логической страницы. Чтобы восстановить удаленные данные на разделе мы реализовали простой алгоритм, похожий на метод вырезания данных из журнала HFS:
Данный наивный алгоритм дает хорошие результаты на «статичных» файлах вроде изображений, где весь файл записывается один раз и более не обновляется. Для файлов вроде баз данных SQLite понадобится больше логики, чтобы восстановить состоятельные снимки последовательных версий. Для этого можно, например, обнаруживать акты записи в заголовок файла или отслеживать модификации в записях файла каталога (дата модификации файла).
Один из файлов, который было бы интересно восстановить – системное хранилище ключей. Если атакующий смог получить доступ к первой версии системного хранилища ключей (без установленного пароля, сразу после восстановления прошивки), он мог бы затем получить доступ ко всем ключам классов без необходимости в атаке пароля пользователя. Однако, эксплуатировать более старые версии хранилища ключей невозможно из-за второго слоя шифрования: полезная нагрузка systembag.kb шифруется ключом BAG1, который хранится в уничтожаемой области и принимает случайное значение каждый раз, когда на диск записывается новая версия файла (когда пользователь меняет свой пароль). Данный механизм, очевидно, был разработан для предотвращения подобных атак, как объяснено в выступлении «Securing application data» с Apple WWDC 2010 (Сессия 209).
Уязвимость стирания в iOS 3.x
Инструменты получения содержимого NAND и вырезания данных теперь доступны в репозитории iphone-dataprotection. Дополнительные подробности также доступны на вики. Наконец, большое спасибо Патрику Вилдту и команде openiBoot за их работу над iOS FTL, которая позволила нам создать эти инструменты.
Принцип работы NAND-памяти
Содержание
Содержание
Современные мобильные гаджеты, повышение быстродействия компьютерных систем и производство недорогих, но быстрых накопителей для хранения большого объема информации напрямую связано с микросхемами памяти.
В быстродействующих устройствах хранения данных используются микросхемы флеш-памяти. Анонсировали их в 1988-89 году, когда компании Intel и Toshiba представили память с архитектурой NOR (Intel) и NAND (Toshiba). Именно вторая разновидность стала наиболее популярной, так как имела больше возможностей для миниатюризации. Почему, сейчас разберемся.
Полевой транзистор с плавающим затвором — основа ячейки памяти
Основой всей технологии флеш-памяти, в том числе и NAND, является полевой транзистор с плавающим затвором. В общем случае его структура выглядит так:
Перед нами обычный полевой транзистор, у которого, помимо управляющего, появился еще один затвор. Так вот в этом затворе, называющемся «плавающий», как раз и кроется вся особенность технологии.
Дело в том, что этот затвор и полупроводник, представляющий собой канал транзистора между стоком и истоком, разделяет тонкий слой диэлектрика. Электроны воздействии положительного напряжения к затвору, смогут не только направиться по своему обычному пути внутри полупроводника, но и «перескочить» с помощью инжекции или туннелирования через слой диэлектрика в плавающий затвор.
Разумеется, так смогут сделать не все электроны, а только их часть — те, которые получили большую энергию. При этом они не пробивают слой диэлектрика в физическом смысле, а в соответствии со своими квантово-волновыми свойствами «перепрыгивают» сразу в плавающий затвор. Вернуться обратно «перепрыгнувшие» электроны не могут, так как у них для этого не хватает энергии.
То есть, мы можем подать напряжение и тем самым «затащить» электроны в плавающий затвор. Они там останутся, когда мы включим транзистор в следующий раз — заряд, сосредоточенный на плавающем затворе окажет влияние на расположенный под ними канал между стоком и истоком: пропустит или не пропустит ток через транзистор независимо от напряжения на управляющем затворе. В самом простом случае мы получаем два состояния — ток есть или тока нет. Ноль и единицу. Что нам и требовалось.
Причем это состояние может сохраняться достаточно долго. Конечно, это время не бесконечно. Постепенно заряд на «плавающем» затворе потеряется. Но этого времени вполне достаточно для хранения информации в реальных условиях применения, так как речь идет о годах.
Разумеется, записанную информацию, то есть, заряд на плавающем затворе, можно стереть. Для этого достаточно подать на управляющий затвор напряжение обратной полярности, чтобы электроны смогли покинуть плавающий затвор и вернулись в проводящий канал транзистора. До этого времени заряд и логическое состояние транзистора сохраняется из-за того, что энергии электронов недостаточно для преодоления потенциального и физического барьера в виде тонкого слоя диэлектрика.
В процессе развития и миниатюризации технология изготовления полевых транзисторов с плавающим затвором менялась и совершенствовалась. Если первые элементы памяти создавали в планарном виде на поверхности кристалла, то сейчас используется технология 3D NAND или V-NAND (разные маркетинговые названия), в которой структура транзистора сформирована не на горизонтальной плоскости, а на вертикальной. Это позволяет экономить площадь и увеличивать объем памяти, который размещается в одной микросхеме. Принцип работы транзистора при этом остается прежним.
Кроме того, сейчас используют не только металлические плавающие затворы. Появились технологии изготовления кристаллов микросхем, повышающие их надежность и позволяющие удерживать заряд в течение большего времени. Например, компания Samsung использует для захвата зарядов и работы в качестве «плавающего затвора» изолированные области из непроводящего материала нитрида кремния SiN. Они называются 3D Charge Trap Flash — «ловушки заряда». Их применение увеличивает срок хранения заряда, а, следовательно, и информации в ячейке, а также делает микросхемы экономичнее в плане энергопотребления.
NAND и NOR ячейки памяти — как они работают
Транзисторы с плавающим затвором соединяются в матрицы, хранящие слова данных по нужным адресам, разными способами. Основными являются NAND и NOR. Эти аббревиатуры представляют собой сокращения словосочетаний «Not AND» и «Not OR» — соответственно «И-НЕ» и «ИЛИ-НЕ».
Схематично способ построения матриц в двух случаях выглядит так:
Как видите из представленных схем, построение матрицы по схеме NOR удобно тем, что можно просто получить доступ к любой конкретной ячейке и записать информацию именно в нее. В случае с NAND несколько одиночных ячеек памяти соединены последовательно и для того, чтобы записать состояние «ноля» в одну из них, надо, чтобы все другие были открыты и пропускали ток.
Именно по этой причине стирание информации в микросхемы NAND-памяти производится поблочно, а для того, чтобы записать новые данные, обновляют информацию сразу для множества ячеек (осуществляют запись «постранично»). Но зато такая схемотехника позволила значительно упростить топологию и сократить размеры ячеек памяти на кристалле. Поэтому в современной микроэлектронике именно NAND-память является основной. И когда вы покупаете новый SSD-диск, то в нем стоят именно микросхемы с NAND-памятью.
Как в одной ячейке удается хранить до 4 бит данных
Небольшими размерами преимущества ячеек NAND-памяти не ограничивается. Еще один интересный и полезный момент заключается в том, что в них можно записать не один, а несколько (до четырех) битов информации. Теоретически можно и больше, но пока реально можно говорить только о четырех, так как дальше начинаются серьезные технические сложности. Тем не менее, на мероприятии Flash Memory Summit 2019 представители компании Toshiba уже представили идею записи по пять бит данных в каждую ячейку. Но пока до практического применения дело ещё не дошло.
Разберемся, как работает запись нескольких бит информации в одну ячейку. Транзистор с плавающим затвором представляет собой элемент, который может находиться не только в двух состояниях — закрытом и открытом, но и в промежуточных. Фактически это аналоговый элемент, способный пропускать по цепи сток-исток ток разной величины в зависимости от того, какой заряд имеется на затворах и какое поле им создается.
Это значит, что можно «загнать» в плавающий затвор (в 3D NAND — в «ловушку зарядов») столько электронов, сколько понадобится, чтобы пропускать определенный ток через транзистор при определенном значении порогового напряжения. Таких пороговых напряжений может быть несколько, так как есть возможность накопить заряд больше или меньше — столько, сколько потребуется, чтобы в ячейке записалась нужная информация. Далее, подавая на транзистор напряжение и контролируя ток, можно судить о его состоянии, то есть о том, какие данные он хранит.
Отсюда и возникают ячейки памяти, в которых хранится не один бит информации, а больше, вплоть до четырех. Поэтому вся память делится на две категории: SLC (сокращение от Single Level Cell — одноуровневые ячейки) и MLC (Multi Level Cell — многоуровневые ячейки).
С SLC-ячейками все просто. Это классические элементы памяти, которые хранят один бит с двумя состояниями, одно из которых соответствует заряженному затвору, а второе — разряженному.
MLC-ячейки в свою очередь подразделяются на:
Такое увеличение плотности записи с одной стороны повышает объемы накопителей. Но с другой снижается надежность, так как требуется высокая точность записи состояния и последующего чтения данных. Увеличивается и время, которое тратится на чтение и запись данных, так как надо понять, в каком из 4, 8 или 16 режимов находится транзистор.
Дальнейшие перспективы технологии
Чтобы еще больше увеличить плотность хранения данных в одной ячейке и перейти на хранение пяти бит информации, потребуется контролировать уже 32 режима работы транзистора. Учитывая, что питание микросхем составляет единицы вольт, речь идет о том, чтобы соблюдать точность измерения и установки пороговых напряжений в сотые доли вольта. И это только одна из сложностей, которые надо решить.
Кроме того, надо решать такие задачи, как коррекция ошибок, надежность и количество циклов записи/чтения. Последняя проблема — одна из наиболее критичных, так как запись и чтение данных приводит к износу и уменьшению слоя диэлектрика между плавающим затвором и полупроводниковым каналом транзистора, а, следовательно, к выходу из строя ячейки. Именно этот момент является определяющим для времени безотказной работы памяти. Но, вполне возможно, что инженеры скоро найдут решение, позволяющее сделать следующий шаг в увеличении плотности записи. Тогда появятся еще более объемные твердотельные накопители по низкой цене.