Мікросхеми NAND пам'яті фірми Hynix. Що таке флеш-пам'ять

Сучасній людині подобається бути мобільним і мати при собі різні високотехнологічні гаджети (англ. gadget - пристрій), що полегшують життя, та що там приховувати, що роблять його більш насиченим та цікавим. І з'явилися вони всього за 10-15 років! Мініатюрні, легкі, зручні, цифрові… Усього цього гаджети досягли завдяки новим мікропроцесорним технологіям, але все ж таки більший внесок було зроблено однією чудовою технологією зберігання даних, про яку сьогодні ми й говоритимемо. Отже, флеш-пам'ять.

Існує думка, що назва FLASH стосовно типу пам'яті перекладається як «спалах». Насправді, це не зовсім так. Одна з версій його появи говорить про те, що вперше в 1989-90 році компанія Toshiba використала слово Flash у контексті «швидкий, миттєвий» при описі своїх нових мікросхем. Взагалі, винахідником вважається Intel, що представила в 1988 флеш-пам'ять з архітектурою NOR. Роком пізніше Toshiba розробила архітектуру NAND, яка і сьогодні використовується поряд із тією ж NOR у мікросхемах флеш. Власне, сьогодні можна сказати, що це два різних види пам'яті, що мають у чомусь схожу технологію виробництва. У цій статті ми спробуємо зрозуміти їхній пристрій, принцип роботи, а також розглянемо різні варіанти практичного використання.

NOR

За допомогою неї здійснюється перетворення вхідних напруг у вихідні, що відповідають «0» та «1». Вони необхідні, тому що для читання/запису даних у комірці пам'яті використовуються різні напруги. Схема осередку наведено на малюнку нижче.

Вона характерна для більшості флеш-чіпів і є транзистором з двома ізольованими затворами: керуючим (control) і плаваючим (floating). Важливою особливістю останнього є здатність утримувати електрони, тобто заряд. Також в осередку є так звані «стік» та «витік». При програмуванні між ними, внаслідок впливу позитивного поля на затворі, що управляє, створюється канал - потік електронів. Деякі з електронів, завдяки наявності більшої енергії, долають шар ізолятора і потрапляють на затвор, що плаває. На ньому вони можуть зберігатися протягом кількох років. Певний діапазон кількості електронів (заряду) на плаваючому затворі відповідає логічній одиниці, а все, що більше за нього, - нулю. Під час читання ці стани розпізнаються шляхом вимірювання порогової напруги транзистора. Для стирання інформації на затвор, що управляє, подається висока негативна напруга, і електрони з плаваючого затвора переходять (тунелюють) на виток. У технологіях різних виробників цей принцип роботи може відрізнятися за способом подачі струму та читання даних з комірки. Хочу також звернути вашу увагу на те, що в структурі флеш-пам'яті для зберігання 1 біта інформації задіюється лише один елемент (транзистор), у той час як в типах енергозалежних пам'яті для цього потрібно кілька транзисторів і конденсатор. Це дозволяє істотно зменшити розміри мікросхем, що випускаються, спростити технологічний процес, а, отже, і знизити собівартість. Але й один біт далеко не межа: Intel вже випускає пам'ять StrataFlash, кожен осередок якої може зберігати по 2 біти інформації. Крім того, існують пробні зразки, з 4-х і навіть 9-бітними осередками! У такій пам'яті використовуються технології багаторівневих осередків. Вони мають нормальну структуру, а відмінність у тому, що їх заряд ділиться на кілька рівнів, кожному з яких у відповідність ставиться певна комбінація біт. Теоретично прочитати/записати можна і більше 4-х біт, однак, на практиці виникають проблеми з усуненням шумів та поступовим витоком електронів при тривалому зберіганні. Взагалі, у існуючих сьогодні мікросхем пам'яті для осередків характерний час зберігання інформації, що вимірюється роками, і кількість циклів читання/запису - від 100 тисяч до кількох мільйонів. З недоліків, зокрема, у флеш-пам'яті з архітектурою NOR варто відзначити погану масштабованість: не можна зменшувати площу чіпів шляхом зменшення розмірів транзисторів. Ця ситуація пов'язана зі способом організації матриці осередків: у NOR архітектурі до кожного транзистора треба підвести індивідуальний контакт. Набагато краще в цьому плані справи у флеш-пам'яті з архітектурою NAND.

NAND

Пристрій та принцип роботи осередків у неї такий самий, як і у NOR. Хоча, крім логіки, є ще одна важлива відмінність - архітектура розміщення осередків та їх контактів. На відміну від вищеописаного випадку, тут є контактна матриця, в перетинах рядків і стовпців якої знаходяться транзистори. Це можна порівняти з пасивною матрицею в дисплеях:) (а NOR - з активною TFT). У випадку з пам'яттю така організація дещо краща – площа мікросхеми можна значно зменшити за рахунок розмірів осередків. Недоліки (куди вже без них) полягають у нижчій порівняно з NOR швидкості роботи в операціях довільного добайтового доступу.

Існують ще й такі архітектури як: DiNOR (Mitsubishi), superAND (Hitachi) та ін. Принципово нового нічого вони не уявляють, а лише комбінують найкращі властивості NAND та NOR.

І все-таки, як би там не було, NOR і NAND на сьогоднішній день випускаються на рівних і практично не конкурують між собою, тому що в силу своїх якостей знаходять застосування в різних сферах зберігання даних. Про це й йтиметься далі…

Де потрібна пам'ять.

Сфера застосування будь-якого типу флеш-пам'яті залежить насамперед від його швидкісних показників та надійності зберігання інформації. Адресний простір NOR-пам'яті дозволяє працювати з окремими байтами або словами (2 байти). У NAND осередки групуються у невеликі блоки (за аналогією із кластером жорсткого диска). З цього випливає, що при послідовному читанні та запису перевага швидкості буде у NAND. Однак, з іншого боку, NAND значно програє в операціях з довільним доступом і не дозволяє безпосередньо працювати з байтами інформації. Наприклад, зміни одного байта потрібно:

  1. рахувати в буфер блок інформації, в якому він знаходиться
  2. у буфері змінити потрібний байт
  3. записати блок зі зміненим байтом назад

Якщо ще до часу виконання перерахованих операцій додати затримки на вибірку блоку і на доступ, то отримаємо неконкурентоспроможні з NOR показники (зазначу, що саме для випадку побайтового запису). Інша справа – послідовний запис/читання - тут NAND навпаки показує значно вищі швидкісні характеристики. Тому, а також через можливості збільшення обсягу пам'яті без збільшення розмірів мікросхеми, NAND-флеш знайшов застосування як зберігач великих обсягів інформації і для її перенесення. Найбільш поширені зараз пристрої, засновані на цьому типі пам'яті, це флеш-драйви та карти пам'яті. Що стосується NOR-флешу, то чіпи з такою організацією використовуються як зберігачі програмного коду (BIOS, RAM кишенькових комп'ютерів, мобілок і т.п), іноді реалізуються у вигляді інтегрованих рішень (ОЗУ, ПЗУ і процесор на одній міні-платі, а то й в одному чипі). Вдалий приклад такого використання - проект Gumstix: одноплатний комп'ютер розміром із платівку жуйки. Саме NOR-чіпи забезпечують необхідний для таких випадків рівень надійності зберігання інформації та гнучкіші можливості по роботі з нею. Обсяг NOR-флеш зазвичай вимірюється одиницями мегабайт та рідко перевалює за десятки.

І буде флеш…

Безумовно, флеш – перспективна технологія. Однак, незважаючи на високі темпи зростання обсягів виробництва, пристрої зберігання даних, що базуються на ній, ще досить дорогі, щоб конкурувати з жорсткими дисками для настільних систем або ноутбуків. В основному зараз сфера панування флеш-пам'яті обмежується мобільними пристроями. Як ви розумієте, цей сегмент інформаційних технологій не такий уже й малий. Крім того, за словами виробників, на ньому експансія флеш не зупиниться. Отже, які основні тенденції розвитку мають місце у цій галузі.

По-перше, як згадувалося вище, велика увага приділяється інтегрованим рішенням. Причому проекти на кшталт Gumstix лише проміжні етапи на шляху реалізації всіх функцій в одній мікросхемі.

Поки що, так звані on-chip (single-chip) системи являють собою комбінації в одному чіпі флеш-пам'яті з контролером, процесором, SDRAM або спеціальним ПЗ. Так, наприклад, Intel StrataFlash у поєднанні з ПЗ Persistent Storage Manager (PSM) дає можливість використовувати обсяг пам'яті одночасно як для зберігання даних, так і для виконання програмного коду. PSM насправді є файлової системою, що підтримується ОС Windows CE 2.1 і вище. Все це спрямоване на зниження кількості компонентів та зменшення габаритів мобільних пристроїв зі збільшенням їхньої функціональності та продуктивності. Не менш цікава та актуальна розробка компанії Renesas – флеш-пам'ять типу superAND із вбудованими функціями управління. До цього моменту вони реалізовувалися окремо в контролері, а тепер інтегровані у чіп. Це функції контролю бед-секторів, корекції помилок (ECC - error check and correct), рівномірності зношування осередків (wear leveling). Оскільки в тих чи інших варіаціях вони присутні в більшості інших брендових прошивок зовнішніх контролерів, коротко їх розглянемо. Почнемо з бід-секторів. Так, у флеш-пам'яті вони теж зустрічаються: вже з конвеєра сходять чіпи, що мають в середньому до 2% неробочих осередків – це нормальна технологічна норма. Але з часом їх кількість може збільшуватися (довкілля в цьому звинувачувати особливо не варто - електромагнітний, фізичний (тряска і т. п.) вплив флеш-чіпу не страшно). Тому, як і в жорстких дисках, у флеш-пам'яті передбачено резервний об'єм. Якщо з'являється поганий сектор, функція контролю підміняє його адресу в таблиці розміщення файлів адресою сектора із резервної області.


Власне, виявленням бідів займається алгоритм ECC - він порівнює інформацію, що записується, з реально записаною. Також у зв'язку з обмеженим ресурсом осередків (близько кількох мільйонів циклів читання/запису кожної) важливо наявність функції обліку рівномірності зносу. Наведу такий рідкісний випадок, що зустрічається: брелок з 32 Мбайт, з яких 30 Мбайт зайняті, а на вільне місце постійно щось записується і видаляється. Виходить, що одні осередки простоюють, інші інтенсивно вичерпують свій ресурс. Щоб такого не було, у фірмових пристроях вільний простір умовно розбивається на ділянки, кожному з яких здійснюється контроль та облік кількості операцій запису.

Ще складніші зміни класу «все-в-одном» зараз широко представлені такими компаніями як, наприклад, Intel, Samsung, Hitachi та інших. Їх вироби є багатофункціональні пристрої, реалізовані лише у мікросхемі (стандартно у ній є процесор, флеш- пам'ять та SDRAM). Вони орієнтовані на застосування в мобільних пристроях, де важлива висока продуктивність при мінімальних розмірах та низькому енергоспоживання. До таких належать: PDA, смартфони, телефони для мереж 3G. Наведу приклад подібних розробок – чіп від Samsung, що поєднує в собі ARM-процесор (203 МГц), 256 Мбайт NAND пам'яті та 256 SDRAM. Він сумісний із поширеними ОС: Windows CE, Palm OS, Symbian, Linux та має підтримку USB. Таким чином, на його основі можливе створення багатофункціональних мобільних пристроїв з низьким енергоспоживанням, здатних працювати з відео, звуком, голосом та іншими ресурсомісткими додатками.

Іншим напрямком вдосконалення флеш є зменшення енергоспоживання та розмірів з одночасним збільшенням обсягу та швидкодії пам'яті. Більшою мірою це стосується мікросхем з NOR архітектурою, оскільки з розвитком мобільних комп'ютерів, що підтримують роботу в бездротових мережах, саме NOR-флеш завдяки невеликим розмірам та малому енергоспоживання стане універсальним рішенням для зберігання та виконання програмного коду. Незабаром у серійне виробництво буде запущено 512 Мбіт чіпи NOR тієї ж Renesas. Напруга живлення їх становитиме 3,3 В (нагадаю, зберігати інформацію вони можуть і без подачі струму), а швидкість в операціях запису – 4 Мбайт/сек. У той же час, Intel вже представляє свою розробку StrataFlash Wireless Memory System (LV18/LV30) - універсальну систему флеш-пам'яті для бездротових технологій. Обсяг її пам'яті може досягати 1 Гбіт, а робоча напруга дорівнює 1.8 В. Технологія виготовлення чіпів – 0,13 нм, у планах перехід на 0,09 нм техпроцес. Серед інновацій цієї компанії також варто відзначити організацію пакетного режиму роботи з NOR пам'яттю. Він дозволяє зчитувати інформацію не по одному байту, а блоками – по 16 байт: з використанням 66 МГц шини даних швидкість обміну інформацією з процесором досягає 92 Мбіт/с!

Що ж, як бачите, технологія розвивається стрімко. Цілком можливо, що на момент виходу статті з'явиться ще щось нове. Так що, якщо що - не спробуйте:) Сподіваюся, матеріал був вам цікавий.

Продуктивність та термін служби SSD в першу чергу залежать від флеш-пам'яті NAND та контролера з прошивкою. Вони є основними складовими ціни накопичувача і при покупці логічно звертати увагу саме на ці компоненти. Сьогодні ми поговоримо про NAND.

Тонкощі технологічного процесу виробництва флеш-пам'яті ви за бажання знайдете на сайтах, що спеціалізуються на оглядах SSD. Моя ж стаття орієнтована на ширше коло читачів і має дві мети:

  1. Відкрити завісу над невиразними специфікаціями, опублікованими на сайтах виробників SSD та магазинів.
  2. Зняти питання, які можуть виникнути при вивченні технічних характеристик пам'яті різних накопичувачів і читання оглядів, написаних для «залізних» гіків.

Для початку я проілюструю проблему картинками.

Що вказують на характеристики SSD

Технічні характеристики NAND, що публікуються на офіційних сайтах виробників та в мережевих магазинах, далеко не завжди містять докладну інформацію. Більше того, термінологія сильно варіюється, і я підібрав для вас дані про п'ять різних накопичувачів.

Вам щось каже ця картинка?

Ок, припустимо, Яндекс.Маркет — не найнадійніше джерело інформації. Звернемося до сайтів виробників — так стало легше?

Можливо, так буде зрозуміліше?

А якщо так?

Чи все-таки краще так?

Тим часом у всіх цих накопичувачах встановлено однакову пам'ять! У це важко повірити, особливо дивлячись на дві останні картинки, чи не так? Дочитавши запис до кінця, ви не тільки в цьому переконаєтесь, а й читатимете подібні характеристики як відкриту книгу.

Виробники пам'яті NAND

Виробників флеш-пам'яті набагато менше, ніж компаній, які продають SSD під своїми брендами. У більшості накопичувачів зараз встановлено пам'ять від:

  • Intel/Micron
  • Hynix
  • Samsung
  • Toshiba/SanDisk

Intel та Micron не випадково ділять одне місце у списку. Вони виробляють NAND за однаковими технологіями в рамках спільного підприємства IMFT.

На провідному заводі в американському штаті Юта та сама пам'ять випускається під марками цих двох компаній майже в рівних пропорціях. З конвеєра заводу в Сінгапурі, який зараз контролює Micron, пам'ять може сходити також під маркою її дочірньої компанії SpecTek.

Всі виробники SSD купують NAND у перерахованих вище компаній, тому в різних накопичувачах може стояти фактично однакова пам'ять, навіть якщо її марка відрізняється.

Здавалося б, за такого розкладу з пам'яттю все має бути просто. Проте є кілька типів NAND, які у свою чергу поділяються за різними параметрами, вносячи плутанину.

Типи пам'яті NAND: SLC, MLC та TLC

Це три різних типи NAND, головною технологічною відмінністю між якими є кількість бітів, що зберігаються в осередку пам'яті.

SLC є найстарішою із трьох технологій, і ви навряд чи знайдете сучасний SSD з такою NAND. На борту більшості накопичувачів зараз є MLC, а TLC - це нове слово на ринку пам'яті для твердотільних накопичувачів.

Взагалі, TLC давно використовується у USB-флешках, де витривалість пам'яті не має практичного значення. Нові технологічні процеси дозволяють знизити вартість гігабайта TLC NAND для SSD, забезпечуючи прийнятну швидкодію та термін служби, у чому логічно зацікавлені усі виробники.

Цікаво, що поки широка публіка стурбована обмеженою кількістю циклів перезапису SSD, у міру розвитку технологій NAND цей параметр лише знижується!

Як визначити конкретний тип пам'яті в SSD

Незалежно від того, чи придбали ви твердотільний накопичувач або тільки плануєте покупку, після прочитання цього запису у вас може виникнути питання, винесене в підзаголовок.

Жодна програма типу пам'яті не показує. Цю інформацію можна знайти в оглядах накопичувачів, але є і більш короткий шлях, особливо коли потрібно порівняти кілька кандидатів на покупку.

На спеціалізованих сайтах можна знайти бази даних SSD, і ось вам приклад .

Я без проблем знайшов там характеристики пам'яті своїх накопичувачів, крім SanDisk P4 (mSATA), встановленого в планшеті.

В яких SSD встановлена ​​найкраща пам'ять

Давайте спочатку пройдемося за основними пунктами статті:

  • виробників NAND можна перерахувати на пальцях однієї руки
  • у сучасних твердотільних накопичувачах використовується два типи NAND: MLC і TLC, що тільки набирає обертів
  • MLC NAND відрізняється інтерфейсами: ONFi (Intel, Micron) та Toggle Mode (Samsung, Toshiba)
  • ONFi MLC NAND ділиться на асинхронну (дешевше та повільніше) та синхронну (дорожче та швидше)
  • виробники SSD використовують пам'ять різних інтерфейсів та типів, створюючи різноманітний модельний ряд на будь-який гаманець
  • офіційні специфікації рідко містять конкретну інформацію, але бази даних SSD дозволяють точно визначити тип NAND

Звісно, ​​у такому зоопарку не може бути однозначної відповіді на запитання, винесене у підзаголовок. Незалежно від бренду накопичувача NAND відповідає заявленим специфікаціям, інакше ОЕМ-виробникам немає сенсу її купувати (вони дають на SSD свою гарантію).

Проте… уявіть, що літо вас порадувало небувалим урожаєм суниці на дачі!

Вона вся соковита та солодка, але вам просто не з'їсти стільки, тому ви вирішили продати частину зібраних ягід.

Найкращу суницю ви залишите собі чи виставите на продаж? :)

Можна припустити, що виробники NAND встановлюють найкращу пам'ять своїх накопичувачів. Враховуючи обмежену кількість компаній, що випускають NAND, список виробників SSD виходить ще коротшим:

  • Crucial (підрозділ Micron)
  • Intel
  • Samsung

Знову ж таки, це лише припущення, не підкріплене достовірними фактами. Але хіба ви надійшли б інакше на місці цих компаній?

Флеш-пам'ять NAND використовує логічний елемент NOT AND, і, як і багато інших типів пам'яті, зберігає дані у великому масиві клітин, де кожен осередок містить один або кілька бітів даних.

Будь-який вид пам'яті може зазнавати впливу внутрішніх та зовнішніх факторів, таких як зношування, фізичне пошкодження, помилки апаратного забезпечення та інші. У таких випадках ми ризикуємо розлучитися зі своїми даними зовсім. Що ж робити у таких ситуаціях? Не варто хвилюватися, оскільки існують програми відновлення даних, які відновлюють дані легко та швидко, без необхідності купувати додаткове обладнання або, у крайньому випадку, розпочинати роботу над загубленими документами заново. Розглянемо NAND флеш-пам'ять докладніше.

Як правило, масив NAND ділиться на безліч блоків. Кожен байт в одному з цих блоків може бути індивідуально написаний і запрограмований, але один блок представляє найменшу частину масиву, що стирається. У таких блоках кожен біт має двійкове значення 1. Наприклад, монолітний пристрій NAND флеш-пам'яті об'ємом 2 Гб зазвичай складається з блоків 2048 Б (128 КБ) і 64 на кожен блок. Кожна сторінка вміщує 2112 Б, і складається з 2048 байт даних та додаткової зони 64 байта. Запасні області зазвичай використовуються для ECC, інформації про зношування осередків та інші накладні функції програмного забезпечення, хоча фізично він не відрізняється від решти сторінки. NAND пристрої пропонуються з 8-бітним або 16-бітовим інтерфейсом. Вузол даних підключений до пам'яті NAND через двонаправлену шину даних 8 або 16 біт. У 16-бітному режимі команди та адреси використовують 8 біт, решта 8 біт припадає на використання під час циклів передачі даних.

Типи флеш-пам'яті NAND

Флеш-пам'ять NAND, як ми вже зазначали, буває двох типів: однорівнева (SLC) та багаторівнева (MLC). Однорівнева флеш-пам'ять – SLC NAND (single level cell) добре підійде для додатків, які потребують високої та середньої щільності. Це найпростіша у використанні та зручна технологія. Як описано вище, SLC NAND зберігає один біт даних у кожному осередку пам'яті. SLC NAND пропонує відносно високу швидкість читання та запису, хорошу продуктивність та алгоритми корекції простих помилок. SLC NAND може бути дорожчим за інші технології NAND у розрахунку на один біт. Якщо програма потребує високої швидкості читання, наприклад, високопродуктивної медіа-карти, деяких гібридних дисків, твердотілих пристроїв (SSD) або інших вбудованих програм — SLC NAND може стати єдиним підходящим вибором.

Багаторівнева флеш-пам'ять – MLC NAND (multilevel cell) призначена для додатків вищої щільності та з повільним циклом.

На відміну від SLC NAND багаторівневі комірки MLC NAND зберігають два або більше біт на одну комірку пам'яті. Щоб визначити місце для кожного біта, застосовується напруга та струм. Пристрої SLC потребують лише одного рівня напруги. Якщо струм виявлено, то значення біта дорівнює 1; якщо струм не виявлений, то біт позначається як 0. Для пристрою MLC визначення значень бітів використовуються три різних рівня напруги.

Як правило, MLC NAND пропонує обсяг вдвічі більше, ніж SLC NAND для одного пристрою і коштує також дешевше. Оскільки SLC NAND втричі швидше, ніж MLC NAND і пропонує продуктивність вище, більш ніж 10 разів; але для багатьох програм, MLC NAND пропонує правильне поєднання ціни та продуктивності. Насправді, MLC NAND представляє майже 80% від усіх поставок флеш-пам'яті NAND. І флеш-пам'ять MLC NAND домінує на вибір споживача за класом SSD тому, як їх продуктивність перевершує магнітні жорсткі диски.

Термін служби твердотільного накопичувача залежить від кількості байтів, записаних у NAND флеш-пам'ять. Більшість пристроїв на базі MLC мають гарантію строком на один-три роки. Однак важливо розуміти, як саме використовуватиметься пристрій, оскільки SSD на базі MLC можуть прослужити менше, якщо передбачається множинний перезапис на диск. З іншого боку рішення на базі SLC прослужать довше за передбачувані три роки навіть при важких PE циклах.

Історія NAND-флеш

Флеш-пам'ять NAND – це незалежний твердотільний накопичувач, що вніс значні зміни в індустрії зберігання даних, вік якої на сьогоднішній момент становить уже 26 років. Флеш-пам'ять була винайдена доктором Фуджіо Масуока (Fujio Masuoka) під час роботи в компанії Toshiba приблизно в 1980 році. За словами Toshiba ім'я «флеш» було запропоновано колегою доктора Масуока, паном Шо Цзі Арізумі (Sho-ji Ariizumi), через те, що процес стирання вмісту пам'яті нагадав йому спалах камери.

Компанія Toshiba поставила NAND флеш-пам'ять на комерційну ногу в 1987 році; багато що змінилося з того часу. Ринок NAND флеш-пам'яті виріс швидко при продажах, що у вісім разів перевищують обсяги продажів пам'яті DRAM (Dynamic random access memory — динамічна пам'ять з довільним доступом). NAND пам'ять стала високоміцним пристроєм для зберігання даних і вибором багатьох користувачів. Така пам'ять сьогодні використовується в різних картах пам'яті та USB-накопичувачах, хмарних сховищах зустрічається у багатьох користувачів як у промисловості та підприємництві, так і в домашніх пристроях. Пристрої Apple's iPhone, iPod та iPad, а також телефони та планшети на базі Android також широко використовують NAND флеш-пам'ять. З тих часів це нововведення пробилося в нову епоху, в якій споживачі можуть завжди скористатися своїми файлами: відео, музикою, книгами та документами, де б Ви не знаходилися.

Високоякісна NAND запрограмована на читання інформації невеликими блоками, або сторінками, тоді як флеш-пам'ять типу NOR зчитує та записує дані по 1 байту за раз. NOR флеш-пам'ять краща для пристроїв, які зберігають і запускають коди, зазвичай невеликих обсягів.

Введення твердотільної NAND флеш-пам'яті та пристроїв зберігання даних на додаток до звичайних магнітних жорстких дисків дало підприємствам нові можливості для запуску їхнього сервера та зберігання ключових бізнес-додатків. Оскільки така пам'ять не має частин, що рухаються, NAND флеш може обробляти і переміщувати дані з одного місця в інше значно швидше завдяки відмінній швидкості читання і запису. Програми, що використовуються у фінансових послугах, роздрібній торгівлі та хмарних веб-сервісах, часто експлуатують сервери, оснащені флеш-пам'яттю NAND.

Флеш-пам'ять зберігає інформацію в масиві, що складається з осередків пам'яті та транзисторів з плаваючим затвором. У пристроях з клітинками одного рівня (SLC), кожна клітинка зберігає лише один біт інформації. Деякі нові типи флеш-пам'яті, відомі як пристрої багаторівневих осередків (MLC), можуть зберігати більше, ніж один біт на комірку, вибираючи між кількома рівнями електричного заряду з метою застосувати до транзистора з плаваючим затвором та його комірками.

Ключові факти щодо NAND Flash

Еволюція типів флеш-пам'яті вражає. StorageNewsletter.com, шановне і загальновизнане джерело щоденних електронних новин для промисловості, стежить за розвитком флеш-пам'яті NAND досить тривалий час і має цілий архів даних щодо існування цієї технології.

Флеш-чіпи: збільшення обсягів та нижча ціна флеш-пам'яті та твердотільних накопичувачів безпосередньо залежать від процесу виробництва мікросхем флеш-пам'яті NAND. SanDisk і Toshiba тепер пропонують лінію MLC на 128 ГБ і чіп із осередком у 3 біти кожна. Серед великих світових виробників флеш-пам'яті є такі компанії, як: Intel, Samsung, Seagate, Nvidia, LSI, Micron і Western Digital.

Флеш-ключі (або флешки): перші USB-флеш були розроблені наприкінці 1990-х років компанією M-Systems, яка пізніше була придбана компанією SanDisk. У 2001 році в США компанія IBM почала виробляти версію пам'яті об'ємом 8 Мб, яка називається «пам'ять ключів». Зараз обсяг такої пам'яті сягає 128 ГБ та ціни були значно знижені.

Та ж компанія M-Systems стала першим виробником SSD у 1995 році. З 1999 року SN.com зафіксували 590 різних моделей, запущених у виробництво 97 компаніями. Серед решти BiTMICRO Networks в 1999 випустили модель E-Disk SNX35 розміром в 3.5 дюйма і об'ємами від 128MB до 10GB, часом доступу в 500 мс і зі швидкістю читання і запису в 4MБ/с за допомогою інтерфейсу SCSI-2. У наступний рік M-Systems виробили FFD SCSI обсягом 3 ГБ, 2,5 дюймовий SSD з максимальною швидкістю читання 4 МБ/с і записи 3 МБ/с.

Сьогодні можна отримати пам'ять об'ємом 16 ТБ (PCIe SSD від компанії OCZ) зі швидкістю читання до 4 ГБ/с і запису до 3,8 ГБ/с. Компанія OCZ також оголосила в 2012 році про максимально малий час запису та читання інформації: 0.04 мс для читання та 0.02 мс для операцій запису.

Ми часто можемо потрапити в ситуацію, коли дані видаляються або пошкоджуються внаслідок різних помилок як у системі, так і помилок самої людини. Про те, як відновити дані з картки пам'яті, можна дізнатися.

Критерії вибору пристрою з NAND-флеш

Отже, коли доходить до вибору пристрою (на прикладі SSD) з технологією NAND-флеш необхідно враховувати кілька критеріїв вибору:

Переконайтеся, що SSD-пристрій, операційна та файлова система підтримує TRIM, особливо, якщо карта використовує контролер жорсткого диска, що ускладнює процес збору «сміття», непотрібних даних:

- Дізнайтеся про те, чи підтримує Ваша ОС трим можна дізнатися в будь-якому джерелі інформації; — існують програми, які сприяють додаванню трім-технології для Вашої ОС, якщо така не підтримується. Але спочатку дізнайтеся, чи це не пошкодить загальної продуктивності пристрою. SSD із пам'яттю NAND стане відмінним вибором, коли потрібна висока продуктивність, відсутність шуму, стійкість до зовнішніх факторів впливу або мале споживання енергії: - непослідовне зчитування дозволить збільшити продуктивність порівняно з HDD; - дізнайтеся про максимально можливу продуктивність пристрою, щоб не перевищити межі; Для кращого виконання операцій та цілодобового їх проведення краще вибирати SLC, ніж MLC: — SSD на базі NAND відмінно прискорює роботу серверів, але пам'ятайте, що для цього також знадобиться запасне місце для «сміття» та/або три. — Система RAID з SSD дасть високі показники продуктивності та стійкості, але використовуйте спеціально розроблені для SSD рейд-контролери, інакше накопичитися стільки «сміття», що не впорається навіть трьома або системою збору. Пристрої SSD з більшими показниками витривалості, звичайно ж, прослужать довше: — Наприклад, вибирайте пристрій об'ємом 100 ГБ замість 128 ГБ, 200 ГБ замість 256 ГБ і так далі. Тоді Ви точно знатимете, що 28 або 56 і так далі гігабайт пам'яті це, можливо, зарезервоване місце для розрахунку зносу, реорганізації файлів і дефектних осередків пам'яті. Для використання в промисловості, на виробництві або в офісах краще вибирати пристрої бізнес-класу, наприклад, PCI Express (PCIe) SSD пристрій:

Карти PCIe із спеціально налаштованим контролером SSD може дати дуже високу продуктивність введення-виведення даних та витривалість.

В 1989 відбувся анонс Nand Flash пам'яті, дана розробка була представлена ​​компанією Toshiba на International Solid-State Circuits Conference. До цього існували лише розробки NOR пам'яті, основними недоліками якої були: швидкість роботи та велика площа чіпа. Основною відмінністю NAND Flash від Nor Flash є особливості адресації, якщо в NOR Flash можна адресувати довільну комірку, то NAND Flash застосована сторінкова адресація (зазвичай розмір сторінки 528, 2112, 4224, 4304, 4320, 8576 байт).

На сьогодні існує маса пристроїв, де використовуються мікросхеми NAND Flash, у тому числі і в різних носіях інформації, таких як SSD накопичувачі, USB Flash, різні Flash card (MMC, RS-MMC, MMC micro, SD, miniSD, MicroSD, SDHC, CF, xD, SmartMedia, Memory Stick і т.д.)

Принципово носії інформації на NAND Flash представляють мікроконтролер, який забезпечує роботу з мікросхемами пам'яті, а також роботу з різними пристроями за заданим стандартами інтерфейсом. У більшості пристроїв це виглядає як невелика плата, на якій розміщено одну або кілька мікросхем NAND Flash пам'яті у конструктивному виконанні TSOP-48, short TSOP-48 або TLGA-52 та мікроконтролер. Мініатюрні пристрої, як правило, виконані у вигляді одного чіпа в який інтегровані як мікросхема Nand Flash, так і мікроконтролер.

Основні недоліки NAND Flash пам'яті - недостатньо висока швидкість і не дуже велика кількість циклів запису, які здатна витримати мікросхема. Для обходу цих проблем, виробники контролерів йдуть на деякі хитрощі, такі як організація запису в NAND Flash в кілька потоків, для підвищення швидкодії та організація логічних банків розбитих на досить великі блоки та організація складної системи трансляції.

Для рівномірного зношування NAND Flash практично у всіх контролерах організовано поділ адресного простору на логічні банки, які у свою чергу поділяються на блоки (що складаються з декількох сторінок пам'яті), зазвичай на 256-2048 блоків. Контролером ведеться облік кількості записів у кожен із блоків. Щоб дані користувача можна було вільно переміщати всередині банку, цього є логічна нумерація блоків тобто. на практиці при читанні мікросхеми в дамп бачимо картину, що дані користувача у вигляді досить великих блоків (16кб - 4Мб) хаотично перемішані. Порядок роботи з даними користувача відображено в трансляторі у вигляді таблиці в якій вказано порядок побудови блоків для того щоб отримати впорядкований логічний простір.

Для збільшення операцій читання/запису виробники контролерів реалізують функції розпаралелювання даних, тобто пряма аналогія з RAID масивом рівня 0 (stripe), лише більш складна реалізація. На практиці це виглядає або у вигляді внутрішньоблочного розпаралелювання (інтерліву), на більш дрібні підблоки (як правило від 1 байта, до 16Кб), а також симетричне розпаралелювання (страйп) між фізичними банками мікросхеми NAND Flash і між декількома мікросхемами.

Варто розуміти, що при такому принципі роботи, транслятор накопичувача - таблиця, що постійно змінюється, практично при кожному запису в NAND Flash. Виходячи з принципу роботи з NAND Flash – читання блоку в буфер, внесення змін та запис блоку на місце, очевидно, що найнебезпечнішими для даних є незавершені операції запису; наприклад, коли відбувається запис зміненого транслятора. В результаті необдуманого поводження з накопичувачами: раптового вилучення їх з USB роз'єму або з роз'єму кардрідера під час запису, може призвести до руйнування службових даних, зокрема таблиці трансляції.

При руйнуванні службових даних, накопичувач не може функціонувати або в деяких випадках функціонує неправильно. Вилучення даних програмними засобами, як правило, не можливе з багатьох причин. Одне з рішень – це випоювання мікросхем NAND Flash з наступним читанням на відповідному зчитувачі (програматорі). Враховуючи, що оригінальний транслятор відсутній, або пошкоджений, має бути робота з розбору дампа витягнутого з мікросхеми NAND Flash. Багато хто, напевно, звернув увагу на дивний розмір сторінок пам'яті в NAND Flash. Це пояснюється тим, що в кожній сторінці, крім даних користувача є службові дані, зазвичай це представлено у вигляді 512/16; 2048/64; 4096/128; 4096/208 (існують і значно складніші варіанти організації дані/служб). У службових даних присутні різні маркери (маркер, номери блоку в логічному банку; маркер ротації блоку; ECC; і т.п.) Відновлення даних користувача зводиться до усунення розпаралелювання даних всередині блоків, між банками і між мікросхемами пам'яті для отримання цілісних блоків. Якщо є потреба, то усуваються внутрішньоблочні ротації, ренумерації тощо. Подальше завдання полягає у побічній збірці. Для того щоб її здійснити необхідно чітко усвідомити кількість логічних банків, кількість блоків у кожному логічному банку, кількість блоків, що використовуються в кожному банку (задіяні не всі) місцезнаходження маркера в службових даних, алгоритм нумерації. І тільки потім проводити збір блоків в кінцевий файл-образ з якого можна буде зробити читання даних користувача. У процесі збору підстерігають підводні камені у вигляді кількох блоків-претендентів на одну позицію кінцевий файл-образ. Після вирішення даного кола завдань, отримуємо файл-образ з інформацією користувача.

У випадках, коли дані не відіграють жодної ролі, але є бажання відновити працездатність самого накопичувача, то найкращий варіант корекції проблем зі службовими даними – це виконання процедури форматування фірмовою утилітою із сайту виробника накопичувача. Багато утиліт фактично переписують всю службову інформацію, створюють чистий транслятор, і виконують процедуру форматування зі створенням нової файлової системи. Якщо ж виробник не спромігся викласти Recovery-утиліту, тоді вихід у вигляді пошуку утиліт форматування накопичувачів на NAND Flash «по контролеру», єдине, що здасться складним користувачеві – це велика кількість виробників контролерів і складності з ідентифікацією останнього.

Павло Янчарський

Передрук матеріалів дозволено лише із зазначенням активного посилання на оригінал статті