Останнім часом широку популярність набули носії інформації на основі мікросхем флеш-пам’яті. За популярністю в наш час їм немає рівних: карти пам’яті в фотоапаратах, стільникових телефонах, плеєрах, USB флеш брелоки, а з недавнього часу ще й SSD диски. Роз’ємами для карт пам’яті оснащені багато пристроїв, такі як принтери, стаціонарні DVD програвачі, автомагнітоли, та багато інших мультимедійних гаджетів.
І така популярність не випадкова: по практичності «флешкам» теж немає рівних. Великий, постійно зростаючий об’єм, який обчислюється вже гігабайтами і десятками гігабайт, досить високу швидкодію, а також заявлена надійність і довговічність (на цьому питанні зупинимося докладніше в рамках цієї статті)
Для початку розглянемо складові флешки.
Flash-пам’ять отримала свою назву завдяки тому, як проводиться записування та стирання даного виду пам’яті.Типова USB флешка, а також більшість типів карт пам’яті і SSD диски, влаштовані таким чином:
- На платі є мікроконтролер 1 який обробляє команди і здійснює операції з пам’яттю. Він має інтерфейс USB, SD, MMC, SATA з однієї сторони, в залежності від типу носія та інтерфейс роботи з мікросхемами пам‘яті з іншої ;
- Одна або кілька мікросхем пам’яті 2;
- Електронна обв’язка з пасивних елементів.
Давайте розглянемо основні складові флешки трохи докладніше.
Мікросхеми пам’яті флеш накопичувачів
Всі сучасні флеш-накопичувачі побудовані на основі мікросхем енергонезалежної NAND пам’яті. Скорочення NAND – походить від словосполучення NOT-AND (логічна функція І-НЕ), що лежить в основі організації елементарної логічної комірки, на якій побудована ця пам’ять. Елементарні комірки пам’яті в цих мікросхемах об’єднані в сторінки, а сторінки в блоки.
При такій організації звернення до окремої комірки пам’яті неможливе, прочитати можна тільки сторінку цілком, а стерти і перезаписати тільки цілий блок. З особливостей такої організації можна відзначити високу швидкодію і високу щільність розміщення на кристалі.
Але є і недоліки.
Наприклад, якщо під час внесення змін до певного блоку даних, раптово вимкнути живлення пристрою, існує ймовірність втрати даних в цьому блоці. Спочатку йде стирання блоку в основний матриці пам’яті, а змінений блок в пам’ять ще не встиг записатися. Це поширена причина так званих «логічних» пошкоджень накопичувача.
Відомо, що операційні системи сімейства Windows мають режим «відкладеного запису». Це коли дані записуються на накопичувач безпосередньо без затримок, а таблиця розміщення файлів зберігатися в оперативній пам’яті, і оновлюється на носії через деякий час або при виникненні певних подій.
Внаслідок чого, досить часто зустрічається ситуація, коли, записавши дані на флешку, користувач відразу ж виймає її з роз’єму, не скориставшись функцією безпечного відключеня, яка як раз оновлює таблиці розміщення файлів на носії, і «правильно» відмонтовує його з системи.
В результаті, в кращому випадку дані фізично будуть присутні на накопичувачі, але не будуть відображатися в дереві файлів, а в гіршому випадку логічна структура накопичувача буде пошкоджена, і накопичувач може перестати коректно «визначатися» (просить форматування або просить перевірку на цілісність файлової системи). Як кажуть в подібних випадках, «комп’ютер не бачить флешку» (але властивості диску показують правильний об’єм носія).
Основна проблема флеш-пам’яті – знос комірок пам’яті.
Справа в тому, що будь-яка флеш-пам’ять має обмежену кількість циклів перезапису кожної комірки (від 10 000 до 1 000 000 циклів).
Якщо у фотоапараті або плеєрі, де дані оновлюються не дуже часто, таке обмеження не критично, то, наприклад, при роботі з базами даних на флеш-носії цей ресурс можна виробити достатньо швидко, так як дуже часто відбуваються зміни, в результаті яких багаторазово перезаписувати одні і ті-ж блоки даних.
У зв’язку з цим не рекомендується використовувати флеш пам’ять для роботи, постійного звернення до даних, а також для установки на неї операційної системи, так як ресурс такої флешки буде вироблений дуже швидко, і флешка вийде з ладу.
Контролер флешки
Найбільш складною і загадковою частиною флешки є, безумовно, її контролер.
Основні його функції – робота з мікросхемами пам’яті (виконання операцій посторінкового читання, вибірки даних, поблочного запису, розміщення і адресація даних в декількох мікросхемах пам’яті, а також інші спеціальні функції) і надання інтерфейсу до хост-пристрою.
Коли надходить команда на читання певної комірки даних, контролер повинен визначити в якій мікросхемі знаходиться ця група, в якому блоці цієї мікросхеми, в якій сторінці блоку, і потім власне адреса комірки в сторінці. Оскільки зчитування можливо тільки сторінки цілком, контролер зчитує її в свій буфер, знаходить в ній потрібну комірку, і відправляє її вміст хост-пристрою.
При надходженні команди на запис також знаходиться потрібний блок, але, на цей раз, він зчитується не посторінково, а – цілком. Потім в буфері проводяться необхідні зміни, блок з мікросхеми цілком стирається і знову записується змінений блок з буфера контролера.
Крім того, для вирівнювання зносу блоків, контролер періодично перепризначає їх (по суті – міняє місцями). В результаті чого досягається досить рівномірний знос по циклам запису, і мікросхеми пам’яті, таким чином, служать довше. Контролер стежить за станом кожного блоку окремо, і якщо який-небудь з блоків перевищив допустиму кількість циклів перезапису – контролер переходить в режим «тільки читання» – дані считати з нього можна, а записати вже не можна. Такі накопичувачі не придатні для подальшого використання. Це ідеальний варіант відмови в роботі пристрою.
В цьому випадку слід скопіювати дані з носія, і замінити його.
Контролер має в собі прошивку, таблиці конфігурації, а також деякі моделі зберігають всередині себе таблиці зносу блоків пам’яті, а також багато іншої службової інформації. Різноманітність контролерів дуже велика, а їх версій просто незліченна кількість. У зв’язку з цим, при будь-якому пошкодженні контролера, шукати йому заміну для відновлення інформації безглуздо.
Описаний варіант відмови носія відбувається дуже рідко. Насправді знос комірок відбувається швидше ніж думає контролер, тому він падає в ступор. Багато спеціалістів з відновлення даних при діагностиці кажуть, що пошкоджений контролер, а насправді це деградація пам‘яті. В таких випадках пристрій бачиться в системі нульовим або не стандартним об’ємом, що не відповідіє зазначеному на корпусі накопичувача.
Для відновлення інформації в такому випадку мікросхеми пам’яті випаюються, зчитуються на спеціальному обладнанні, і дані збираються вручну. Приклад роботи з таким носієм http://datarecovery.org.ua/2018/05/04/usbflash_part1/
Електронна обв’язка потрібна для живлення мікросхем і узгодження логічних рівнів. І хоча тут немає нічого складного, не рідкісні випадки виходу з ладу саме цієї самої електронної обв’язки, особливо стабілізатора живлення. Відновлення даних в такому випадку залежить від ступеня пошкоджень: або електроніка відновлюється прямо на флешці, і дані вичитуються в штатному режимі, або як у випадку зі згорілим контролером – дані знімаються безпосередньо з мікросхем пам’яті і збираються вручну.
Флешки моноліти.
Останнім часом зустрічаються флешки у яких контролер, пам’ять і вся електроніка упакована в один чіп. Це флешки моноліти. Така конструкція значно компактніше класичної, але має безліч недоліків: меншу надійність, більш слабке охолодження і неможливість отримати доступ до мікросхеми пам’яті минаючи контролер.
У разі виходу з ладу контролера, або електронної обв’язки в подібній флешці, складність робіт по відновленню даних збільшується на порядок.