Як працюють жорсткі диски?

Як працюють жорсткі диски?

Тут у wfoojjaec ми часто обговорювали різницю між різними типами NAND-структур - вертикальною NAND проти планарної або багаторівневою коміркою (MLC) проти трирівневими клітинами (TLC) та квадратичними клітинами (QLC). Тепер поговоримо про більш основне відповідне питання: як працюють жорсткі диски в першу чергу і як вони порівнюються з новими технологіями, як, наприклад, енергонезалежна технологія зберігання Intel, Optane?

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

З самого початку було зрозуміло, що жорсткі диски не можуть відповідати швидкості, з якою можуть працювати процесори. Затримка в жорстких дисках вимірюється в мілісекундах порівняно з наносекундами для вашого типового процесора. Одна мілісекунда - це 1 000 000 наносекунд, і зазвичай на жорсткому диску потрібно 10-15 мілісекунд, щоб знайти дані на диску і почати їх читати. Промисловість жорстких дисків представила менше плат, кеш-пам’яті на дисках і більш високі швидкості шпинделя, щоб протидіяти цій тенденції, але тільки такі швидкі диски можуть обертатися. Сімейство VelociRaptor 10 000 об / хв Western Digital - це найшвидший набір накопичувачів, коли-небудь побудований для споживчого ринку, в той час як деякі приводи підприємств обертаються до 15 000 об / хв. Проблема полягає в тому, що навіть найшвидший обертовий диск із найбільшими кешами та найменшими платниками все ще сильно повільний, що стосується вашого процесора.

Як відрізняються SSD-диски

"Якби я запитав людей, що вони хочуть, вони швидше відповіли б коням". - Генрі Форд

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

Зображення Кіферца в Вікіпедії, Creative Commons Attribution-Share Alike 3.0.
Зображення Кіферца в Вікіпедії, Creative Commons Attribution-Share Alike 3.0.

На схемі вище показана проста конструкція флеш-комірок. Електрони зберігаються у плаваючих воротах, який потім читається як заряджений "0" або не заряджений "1." Так, у NAND спалаху 0 означає, що дані зберігаються у комірці - це навпаки, як ми зазвичай думаємо про нуль або один. Спалах NAND організований в сітці. Весь макет сітки називається блоком, тоді як окремі рядки, що складають сітку, називаються сторінкою. Загальні розміри сторінок - 2K, 4K, 8K або 16K, із 128 до 256 сторінок на блок. Тому розмір блоку зазвичай варіюється між 256 КБ і 4 МБ.

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

Зображення CodeCapsule
Зображення CodeCapsule

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

У наведеній діаграмі слід помітити дві речі. По-перше, зауважте, як додавання більшої кількості біт на комірку NAND має значний вплив на продуктивність пам'яті. Для записів це гірше, на відміну від зчитування - типова затримка трирівневої осередку (TLC) у 4 рази гірша порівняно з однорівневою NAND-осередковою (SLC) NAND для читання, але на 6 разів гіршою для запису. Значно впливають затримки стирання. Вплив теж не пропорційний - TLC NAND майже вдвічі повільніше, ніж MLC NAND, незважаючи на вміст даних на 50% більше (три біти на клітинку, а не два). Це також стосується приводів QLC, які зберігають ще більше біт при різному рівні напруги в одній клітині.

Як працюють жорсткі диски?

Причина TLC NAND повільніше, ніж MLC або SLC, пов'язана з тим, як дані переміщуються в клітинку NAND і виходять з неї. За допомогою SLC NAND контролеру потрібно знати лише, чи біт дорівнює 0 або 1. При MLC NAND комірка може мати чотири значення - 00, 01, 10 або 11. З TLC NAND комірка може мати вісім значень , а QLC має 16. Читання належного значення з комірки вимагає, щоб контролер пам'яті використовував точну напругу, щоб з'ясувати, заряджається якась конкретна комірка.

Читає, пише та стирає

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

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

Якщо ви використовували SSD, ви, ймовірно, чули про щось, що називається "збирання сміття". Збір сміття - це фоновий процес, який дозволяє прискорити зменшення впливу циклу програми / стирання на виконання, виконуючи певні завдання у фоновому режимі. Наведені нижче кроки проходять процес збору сміття.

Зображення надано Вікіпедією
Зображення надано Вікіпедією

Зауважте у цьому прикладі, накопичувач скористався тим, що може дуже швидко записувати на порожні сторінки, записуючи нові значення для перших чотирьох блоків (A'-D '). Також написано два нові блоки: E і H. Блоки AD тепер позначені як несвіжі, це означає, що вони містять інформацію, яку накопичувач відзначив як застарілу. Під час простою SSD перемістить нові сторінки до нового блоку, видалить старий блок та позначить його як вільний простір. Це означає, що наступного разу, коли SSD потребує виконання запису, він може записувати безпосередньо в тепер порожній блок X, а не виконувати цикл програми / стирання.

Наступна концепція, яку я хочу обговорити, - TRIM. Коли ви видаляєте файл з Windows на типовому жорсткому диску, файл не видаляється негайно. Натомість операційна система повідомляє на жорсткому диску, що він може перезаписати фізичну область диска, де зберігалися ці дані наступного разу, коли це потрібно для запису. Ось чому можливе відновлення файлів (і чому видалення файлів у Windows зазвичай не очищає багато фізичного дискового простору, поки ви не спорожните сміттєвий короб). З традиційним жорстким диском ОС не потрібно звертати увагу на те, де записуються дані, або який відносний стан блоків чи сторінок. Що стосується SSD, це має значення.

Команда TRIM дозволяє операційній системі повідомити SSD, що вона може пропустити перезапис певних даних наступного разу, коли буде виконано блокування стирання. Це зменшує загальну кількість даних, які записує накопичувач, і збільшує довговічність SSD. І читання, і записування пошкодження спалаху NAND, але записи роблять набагато більше шкоди, ніж читання. На щастя, довговічність на рівні блоку не виявилася проблемою в сучасних спалах NAND. Більше даних про довговічність SSD, люб’язно надану Технологічним звітом, можна знайти тут.

Останні два поняття, про які ми хочемо поговорити, - це вирівнювання зносу та посилення запису. Оскільки SSD записують дані на сторінки, але стирають дані в блоках, кількість даних, що записуються на диск, завжди більша, ніж фактичне оновлення. Якщо ви внесете зміни до файлу розміром 4 Кб, наприклад, весь блок, в якому знаходиться файл 4К, повинен бути оновлений та переписаний. Залежно від кількості сторінок в блоці та розміру сторінок, ви можете записати дані вартістю 4 Мб для оновлення файлу 4 КБ. Збір сміття зменшує вплив посилення запису, як і команда TRIM. Зберігаючи значну частину вільного приводу та / або перевиконання виробника також може зменшити вплив посилення запису.

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

Контролер SSD

Очевидно, що на сьогоднішній день SSD вимагають значно складніших механізмів управління, ніж жорсткі диски. Це не для дис-магнітних носіїв - я фактично думаю, що жорсткі диски заслуговують більшої поваги, ніж їм приділяють. Механічні проблеми, пов'язані з врівноваженням декількох нанометрів для читання-запису головок над тарілками, що обертаються зі швидкістю від 5 400 до 10 000 об / хв, ні при чому чхати. Те, що жорсткі диски виконують цю проблему, в той час як новаторські нові методи запису на магнітні носії та врешті-решт закінчуються продажем накопичувачів за 3-5 центів за гігабайт, просто неймовірно.

Типовий контролер SSD
Типовий контролер SSD

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

Деякі накопичувачі також використовують алгоритми стиснення даних, щоб зменшити загальну кількість записів та покращити тривалість їх роботи. Контролер SSD обробляє виправлення помилок, а алгоритми, які керують однобітними помилками, стають все складнішими з часом.

На жаль, ми не можемо надто багато деталізувати про контролери SSD, оскільки компанії фіксують свої різні секретні соуси. Значна ефективність флеш-пам’яті NAND визначається базовим контролером, і компанії не бажають занадто піднімати кришку щодо того, як вони роблять те, що роблять, щоб не передати перевагу конкуренту.

Інтерфейси

На початку SSD використовували порти SATA, як і жорсткі диски. В останні роки ми спостерігаємо перехід на M.2-накопичувачі - дуже тонкі накопичувачі, довжиною кілька дюймів, що є гніздом безпосередньо на материнській платі (або, в кількох випадках, в кріпильний кронштейн на картці стояка PCIe. Samsung 970 привід EVO Plus показаний нижче.

Як працюють жорсткі диски?

Дорога попереду

Спалах NAND пропонує величезне вдосконалення порівняно з жорсткими дисками, але це не позбавлено своїх недоліків та проблем. Очікується, що потужність накопичувача та ціна за гігабайт продовжуватимуть зростати та знижуватись відповідно, але шанси на те, що SSD накопичують жорсткі диски, ціна за гігабайт мало. Скорочення вузлів процесу є важливою проблемою для спалаху NAND - в той час як більшість апаратних засобів покращується в міру скорочення вузла, NAND стає більш крихким. Часи збереження даних та продуктивність запису суттєво нижчі для 20 нм NAND, ніж 40 нм NAND, навіть якщо щільність даних та загальна ємність значно покращені. Поки що ми бачили накопичувачі з до 96 шарами на ринку, і 128 шарів здаються правдоподібними в цій точці. В цілому, перехід на 3D NAND допоміг поліпшити щільність, не зменшуючи технологічні вузли або покладаючись на площинне масштабування.

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

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

3D XPoint від Intel (продається як Intel Optane) став одним з потенційних викликів для спалаху NAND та єдиною поточною альтернативною технологією у виробництві. Optane SSD не використовують NAND - вони побудовані за допомогою енергонезалежної пам’яті, яка, як вважається, реалізована аналогічно оперативній пам'яті з фазовою зміною - але вони пропонують аналогічні послідовності продуктивності, ніж поточні флеш-пам’яті NAND, але з значно кращою продуктивністю при низьких чергах диска. Затримка накопичувача також становить приблизно половину NAND-спалаху (10 мікросекунд проти 20) та набагато більшу витривалість (30 повних записів приводу на день, порівняно з 10 повноцінними записами накопичувачів на день для високого класу SSD Intel).

Цілі продуктивності Intel Optane
Цілі продуктивності Intel Optane

Перегляньте нашу серію wfoojjaec Explains для більш глибокого висвітлення найактуальніших технологій сьогодні.

Читати далі

Дискретний графічний процесор Intel Iris Xe Max повільніший за інтегровану версію
Дискретний графічний процесор Intel Iris Xe Max повільніший за інтегровану версію

Iris Xe Max від Intel дебютував, але продуктивність дискретних графічних процесорів трохи дивна, як показують нові тести.

Продаж дискретних графічних процесорів AMD вийшов нанівець у Q4
Продаж дискретних графічних процесорів AMD вийшов нанівець у Q4

Частка на ринку AMD і загальна кількість графічних процесорів в Q4 впали, але ситуація в компанії може бути не такою поганою, як здається.

Маніпуляція CryptoCurrency викликає короткостроковий жорсткий диск, дефіцит SDD
Маніпуляція CryptoCurrency викликає короткостроковий жорсткий диск, дефіцит SDD

Схоже, що скасперс намагаються виготовляти дефіцит зберігання в частинах Китаю та Японії попереду запуску криптоценту.

Google, Seagate AI ідентифікує проблемні жорсткі диски, перш ніж вони не зможуть
Google, Seagate AI ідентифікує проблемні жорсткі диски, перш ніж вони не зможуть

Google та Seagate створили модель AI для відстеження, які жорсткі диски більш схильні, ніж інші, в ідеалі, перш ніж хтось з них взагалі не вдалося.