Как восстановить данные SSD диска самостоятельно! Восстановление данных с SSD дисков: что реально, а что нет

О надёжности SSD.

Казалось бы, нет движущихся частей - все должно быть очень надежно. Это не совсем так…

Восстановление данных с Solid State Drive (SSD)

Восстановление данных с любых SSD накопителей! Накопители Solid State Drive (SSD) появились сравнительно недавно, но уже успели завоевать большую популярность. Преимущество SSD по сравнению с традиционными накопителями на жёстких дисках на первый взгляд очевидны, это высокая механическая надёжность, отсутствие движущихся частей, высокая скорость чтения / записи, низкий вес, меньшее энергопотребление.

SSD - это твердотельный накопитель (англ. SSD, Solid State Drive или Solid State Disk), энергонезависимое, перезаписываемое запоминающее устройство без движущихся механических частей с использованием флэш-памяти. SSD полностью эмулирует работу жёсткого диска.

О надёжности SSD.

Казалось бы, нет движущихся частей - все должно быть очень надежно. Это не совсем так. Любая электроника может сломаться, не исключение и SSD. С низким ресурсом MLC-чипов ещё можно как-то бороться коррекцией ошибок ECC, резервированием, контролем за износом и перемешиванием блоков данных. Но самый большой источник проблем - контроллер и его прошивка. По причине того, что контроллер физически расположен между интерфейсом и микросхемами памяти, вероятность его повреждения в результате сбоя или проблем с питанием очень велика. При этом сами данные, в большинстве случаев сохраняются. Помимо физических повреждений, при которых доступ к данным пользователя невозможен, существуют логические повреждения, при которых также нарушается доступ к содержимому микросхем памяти. Любая, даже незначительная ошибка, баги в прошивке, может привести к полной потере данных. Структуры данных очень сложные. Информация «размазывается» по нескольким чипам, плюс чередование, делают восстановление данных довольно сложной задачей.
В таких случаях восстановить накопитель помогает прошивка контроллера с низкоуровневым форматированием, когда заново создаются служебные структуры данных. Производители стараются постоянно дорабатывать микропрограмму, исправлять ошибки, оптимизировать работу контроллера. По этому, рекомендуется периодически обновлять прошивку накопителя для исключения возможных сбоев.
В SSD накопителе, как и в HDD, данные не удаляются сразу после того, как файл был стёрт из ОС. Даже если переписать файл по верху нулями - физически данные еще остаются, и если чипы флеш-памяти достать, и считать на программаторе - можно найти 4кб фрагменты файлов. Полное стирание данных стоит ждать тогда, когда на диск будет записано данных равное количеству свободного места + объем резерва (примерно 4 Гб для 60Гб SSD). Если файл попадёт на «изношенную» ячейку, контроллер ещё не скоро перезапишет её новыми данными.

Основные принципы, особенности, отличия в восстановлении данных с SSD и USB Flash накопителей.

Восстановление данных с SSD накопителей достаточно трудоёмкий и долгий процесс по сравнению с портативными flash накопителями. Процесс поиска правильного порядка, объединения результатов и выбора необходимого сборщика (алгоритм/программа полностью эмулирующая работу контроллера SSD накопителя) для создания образа диска не лёгкая задача.
Связанно это в первую очередь с увеличением числа микросхем в составе SSD накопителя, что во много раз увеличивает число возможных вариантов действий на каждом этапе восстановления данных, каждое из которых требует проверки и специализированных знаний. Так же, в силу того, что к SSD предъявляются значительно более жесткие требования по всем характеристикам (надёжность, быстродействие и т.д.), чем к мобильным флеш накопителям, технологии и методики работы с данными, применяемые в них, достаточно сложны, что требует индивидуального подхода к каждому решению и наличию специализированных инструментов и знаний.

Статья взята из открытых источников: http://hardxdisk.blogspot.ru/p/blog-page_5651.html



Роман является автором статей в журнале «Железо», периодически публикуется на Overclockers.ru, а также работает инженером по системам восстановления информации в отечественной компании, чью продукцию использует, в том числе крупнейшие западные фирмы. Давайте узнаем, как обстоит дело с восстановлением данных с SSD.

Роман, как я понял, ваша компания занимается непосредственным выпуском программно-аппаратных комплексов, помогающих диагностировать и восстанавливать информацию с жестких дисков или Flash систем хранения, таких как карты памяти, «флешки» и SSD?

Да, Антон, все верно. Компания называется ACE Laboratory и в этом году она отметила 20- летний юбилей, что для российской компании является очень солидным сроком. Много-ли IT компаний начала 90-х, продолжают активно развиваться спустя 20 лет с момента своего открытия? Я о таких, слышу не очень часто:)

Изначально, ACE Lab была основана выходцами Таганрогского Радио Технического Института и выходцами из Ростовского НИИ ТОП. В конце 80-х, в этом научно-исследовательском институте, велась разработка советских жестких дисков. По большей части, это были клоны Seagate’ов объемом 5-20 Мбайт (самые вместительные зарубежные модели того времени, едва переваливали за 60 Мбайт), но тем не менее, все собиралось из отечественной элементной базы, использовались советская электроника и работали советские инженеры. Сейчас сложно представить, что когда-то, в нашей стране, выпускались полностью отечественные компоненты не только для военных нужд, но и для домашнего использования, в частности, для персональных компьютеров. С началом 90-х, когда вместе с развалом СССР начался развал государственных предприятий, НИИ ТОП не долго смог продержаться и вскоре был закрыт. Талантливые инженеры, знающие о принципах работы HDD, нашли свое место в новых условиях рынка – если производить что-то уже не было никакого смысла, то восстановление данных – оказалось весьма перспективным направлением деятельности. Ведь в начале 90-х, жесткие диски только-только набирали обороты, и были примерно такой же, редкостью, как сегодня SSD. По этому, ведя разработки своего оборудования, параллельно развитию HDD, компания накопила огромный опыт за это время, и сегодня, без преувеличения, является лидером по производству оборудования для восстановления информации во всем мире. Просто говорят о нас не очень часто – слишком уж узкоспециализированное это дело, “Data Recovery” :)

Озабочена ли ваша компания развитием данного перспективного направления (твердотельная память), или сосредотачивает свои силы больше на традиционных жестких дисках?

В процентном соотношении, HDD и SSD идут примерно 90% к 10%, так что упор на жесткие диски ставится сейчас, конечно же, больше чем на твердотельные накопители. С другой стороны, постепенная каннибализация предприятий, выпускающих HDD идет на пользу и SSD – появляется возможность лучше сконцентрировать ресурсы для разработок. К примеру, еще лет 10 назад, жесткие диски выпускались целой когортой компаний. Это были Fujitsu, IBM, Hitachi (а в последствии, Hitachi-IBM), Samsung, Toshiba, Seagate, Western Digital, Quantum, Maxtor и т.д. Приходилось уделять всем накопителям времени в равной степени, и поскольку каждый из производителей имел уникальную архитектуру дисков (а как следствие, и принципы восстановления данных с них), то заниматься равномерным развитием сразу всех направлений было непросто. Со временем, на рынке осталось лишь два основных конкурента, которые поглотили всех остальных – Seagate и Western Digital ну, и пожалуй, Hitachi который хотя и был куплен Seagate’ом, сейчас все еще штампует очень малым тиражом дешевые 2.5” диски для ноутбуокв. Так что сосредоточившись на двух-трех производителях, появляется возможность больше времени уделять и SSD – впрочем, все случившееся сложилось крайне своевременно.

По ходу работы ты часто общаешься с западными клиентами, а многие ли у нас сейчас пользуются услугами восстановления данных с SSD или Flash?

Дело в том, что восстановление информации – дело дорогое. Это весьма кропотливый процесс, который по определению не может оплачиваться дешево. И если с жесткими дисками, дела идут неплохо (люди часто обращаются за восстановлением своей инфы), то с Flash накопителями все гораздо сложнее. К примеру, SD карта фотографа который вел свадьбу, внезапно его подвела, и все праздничные фото пропали вместе с работоспособностью карты. В этом случае, конечно же, и фотограф, и жених с невестой, заинтересованы в восстановлении утерянных данных и готовы заплатить немалые деньги. Но если у студента навернулась флешка с рефератом, вряд-ли он будет платить две-три тысячи рублей за восстановление своей информации. За рубежом, даже 100-200$ не являются большими деньгами если на кону стоят фотографий с путешествий, или более-менее значимые документы. А вот у нас, народ менее богатый, по этому и восстанавливать данные не спешит. Часто бывают случаи, когда люди не хотят жертвовать 8-гиговой флешкой стоимостью в 500 рублей (которую нужно вскрыть и отпаять чип памяти для дальнейшего восстановления), боясь лишиться гарантии и в дальнейшем, потерять возможность обменять в магазине на новую, бесплатно. Это не говорит о жадности, это говорит о совершенно другом уровне доходов по сравнению с богатым Западом. Тоже самое и с SSD – восстановление данных с них стоит еще дороже, и пока, на Российском рынке никто тратить большие деньги за восстановление твердотельного диска не хочет. К тому же, те кто покупает SSD осведомлены о их недолговечности, по этому и важные данные на них не хранят, используя исключительно для программ и операционной системы. На Западе, люди менее технически подкованы, по этому купив ноутбук с SSD, они тут же скидывают на него важные документации, фотографии, видео, да и вообще все что только можно, и сильно удивляются когда SSD внезапно умирает. Так что на Западе, клиентов обращающихся за восстановлением данных с SSD уже достаточно много – в разы больше чем в России.

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

Твердотельные накопители, относительно новы – им всего-лишь несколько лет (именно столько времени они активно развиваются, до 2008 года о них вообще почти никто не знал), по этому и времени на их “раскопку” было затрачено гораздо меньше. С HDD есть огромный опыт, восстанавливать данные с них легче ввиду совершенства и технологии, и программного обеспечения. С флешками и SSD все по-другому, принцип работы, размещения и хранения данных сильно отличается от HDD, по этому «переключить мозги» с жестких дисков на флешки было довольно непросто.

Поначалу, SSD первых поколений не отличались от обычных флешек по принципу записи и чтения информации, просто действий было немного больше, и общее восстановление проходило медленнее, требуя куда больше времени. К примеру, в SSD, все данные разбиваются на куски размером 4 Кбайт, и записываются в разные микросхемы на плате SSD. По этому и доступ к этим данным очень высок. Т.е. контроллер, один и тот же файл начинает считывать сразу по 4-м каналам, с 4-х микросхем, считывая 1-ю часть с 1-й микросхемы, 2-ю со второй и т.д., делая это одновременно (что-то типа RAID0 у HDD). Благодаря такому распараллеливанию, и достигается высокая скорость наряду с более «плавным» износом NAND FlASH, поскольку запись и считывание велось постоянно в разные участки чипов памяти.. Но считав данные с микросхем, инженер получал мусор из кусков файлов – необходимо было восстановить преобразования контроллера, повторив их в обратном порядке. Представь себе лоскутное одеяло, разрезанное на полоски шириной 5-см, которые потом перемешали в общей коробке. Задача – все куски выстроить в правильном порядке, и заново сшить одеяло – примерно с такой же задачей сталкивался специалист. Необходимо было отпаять все микросхемы, считать их, проанализировать

каждую из них, и начать связывать их между собой по кускам, что бы получить данные пользователя. Это требовало огромного количества времени и естественно, назад свой дорогой SSD пользователь уже не получал и вернуть в магазин по гарантии не мог – либо данные, либо гарантия, т.к. все микросхемы предварительно выпаивались и считывались. Тем не менее, вернуть данные было можно, хотя и очень-очень непросто. Однако, уже во втором поколении SSD, разработчики твердотельных накопителей довели свои алгоритмы записи информации не просто до разрезания и перемешивания (для более равномерного использования ячеек микросхем), они решили включить шифрование. Т.е. контроллер, перед записью данных предварительно их шифровал, получался так называемый “равномерный белый шум”, который заполнял пространство микросхем. Тут то и возникла проблема – вычитать данные было возможно, а вот «склеить» их без расшифровки оказалось просто нереально. Но, как оказалось, SSD 2-го и 3-го поколения уже умели работать в технологическом режиме, который можно было активировать если слетала прошивка или происходил сбой микропрограммы контроллера SSD. Активировав этот режим, стало возможным добиться доступа к данным без предварительной отпайки чипов, сделав процесс восстановления более быстрым и менее сложным.

Если технологический режим реализован на SSD, то почему о нем мало кто говорит из производителей, когда он может помочь восстановить испорченный накопитель?

Все просто – никто из производителей не хочет что бы SSD диски ремонтировались сторонними компаниями, а данные восстанавливались. Они хотят одного – больших продаж. Ломается диск – ты покупаешь новый, а не идешь его ремонтировать, как к примеру, HDD. Однако поскольку производители расширяют гарантию на свою продукцию твердотельных накопителей, и хотят что бы пользователи больше им доверяли, приходится идти на хитрости, так что добавили они техно режим не для того что бы помочь восстановить данные, а для того, что бы самим их починить. Допустим – поломался у тебя SSD через два года после покупки, а гарантия на SSD – пять лет. Ты несешь его в сервисный центр где у тебя его забирают, а в замен дают точно такой же. При этом, твой старый SSD отправляется на завод, где его вводят в техно режим, делают перепрошивку микропрограммы, тестируют, меняют корпус и отправляют в СЦ обратно, что бы кто-то другой забрал его, вместо точно такого же, сломавшегося. Ведь как показывает практика, в современных SSD, изнашиваются не чипы памяти – все проблемы связанны в 95% с контроллером и прошивкой\микропрограммой, которая попросту может слететь, или повредиться во время использования. Но, хочу заметить, что это – исключительно догадка, хотя надо сказать, выглядит она очень правдоподобно:)

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

99% всех производителей контроллеров, включая известные Marwell, Indilinx, SiliconMotion, Alcor Micro, Phison, Sandforce, находятся в Китае. Именно там они разрабатываются, выпускаются и т.д. Наладить контакт очень непросто, да и это не совсем уж выгодно самим производителям контроллеров которые, как я уже говорил, хотят как можно больше продать. По этому, разработчикам, методом проб и ошибок приходится самим до всего додумываться. :)

Сейчас многие негативно относятся к переходу NAND памяти на новые техпроцессы производства, в связи с сокращением числа циклов перезаписи ячеек. Как ты считаешь, есть ли реальная опасность в том, что память просто перестанет работать со временем в персональных компьютерах, ноутбуках и так далее в какие-то разумные сроки?

Вероятность того, что SSD выйдет из строя – 100% :) Другой вопрос в том, сколько времени на это потребуется? Если к примеру, гарантия производителя 5 лет, могу с очень высокой вероятностью сказать что сам SSD морально устареет куда быстрее, чем успеет закончится гарантия на него, или он поломается. За 5 лет любое компьютерное железо серьезно устаревает, так что самые «ходовые» 2-3 года, любой SSD вполне сможет проработать. Что касается техпроцессов и уменьшения размером ячеек памяти, то здесь вступают в работу программисты, которые доводят алгоритмы записи и «выравнивания» до совершенства (как я уже и говорил выше). Кроме того, добавляется солидный кусок пространства для «переназначенных секторов», так что битые ячейки будут моментально переписываться в резервную область, обеспечив тот самый запас по прочности.

Допустим, первые поколения SSD 2007-2008 года, имели 30000-50000 цикл перезаписи каждой ячейки памяти, после чего она становилась непригодной для записи. При этом, из-за «линейной» записи, когда пользователь постоянно переписывал первые 1-5 Гбайт (кэширование браузера и ОС могут делать тысячи записей ежедневно в одно и то же место), изнашивались только они, а остальные 50 Гбайт, оставались невостребованными, и диск мог очень быстро «умереть». В современных SSD жизненный запас одной ячейки куда меньше – примерно 3000-5000 циклов, однако из-за используемых алгоритмов «выравнивания» записи, шифрования, накладывания XOR паттернов, перезапись каждой ячейки максимально эффективна. Разработчики любят хвастаться тем, что на коробках с SSD указывают, мол, «наш накопитель проживет 10 лет, даже если каждый день вы будите записывать на него 20 Гбайт данных!». Вот именно это они и имеют ввиду – одни и те же ячейки, благодаря оптимизированным алгоритмам записи не будут использоваться постоянно, так что для «убийства» современной микросхемы объемом 16 Гбайт, нужно записать на нее в 3000 раз больше ее реального объема, т.е. примерно 48 Тбайт… Не думаю, что в повседневной жизни, даже за пару лет получится записать хотя бы 100-200Гбайт, не говоря уже о терабайтах. Т.е. даже если с освоением 14нм техпроцесса, запас прочности одной ячейки упадет до 300-500 циклов перезаписи, на 512 Гбайтный SSD придется записать минимум две сотни Тбайт для заметных повреждений NAND чипа.

Слабое место SSD - не память, а именно контроллер и прошивка, которая очень уж любит слетать, блокируя всякий доступ к данным.

Аналитики SSD светлое будущее, все больше компаний начинают выпускать твердотельные накопители (например, недавно о таком желании «изъявили» Seagate и MSI). Раньше тоже были предположения, что со временем NAND Flash память или ее аналоги смогут заменить собой жесткие диски, это было еще до официального выхода массовых линеек SSD, в качестве сроков тогда назывались десятки лет. Сейчас уже говорят о перевесе в сторону SSD за какие-то ближайшие 3-5 лет, как ты считаешь, будет ли он и что надо накопителям для того чтобы обогнать в производстве жесткие диски?

Отрицать то, что будущее за SSD – глупо. Но и делать какие-то предсказания о «существенном перевесе в ближайшие два-три года” тоже ошибочно То, что все большее число производителей, будет выпускать SSD накопители – это вполне очевидно, ведь запустить в производство твердотельный накопитель в сотни раз проще, чем выпустить работающий HDD. Что нужно для того что бы SSD работал? Закупить пригоршню микросхем и к ним контроллер, с официальной заводской прошивкой, которую по желанию можно дописать или дополнить. Т.е. любая более-менее весомая конторка, которая занимается выпуском компьютерного железа (клепает видеокарты и материнки), вполне может выпускать и SSD без особых головных болей – ничего нового для них не будет. Совсем другое – выпустить конкурентоспособный контроллер, так что тут, скорее,

вопрос в том, сколько компаний будут продолжать или начнут выпуск SSD контроллеров, а не самих SSD дисков. Пока, из весомых, их всего пять – Sandisk, Sandforce, Samsung, Indilinx, Marwell, но вполне возможно, что будут появляться и новые игроки, которые представят свое видение «идеального контроллера для SSD». Начать разработку контроллера для твердотельного накопителя, гораздо проще чем начать выпуск собственных HDD, так что перевес рано или поздно все равно будет в сторону твердотельных накопителей. Игроков на рынке NAND FLASH будет становиться все больше, а вот количество производителей HDD с вероятностью в 99.9% останется тем же – Seagate и WD, третьего уже не будет.

Но пока, коренных изменений на рынке ПК я не вижу, за HDD все еще главные плюсы – большая надежность (вероятность внезапной смерти меньше чем у SSD), невысокая цена, огромные объемы. Да, в мобильном секторе, FLASH давно вытеснил HDD форм-фактора 1.8”, полностью заняв весь рынок, но вот что касается ПК, то глобальных улучшений по сравнению с 2008 годом, я пока не вижу. Твердотельные накопители все еще дороги, а максимальный объем ограничен 256-512 Гбайтами (это уже последняя грань с вменяемой стоимостью, далее идут просто ошеломительные цены), так что даже удешевление памяти не дает существенной доступности. Казалось бы, победитель очевиден – HDD продолжают доминирование в секторе ПК (мы о нем и говорим, он для нас главный, мобильный в расчет не берем), но на деле конкуренции как таковой нет. Между SSD и HDD, буквально сейчас завязывается дружба, поскольку вместе, друг от друга, они будут брать гораздо больше плюсов, чем по одиночке. В ближайшем будущем нас, скорее всего, ждет следующее развитие ситуации: у среднестатистического пользователя в ПК будет установлено два накопителя – один SSD, небольшого объема и по доступной цене (128-160 Гбайт за ~80-100$) для программ, игр и операционной системы, и вместительный HDD объемом в 2-4 Тбайт, для хранения FullHD фильмов, музыки, документов, образов игр и т.д.

Но, опять же – это все только в том случае, если цены на доступ в интернет не полетят вниз, и люди не станут массово пользоваться сервисами для онлайн просмотра HD Video, музыки и т.д. В этом случае, смысла в HDD не будет никакого – для игр и установленных программ, хватит и 256 Гбайтного SSD, а все остальное можно будет хранить на “облачных серверах”, которые набирают популярность. Вот только дело это не ближайшего будущего, скорее всего такая картина будет к 2018-2020 году, а пока – SSD и HDD будут жить в тесном сотрудничестве друг с другом.

Но, это лишь мое видение ситуации, слишком уж много условий для какого-то однозначного вывода:)

Благодарю за ответы на вопросы и желаю дальнейших успехов в вашем нелегком деле:)


Приветствую всех Хабровчан!

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

Как нетрудно догадаться, с накопителями, расположенными в зеленой зоне, обычно возникает меньше всего проблем (при условии, что инженер обладает необходимым инструментарием, разумеется). А накопители из красной зоны способны доставить немало страданий как их владельцам, так и инженерам-восстановителям. В случае выхода из строя подобных SSD шансы вернуть назад потерянные данные на сегодняшний день слишком малы. Если ваш SSD расположен в красной зоне или рядом с ней, то я бы советовал делать backup перед каждой чисткой зубов.

Те, кто уже сегодня сделал backup, добро пожаловать под кат.

Тут следует сделать небольшую оговорку. Некоторые компании умеют чуть больше, некоторые чуть меньше. Результаты, проиллюстрированные на диаграмме, представляют из себя нечто среднее по индустрии по состоянию на 2015 год.

На сегодняшний день распространены два подхода к восстановлению данных с неисправных SSD.

Подход №1. Вычитывание дампов NAND flash микросхем

Решение задачи что называется в лоб. Логика проста. Пользовательские данные хранятся на микросхемах NAND flash памяти. Накопитель неисправен, но что, если сами микросхемы в порядке? В абсолютном большинстве случаев так и есть, микросхемы работоспособны. Часть данных, хранящихся на них, может быть повреждена, но сами микросхемы функционируют нормально. Тогда можно отпаять каждую микросхему от печатной платы накопителя и считать ее содержимое с помощью программатора. А после попробовать собрать логический образ накопителя из полученных файлов. Этот подход в настоящее время используется при восстановлении данных с usb flash накопителей и различных карт памяти. Сразу скажу, что работа эта не из благодарных.

Трудности могут возникнуть еще на этапе считывания. Микросхемы NAND flash памяти выпускаются в разных корпусах, и для конкретной микросхемы в комплекте с программатором может не оказаться нужного адаптера. Для таких случаев в комплекте обычно есть некоторый универсальный адаптер под распайку. Инженер вынужден, используя тонкие проводки и паяльник, соединить нужные ножки микросхемы с соответствующими контактами адаптера. Задача вполне решаемая, но требует прямых рук, определенных навыков и времени. Сам то я с паяльником знаком не близко, поэтому такая работа вызывает уважение.

Не будем также забывать, что в SSD таких микросхем будет скорее всего 8 или 16, и каждую придется распаять и считать. Да и сам процесс вычитывания микросхемы тоже быстрым не назовешь.
Ну а дальше остается только из полученных дампов собрать образ и дело в шляпе! Но тут то и начинается самое интересное. Не буду углубляться в подробности, опишу только основные задачи, которые предстоит решить инженеру и используемым им ПО.

Битовые ошибки

Природа микросхем NAND flash памяти такова, что в сохраненных данных непременно появляются ошибки. Отдельные ячейки памяти начинают читаться неверно, причем стабильно неверно. И это считается нормой ровно до тех пор пока количество ошибок внутри определенного диапазона не превысит некоторый порог. Для борьбы с битовыми ошибками используются коды коррекции (ECC). При сохранении пользовательских данных, накопитель предварительно делит блок данных на несколько диапазонов и каждому диапазону добавляет некоторые избыточные данные, которые позволяют обнаружить и исправить возможные ошибки. Количество ошибок, которые могут быть исправлены определяется мощностью кода.

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

Формат страниц микросхем памяти

Единицей чтения и записи у микросхем памяти выступает единица, именуемая страницей. Для современных микросхем размер страницы равен приблизительно 8 КБ или 4 КБ. Причем это значение не является степенью двойки, а немного больше. Т. е. внутри страницы можно разместить 4 или 8 КБ пользовательских данных и еще что-нибудь. Эту избыточную часть накопители используют для хранения кодов коррекции и некоторых служебных данных. Обычно страница поделена на несколько диапазонов. Каждый диапазон состоит из области пользовательских данных (UA) и области служебных данных (SA). Последняя как раз и хранит внутри себя коды коррекции, которые защищают данный диапазон.

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

Скремблирование VS Шифрование

Большинство современных SSD не хранят пользовательские данные в открытом виде, вместо этого они предварительно скремблируются или зашифровываются. Разница между этими двумя понятиями достаточно условна. Скремблирование - это некоторое обратимое преобразование. Основная задача этого преобразования получить из исходных данных нечто похожее на случайную последовательность бит. Данное преобразование не является криптостойким. Знание алгоритма преобразования позволяет без особого труда получить исходные данные. В случае с шифрованием знание одного лишь алгоритма ничего не дает. Необходимо также знать и ключ для расшифровки. Поэтому, если в накопителе используется аппаратное шифрование данных, и вам неизвестны параметры шифрования, то из считанных дампов данные восстановить не получится. Лучше даже не приступать к этой задаче. Благо большинство производителей честно признаются в том, что используют шифрование.

Более того, маркетологи сумели сделать из этой преступной (с точки зрения восстановления данных) функциональности опцию, которая якобы дает конкурентное преимущество над другими накопителями. И ладно если бы были отдельные модели для параноиков, в которых была бы качественно сделана защита от несанкционированного доступа. Но сейчас, видимо, настало время, когда отсутствие шифрования считается плохим тоном.
В случае со скремблированием дела обстоят не так печально. В накопителях оно реализовано как побитовая операция XOR (сложение по модулю 2, исключающее «ИЛИ») , выполненная над исходными данными и некоторой сгенерированной последовательностью бит (XOR паттерном).

Часто эту операцию обозначают символом ⊕.

Поскольку
То для получения исходных данных необходимо произвести побитовое сложение прочитанного буфера и XOR паттерна:

(X ⊕ Key) ⊕ Key = X ⊕ (Key ⊕ Key) = X ⊕ 0 = X

Остается определить XOR паттерн. В самом простом случае для всех страниц применяется один и тот же XOR паттерн. Иногда накопитель генерирует длинный паттерн, скажем длиной в 256 страниц, тогда каждая из первых 256 страниц микросхемы складывается со своим куском паттерна, и так повторяется для следующих групп из 256 страниц. Но бывают случаи и посложнее. Когда для каждой страницы индивидуально генерируется свой паттерн на основании какого-то закона. В таких случаях помимо прочего нужно еще попытаться разгадать этот закон, что уже, мягко скажем, непросто.

Сборка образа

После выполнения всех предварительных преобразований (исправление битовых ошибок, устранение скремблирования, определение формата страницы и, возможно, некоторых других) заключительным этапом идет сборка образа. В силу того, что количество циклов перезаписи для ячеек микросхемы ограничено, накопители вынуждены использовать механизмы выравнивания износа, чтобы продлить время жизни микросхем. Следствием этого является то, что пользовательские данные сохранены не последовательно, а хаотично разбросаны внутри микросхем. Очевидно, что накопителю необходимо как-то запоминать куда он сохранил текущий блок данных. Для этого он использует специальные таблицы и списки, которые так же хранит на микросхемах памяти. Множество этих структур принято называть транслятором. Вернее будет сказать, что транслятор это некая абстракция, которая отвечает за преобразования логических адресов (номера секторов) в физические (микросхема и страница).

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

Данный подход к восстановлению данных заставляет полностью эмулировать работу накопителя на низком уровне. Отсюда вытекают плюсы и минусы этого подхода.

Минусы:

  • Трудоемкость . Поскольку мы полностью эмулируем работу накопителя, нам придется выполнить всю грязную работу за него.
  • Риск потерпеть фиаско . Если не удастся решить хотя бы одну из поставленных задач, то о восстановлении не может быть и речи. А вариантов много: невозможность прочитать микросхемы, потому что программатор их не поддерживает; неизвестные коды коррекции; неизвестный XOR паттерн; шифрование; неизвестный транслятор
  • Риск еще больше угробить накопитель . Помимо трясущихся рук риском является сам нагрев микросхем памяти. Для изношенных микросхем это может привести к появлению дополнительного числа битовых ошибок.
  • Время и стоимость работ
Плюсы:
  • Широкий круг задач . Все, что нужно от накопителя, это работающие микросхемы памяти. Неважно в каком состоянии остальные элементы.

Подход №2. Технологический режим

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

Как уже было сказано выше, со временем в микросхемах памяти неизбежно появляются битовые ошибки. Так вот, согласно статистике, причиной выхода из строя SSD в большинстве случаев является появление некорректируемых битовых ошибок в служебных структурах. То есть на физическом уровне все элементы работают нормально. Но SSD не может корректно инициализироваться из-за того, что одна из служебных структур повреждена. Такая ситуация разными моделями SSD обрабатывается по-разному. Некоторые SSD переходят в аварийный режим работы, в котором функциональность накопителя значительно урезана, в частности, на любые команды чтения или записи накопитель возвращает ошибку. Часто при этом, чтобы как-то просигнализировать о поломке, накопитель меняет некоторые свои паспортные данные. Например, Intel 320 series вместо своего серийного номера возвращает строку с кодом ошибки. Наиболее часто встречаются неисправности из серии «BAD_CTX %код ошибки%”.

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

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

Среди технологических команд очень полезными оказываются команды, позволяющие читать страницы микросхем памяти. Таким образом можно считать целиком дампы через SATA интерфейс накопителя, не вскрывая корпус SSD. Сам накопитель в таком случае выступает в роли программатора микросхем NAND flash памяти. В принципе, подобные действия даже не должны нарушать условий гарантии на накопитель.

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

На словах то оно, кончено, все просто звучит. Но на разработку подобных решений уходит немало человеко-часов. И в результате мы добавляем в поддержку всего одну модель SSD.

Но зато сам процесс восстановления данных упрощается колоссально! Имея подобную утилиту, остается только подключить накопитель к компьютеру и запустить эту утилиту, которая с помощью техно-команд и анализа служебных структур построит логический образ. Дальше остается только анализ разделов и файловых систем. Что тоже может быть непростой задачей. Но в большинстве случаев построенный образ без особого труда позволяет восстановить большую часть пользовательских данных.

Минусы:

  • Сложность и стоимость разработки . Достаточно немногие компании могут себе позволить содержать свой отдел разработок и проводить подобного рода исследования.
  • Решения индивидуальны .
  • Ограниченный круг задач . Не ко всем накопителям применим данный подход. SSD должен быть физически исправен. Также, редко, но все же бывает, что повреждения некоторых служебных структур, исключает возможность восстановления пользовательских данных.
Плюсы:
  • Простота .
  • В некоторых случаях позволяет обойти шифрование . По сути подход к восстановлению данных с помощью технологических команд на сегодняшний день является единственным известным способом восстановить данные с некоторых накопителей, использующих аппаратное шифрование данных.

Заключение

На войне все средства хороши. Но лично я отдаю предпочтение второму подходу как более тонкому инструменту. И наиболее перспективному, поскольку все более широкое распространение аппаратного шифрования исключает возможность восстановления информации с „сырых“ дампов микросхем. Однако и у первого подхода есть своя ниша задач. По большому счету это те задачи, которые нельзя решить с использованием технологических функций накопителя. В первую очередь это накопители с аппаратной неисправностью, и при этом нет возможности определить поврежденный элемент, или характер повреждений исключает ремонт. И браться за дело рекомендуется только в том случае, если уже есть успешный опыт восстановления информации с подобной модели SSD, или есть информация о решении. Необходимо знать, с чем придется столкнуться: используется ли шифрование или скремблирование, какой XOR паттерн вероятнее всего используется, известен ли формат транслятора (есть ли сборщик образа). В противном случае шансы на успех невелики, по крайней мере оперативно решить задачу не получится. К тому же нагрев негативно влияет на изношенные микросхемы памяти, в результате чего могут появиться дополнительные битовые ошибки, которые, в свою очередь, могут привнести свою ложку дегтя в последующем.

На этом пока все. Берегите себя! И да хранит ваши данные backup!

Твердотельные накопители (или SSD) на сегодняшний день все больше и больше актуальны и вытесняют с рынка уже привычные жесткие диски HDD. На данный момент пользователи, у которых установлен накопитель в виде SSD, используют его для хранения и системных файлов, некоторых нужных и важных программ, документов, настроек и тому подобных вещей.

SSD диски стали набирать такую популярность благодаря тому, что у них нету подвижных элементов, в отличии от их предшественников HDD. Так, ошибки, вирусы и прекращение работы системы могут очень сильно навредить сохраненным данным на таких дисках. И поэтому удаляются файлы, форматируются диски, повреждаются разделы и системные файлы на таких накопителях так же часто, как и на обычных магнитных.

Но как же восстановить утерянные данные на твердотельном диске и возможно ли это вообще?

То, как восстанавливается информация на обычных жестких дисках, существенно отличается от того, как она может и требует того восстанавливаться на дисках типа SSD. Информацию здесь можно как и восстановить, так и не восстановить. Но можно рассмотреть метод восстановления данных, если воспользоваться специальной программой под названием Hetman Partition Recovery.

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

Во многих случаях данные, которые были удалены специально, либо нечаянно, восстановить не удастся. Этот вывод может и напугать, ведь многие были бы не готовы услышать такой ответ, но это есть так. Отличительная черта, которая есть у накопителя SSD, в отличие от других традиционных устройств, это TRIM. Это — специальная команда в интерфейсе ATA, благодаря которой твердотельный контроллер буквально физически очищает блоки данных, ранее использовавшиеся для хранения удаленных файлов. То есть контроллер получает команду в момент, когда удаляется файл, но само непосредственное удаление имевшейся информации мгновенно не происходит. Тем не менее, сейчас контроллеры в SSD работают так, что сообщение о том, что блок данных является пустым приходит сразу, когда поступает команда об удалении, не взирая на то, что очищение блока данных может производиться и позже.

И что с этим возможно сделать? В общем-то, не многое, но тем не менее. Так же можно сказать и о том, что даже в этом правиле есть исключение. Когда команда TRIM не выполняется, либо данная опция вообще не поддерживается диском, в самой операционной системе или в интерфейсе между персональным компьютером и накопителем SSD, то вы сможете сделать восстановление файлов, будто бы они были сохраненными на обычном диске. Но на сегодня большинство дисков SSD поддерживают команду TRIM. Существуют версии Mac OS, которые не поддерживают данную функцию и поэтому можно спокойно восстанавливать удаленные файлы. Тем же образом можно восстановить файлы на версиях, которые были до Windows Vista. Они так же не имеют поддержки команды TRIM. И так же, к общему сведению можно сказать, что данная команда не имеет возможности и не поддерживается USB и FireWire протоколами. Потому данные с ваших внешних носителей могут спокойно восстанавливаться.

Не рекомендуется также восстанавливать удаленные файлы с уже отформатированных накопителей SSD

Бывают два типа форматирования — полное и быстрое. Если использовать полное , то тогда затирается вся информация, которая хранится на жестком диске. Но если использовать быстрое , то очищается только таблица раздела, в которой содержится информация о файлах. Это дает возможность программе с названием Hetman Partition Recovery качественно, и к тому же еще и быстро, восстановить утерянные и удаленные файлы. Но теперь, для пользователей, у которых накопители SSD, такой номер не пройдет. В момент, когда диск форматируется, и не важно, полное или быстрое форматирование, сама операционная система дает зеленый свет команде TRIM. Далее контроллер SSD буквально физическим методом стирает информацию, которая содержится в блоках данных. И снова нужно сказать, что такая процедура не моментальная, но тем не менее множество контроллеров разрабатываются таким образом, чтобы производилось обнуление имеющихся данных уже после, когда команда TRIM выполнена. Если не учитывать исключения, которые упомянуты выше, то данные после форматирования диска SSD не восстанавливаются. И даже тогда, когда был бы выбран быстрый тип форматирования.

Как восстановить разбитый или поврежденный накопитель SSD?

Если ваш диск типа SSD испортился или имеет очень серьезные повреждения, перестает читаться и его не видит система, то это так же плюс. Ирония судьбы, возможно, но в этот самый момент все файлы надежно хранятся на диске, потому как команда TRIM не имела места быть запущенной под влиянием операционной системы. Иными словами, можно спокойно воспользоваться программой Hetman Partition Recovery, которая предназначена для восстановления данных с уже испорченных, поврежденных, а так же с нечитаемых и недоступных накопителей типа SSD. С помощью этой программы можно получить назад все потерянные данные, либо почти все.

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

Читайте о проблемах восстановление SSD дисков . Физическое затирание удаленных файлов командой TRIM и случаи когда она не сработает. Сегодня твердотельные накопители (англ. SSD ), становятся все популярнее и уже часто приходят на смену традиционным жестким дискам . Часто используемые в роли системных дисков, SSD-накопители хранят операционную систему, приложения, а также все или большую часть файлов пользователя, среди которых документы, настройки, веб-браузеры, электронная почта и многое другое.

Содержание:

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

Возможно ли восстановить SSD?

Ситуация с восстановлением данных с SSD-диска существенно отличается от того, к чему мы привыкли пользуясь обычными жесткими дисками . Не всегда можно восстановить удаленную информацию с SSD-накопителя, но вместе с тем, и не всегда это невозможно.

Давайте рассмотрим различные ситуации и выясним, что, все-таки, можно сделать, если воспользоваться для восстановления специальной программой Hetman Partition Recovery .

Восстановление файлов с SSD

В абсолютном большинстве случаев файлы, которые были удалены с SSD-накопителя, восстановить не удастся. Возможно, это утверждение отличается от того, что вы хотели бы услышать, но отличительной чертой твердотельного накопителя, не присущей другим традиционным устройствам, является TRIM – специальная команда интерфейса АТА, которая заставляет твердотельный контроллер в буквальном смысле физически очищать блоки данных, которые ранее использовались для того, чтобы сохранять удаленные файлы.

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

Скорость работы SSD-накопителей Corsair, Kingmax, Kingston, PQI и т.д. практически одинакова. В независимости от производителя можно утверждать, что факт выполнения команды TRIM практически 100% гарантирует удаление файлов.

Можно ли что-то с этим сделать? На самом деле сделать можно не много. Впрочем, и из этого правила есть исключения. Если команда TRIM не была выполнена, если данная опция не поддерживается диском, операционной системой или же интерфейсом между компьютером и SSD-накопителем, вы сможете восстановить файлы, как если бы они были сохранены на обычном диске.

На сегодняшний день большинство SSD-накопителей поддерживают функцию TRIM. Однако текущая версия операционной системы MacOS, не работает с этой командой, соответственно, вы можете восстановить файлы, удаленные с Mac PC. А также возможно восстановить файлы с более старых версий Windows (те, что были до Windows Vista), которые тоже не поддерживают TRIM. Ну и, наконец, функция TRIM не поддерживается при работе с USB и FireWire протоколами, поэтому, ваши данные с внешних носителей могут быть восстановлены.

Восстановление отформатированных SSD

Обычно были доступны два вида форматирования дисков: полное и быстрое. При полном форматировании затиралась информация, содержащаяся на жестком диске, в то время как при быстром форматировании просто очищалась таблица раздела с информацией о файлах, давая возможность такой программе как Hetman Partition Recovery быстро и качественно восстанавливать необходимые данные. Теперь же для SSD-накопителей такие правила не действуют.

В тот самый момент, когда пользователь форматирует диск, независимо от того, пользуется он полным или быстрым форматированием, операционная система запускает команду TRIM, и SSD-контроллер начинает физически стирать информацию, содержащуюся в блоках данных. Опять же, данная процедура не происходит мгновенно, но большинство контролеров разработаны так, чтобы производить обнуление данных сразу же после того, как команда TRIM была выполнена. За исключением некоторых случаев (упомянутых выше) данные с отформатированных SSD-накопителей не подлежат восстановлению – даже, если был выбран быстрый формат форматирования.

Восстановление сбойных SSD

А что делать, если ваш SSD-накопитель был испорчен, серьезно поврежден (в пределах разумного, конечно) перестал читаться или определяться системой. По иронии судьбы, в этом случае все файлы надежно сохранены на диске, потому что команда TRIM не запускалась операционной системой. Другими словами, вы можете воспользоваться программой для восстановления данных, такой как Hetman Partition Recovery , чтобы восстановить информацию с испорченных, поврежденных, нечитаемых или недоступных SSD-накопителей и в кратчайшее сроки получить назад все, ну или практически все данные. Для предупреждения ситуации с неожиданным выходом накопителя из строя следите за S.M.A.R.T. параметрами SSD и своевременно меняйте устройство на новое.