У світі ІТ постійно триває боротьба за пошук нових рішень для пам'яті. Одним із пріоритетів є створення пам'яті, яка поєднує найкраще з обох світів: оперативної пам'яті та SSD. Тобто, пам'яті, такої ж швидкої, як основна пам'ять, але з ємністю та енергонезалежністю вторинної пам'яті. І саме до цього все й прямує. СКМ які ми вам сьогодні представляємо…
Поточна ієрархія пам'яті
Нагадаємо, що пам'ять у сучасній архітектурі комп'ютера має ієрархія пам'яті у формі піраміди, починаючи від найшвидшого, найдорожчого та найменш потужного зверху, до найдешевшого, найповільнішого та найвищого потужного біля основи:
- Рівень 0Нагорі у нас найшвидші з усіх, а саме registros процесора, хоча він також має найменшу ємність. Розмір регістрів зазвичай коливається від 32 до 64 бітів або більше. Однак, незважаючи на свою невелику ємність, вони побудовані з дуже швидких тригерів і доступ до них може бути здійснений менш ніж за 0.5 нс.
- Рівень 1Трохи нижче регістрів розташована кеш-пам'ять, від L0 або L1 до LLC (кеш останнього рівня). Сюди навіть можна включити деякі буфери, такі як TLB, який також є типом кешу. Тобто, ми часто можемо знайти L1, L2 та L3, за деякими винятками. Ця пам'ять зазвичай має більшу ємність, ніж регістри, від кількох КБ до кількох МБ. Однак комірки в цій пам'яті є SRAM. Це робить їх дуже швидкими, хоча й не такими швидкими, як регістри, але швидшими, ніж рівні нижче них. Тут йдеться про час доступу, який зазвичай становить від 1 нс до кількох десятків наносекунд, залежно від рівня, або, іншими словами, від приблизно 4 тактів процесора до 50 або 70 тактів на вищих рівнях. Наприклад, типовий час доступу для L1 може становити 1 нс, тоді як для L2 це може бути близько 3.3 нс, для L3 — від 12.8 нс, а для L4 — 42.4 нс… Слід також додати, що в сучасних випадках як рівень 0, так і рівень 1 знаходяться в самому процесорі.
- Рівень 2Це те, що називається первинною пам'яттю, або основною пам'яттю. Тобто оперативною пам'яттю (сюди можна включити й віртуальну пам'ять, хоча майте на увазі, що це частина, що знаходиться на рівні 3). Ця пам'ять має більшу ємність, ніж кеш, кілька ГБ, але також правда, що час доступу повільніший, близько 10 нс. Це може змінюватися залежно від типу пам'яті, оскільки затримка та тактова частота не однакові в усіх них, але це просто для довідки. Це тому, що це пам'ять, що складається з комірок DRAM, повільніших за SRAM, але дешевших, що дозволяє отримати таку вищу ємність за помірною ціною. Рівень 0, рівень 1 та рівень 2 - це пам'ять, до якої процесор може отримати доступ безпосередньо. До речі, як ви знаєте, графічний процесор також має власну основну пам'ять, або VRAM, і зазвичай це DRAM, а в деяких випадках також HBM. HBM також може використовуватися для процесора, хоча це більш екзотично.
- Рівень 3Сюди можна віднести енергонезалежну пам'ять (NVM), оскільки всі попередні рівні були енергозалежними, тобто коли живлення комірок пам'яті відключається, їхній вміст втрачається. Цей тип пам'яті зберігає всю збережену інформацію навіть після відключення живлення. Важливо також зазначити, що до цього типу пам'яті не може отримати безпосередній доступ процесор, і в багатьох випадках потрібна допомога операційної системи. Цей рівень зазвичай називають вторинною пам'яттю, так само як рівень 1 називається первинною пам'яттю. Рівень 3 включає жорсткі диски HDD та SSD. Перші є магнітними та мають час доступу близько 3 мс, тоді як другі є набагато швидшими блоками флеш-пам'яті, час доступу яких може становити близько 0.1 мс. Як бачите, тут ми переходимо від наносекунд до мілісекунд, але також слід сказати, що це пам'ять, яку значно дешевше виробляти, тому її можна реалізувати ємністю в сотні або тисячі ГБ або ТБ.
- Рівень 4У цьому випадку час доступу довший, ніж у попередніх, і в деяких випадках може перевищувати 10 мс. Це може включати знімні носії, оптичну пам'ять (CD/DVD/BD), магнітні стрічки та іншу пам'ять вводу/виводу.
Добре, отже, як тільки ми зрозуміємо цю піраміду або ієрархію пам'яті, наступним кроком буде почати розглядати, що таке SCM…
У пошуках універсальної пам'яті
Щоб спробувати покращити цю ієрархію пам'яті, дослідники постійно розробляють нові технології та шукають те, що називається «універсальна пам'ять»Цей термін стосується пристрою зберігання даних, який може поєднувати економічні переваги DRAM, швидкість SRAM та енергонезалежну природу флеш-пам'яті, а також мати необмежену та тривалу довговічність.
Очевидно, що об'єднати всі ці функції в одному звіті насправді непросто, Багато експертів сумніваються, що це можливо.. Деякі Мемуари, що з'явилися нещодавно, можуть відповідати деяким із цих характеристик, хоча вони не є остаточним рішенням з тієї чи іншої причини.
Я маю на увазі такі пам'яті, як FRAM або FeRAM, MRAM, PCM, RRAM або ReRAM, NRAM або Nano-RAM, PRAM або PCRAM, пам'ять на основі мемристорів, PMC, бульбашкова пам'ять, пам'ять типу "racetrack", UltraRAM (досліджувані напівпровідники, такі як InGaAs, GaSb, AlGaAs, GaAs, AlSb, InAs), 3D XPoint, Millipede, пам'ять на основі FeFET, NOVRAM тощо. Всі вони мають цікаві переваги, але також і недоліки, які все ще не роблять їх придатними для того, щоб вважатися універсальною пам'яттю, і які можуть замінити рівні 2 та 1, як це видно з попередньої піраміди, а також розміщуватися як пам'ять між основною пам'яттю та вторинною пам'яттю.
Що таке NVRAM?
La NVRAM (незалежна пам'ять з довільним доступом) Це тип пам'яті з довільним доступом, подібний до оперативної пам'яті (RAM), але вона не втрачає свої дані, коли до неї не подається живлення, що робить її енергонезалежною. Ідея полягає в тому, щоб досягти того, щоб ця пам'ять мала властивості SRAM або DRAM з точки зору швидкості доступу, але без втрати збереженої інформації, як у вторинній пам'яті. Це може бути гарною технологією для використання в багатьох сферах, від зберігання прошивок до мікроконтролерів для промисловості, або для використання в високопродуктивних обчисленнях (HPC), аерокосмічних застосуваннях, Інтернеті речей, розподілених обчисленнях, додатках для віртуальних машин тощо.
Думайте про всіх переваги Що мала б ця пам'ять у порівнянні з сучасною звичайною пірамідою, наприклад:
- Будучи такою ж швидкою, як DRAM або SRAM, вона досягає дуже швидкого часу доступу, що дозволяє використовувати її як основну пам'ять.
- Оскільки вона енергонезалежна, її споживання буде дуже низьким, оскільки цикли оновлення та постійне живлення пам'яті не будуть потрібні, як у випадку з енергозалежною пам'яттю.
- Для зберігання великих обсягів інформації можна отримати великі ємності.
- Ці елементи також мають кращу надійність, ніж сучасні флеш-елементи, тому дані можна зберігати довго, не погіршуючи їх після тисяч або мільйонів циклів, як це зараз відбувається з цими іншими елементами. Як відомо, залежно від того, чи Комірки флеш-пам'яті - це NOR, NAND або їх похідні., надійність може бути більш-менш короткою.
Ця постійна пам'ять може бути рішенням деяких поточних проблем, враховуючи існуючі технологічні обмеження та прогалину або розрив у досягненнях струм між оперативною пам'яттю та процесором.
Як відомо, наразі є деякі рішення До них належать швидша енергонезалежна пам'ять для зберігання інформації під час використання, що забезпечує швидший доступ. Коли живлення майже відключається, вміст переноситься в енергонезалежну пам'ять. Однак це означає використання двох типів пам'яті, що, серед інших проблем, збільшує виробничі витрати. Але з цими модулями ви матимете все в одному.
Нещодавно було запроваджено деякі стандарти, такі як NVDIMM, тобто формат DIMM (модуль пам'яті з двома рядками) для цього типу постійної або енергонезалежної пам'яті. Таким чином, ці пам'яті можна було б реалізувати у формі модулів, подібно до поточної оперативної пам'яті, та встановити в слоти, подібні до тих, що доступні зараз. Однак, на відміну від звичайної DRAM, вони мали б переваги, перелічені вище.
NVDIMM розвинулися з технології, відомої як BBU DIMM (DIMM з резервним живленням від батареї), яка використовувала резервний акумулятор для підтримки живлення енергонезалежної пам'яті до 72 годин у разі відключення електроенергії. Однак це не є метою цієї SCM або універсальної пам'яті, оскільки використання батарей означає, що їх потрібно заряджати або замінювати, має більший вплив на навколишнє середовище тощо.
Це допоміжне джерело живлення необхідне для того, щоб основна енергонезалежна пам'ять мала час перенести свій вміст до енергонезалежної пам'яті у разі збою живлення. Наразі також існують деякі модулі NVDIMM, які живляться не від батарей, а від... суперконденсатори, тобто конденсатори високої ємності, які повністю заряджаються під час використання, а в разі раптового відключення живлення мають достатньо енергії, щоб залишатися активними достатньо довго, щоб запобігти втраті даних.
Деякі з цих рішень спочатку використовувалися для кешування деяких адаптерів хост-шини (HBA) для RAID-дисків, що дозволяло кешу пережити відключення живлення. Однак, як ви побачите, вони мають і інші застосування.
Щоб обмежити використання цих систем, деякі з них були створені стандарти JEDEC для NVDIMM які вам слід знати, наприклад:
- NVDIMM-FЦе стандартний слот для модулів DIMM з мікросхемами флеш-пам'яті. Користувачі системи повинні поєднувати модуль DIMM для зберігання даних із традиційним модулем DRAM DIMM, тобто використовувати два модулі окремо. Він доступний з 2014 року завдяки таким продуктам, як 3D XPoint PCM, анонсованим Intel та Micron Technology.
- NVDIMM-NУ цьому випадку обидва типи пам'яті об'єднані в одному модулі DIMM. Тобто, ми маємо флеш-пам'ять та традиційну DRAM в одному модулі. Це дозволяє системі безпосередньо отримувати доступ до традиційної DRAM під час роботи системи. У разі відключення живлення або вимкнення модуля, дані з енергозалежної традиційної DRAM скидаються в постійну флеш-пам'ять і копіюються назад після відновлення живлення. Для модуля використовується невелике резервне джерело живлення, поки дані копіюються з DRAM у флеш-пам'ять. Sony та Viking Technology також анонсували пам'ять для цього типу слота на основі ReRAM.
- NVDIMM-PСпецифікація : з'явилася у лютому 2021 року, дозволяючи використовувати постійну основну пам'ять, з появою цих нових SCM або універсальних модулів пам'яті. Крім того, вони могли використовувати ідентичні з'єднання з модулями DIMM DDR4 або DDR5. Тому їх можна було замінити. Прикладами цього типу є модуль Samsung/Netlist, анонсований у 2015 році, який, можливо, базувався на Z-NAND.
- NVDIMM-XЦе не стандарт JEDEC, але також цікавий. У цьому випадку ми маємо модуль пам'яті DDR DIMM, але з флеш-пам'яттю NAND, розроблений Xitore.
Добре, тепер ми перейдемо до SCM, що, як ви побачите, пов'язано з усім, що я тут пояснив, але це було необхідно пояснити, перш ніж розпочати роботу з цією новою концепцією...
Що таке СКМ?
La SCM (пам'ять класу зберігання), що є основною темою цієї статті, – це тип фізичної пам'яті, який намагається зарекомендувати себе як універсальна пам'ять або принаймні охопити деякі її основи. Завдяки SCM ми маємо пам'ять, яка поєднує найкраще з динамічної пам'яті з довільним доступом (DRAM), найкраще з флеш-пам'яті NAND та джерело живлення для збереження даних.
Коротше кажучи, за допомогою SCM ми досягнемо доступ (запис і читання) до даних відбувається швидше ніж доступ до даних на локально підключених твердотільних накопичувачах (SSD) через PCIe, магнітних жорстких дисках (HDD) та зовнішніх масивах зберігання даних. SCM є більш довговічним, ніж DRAM, і може зчитувати та записувати дані до 10 разів швидше, ніж NAND-диски. Однак, більшої ємності, ніж у звичайної оперативної пам'яті, також можна досягти за доступною ціною, а також мати довший термін служби, ніж у сучасних SSD.
Одним із застосувань, у якому можна використовувати ці SCM-пам'яті, є у центрах обробки данихІ вони можуть зробити свій внесок:
- ЛатентністьУ нас є високопродуктивний носій інформації з низькою затримкою, що означає швидший час доступу, ніж у вторинних носіях інформації. Це позитивний фактор для робочих навантажень, які потребують обробки великих обсягів даних з хорошою продуктивністю.
- НаполегливіРезервне джерело живлення гарантує збереження даних і програмного коду під час системного збою або відключення живлення. Це забезпечує байт-адресований постійний рівень сховища між DRAM та флеш-пам'яттю. Використання SCM розширює швидкість DRAM до енергонезалежного сховища. Таким чином, після відновлення живлення система може продовжити роботу з того місця, де вона зупинилася, без втрати даних або часу, що життєво важливо у системах високої доступності. Крім того, у багатьох випадках потреба в постійному оновленні буде усунена.
- Менша залежність від вторинних медіаЗавдяки SCM потрібно переміщувати менше даних між основною пам'яттю та вторинною пам'яттю, оскільки вона має більшу ємність. Це зменшує навантаження на процесор, коли операційній системі потрібен доступ до вторинних носіїв, як я пояснював раніше, що підвищує продуктивність. Пристрій SCM може працювати майже так само швидко, як DRAM та статична оперативна пам'ять (SRAM), але з перевагою персистентності.
Переваги та недоліки SCM
Як я вже коментував протягом усієї статті, використання SCM може мати великі переваги порівняно зі звичайною пам'яттю, наприклад, більша ємність, ніж у сучасних DRAM, з аналогічним або швидшим часом доступу, але без нестабільності останньої. Крім того, багато нових технологій, що розробляються, також пропонують більшу енергоефективність, що важливо в центрах обробки даних. А у разі локального живлення вузла дані не будуть втрачені. Також важливо пам'ятати, що дані, розміщені в SCM, проходять коротший шлях вводу/виводу та зменшують збирання сміття на великих блоках даних.
В обчислювальній техніці збирання сміття, або GC, — це спосіб автоматичного керування пам'яттю. GC намагається повернути пам'ять, виділену програмою, але більше не використовується; іншими словами, вона звільняє цей ресурс пам'яті. Це звільняє програму від необхідності виконувати завдання керування пам'яттю; іншими словами, їй не потрібно вказувати, які об'єкти звільняти та розподіляти.
Але, попри свої переваги, вони також мають Деякі недоліки, тому вони ще не отримали широкого впровадження. Одна з найбільших пасток полягає в тому, що вони базуються на технологіях, які все ще перебувають у стадії розробки або потребують досконалості, оскільки перші запущені продукти не досягли меж потенціалу, який теоретично очікувався. Крім того, оскільки це екзотичні технології, їх виробництво може бути дорожчим.
Приклади продуктів SCM
Як я вже згадував вище, існують деякі приклади продуктів які були випущені на ринок і вважаються типами комерційних впроваджень SCM, такі як:
- Intel Optane: був запущений у 2018 році, продукт, спеціально розроблений для високопродуктивних обчислень (HPC), штучного інтелекту та інших застосувань, що дозволяє підвищити продуктивність завдяки цій SCM-пам'яті на базі 3D XPoint, технології, розробленій спільно з Micron. Хоча було випущено кілька форматів цієї пам'яті, таких як формати M.2 NVMe, карти розширення PCIe, також існував один у форматі DIMM під назвою Optane Persistent Memory або PMem. Ємність цих модулів DIMM коливалася від 128 ГБ до 512 ГБ на модуль. Однак у 2021 році Intel вирішила припинити розробку цієї пам'яті, і мета зосередилася на відкритому стандарті Compute Express Link (CXL), який здавався більш перспективним.
- SSD-накопичувач Samsung ZПівденнокорейська компанія також створила носій пам'яті типу SCM з низькою затримкою, заснований на технології, відмінній від попередньої. У цьому випадку використовувалася варіація V-NAND під назвою Z-NAND, яка була організована у 48 шарах комірок пам'яті на основі транзисторів з плаваючим затвором.
- Розширювачі пам'яті Western Digital Ultrastar DC ME200: може використовуватися для розширення існуючої системної пам'яті, стимулювання консолідації серверів та зменшення складності розділення великих наборів даних обсягом кілька терабайтів між кількома серверами. Це рішення SCM, яке AMD використовувала для своїх систем на базі EPYC, щоб конкурувати з рішенням Intel.
- Kioxia XL-Flash SCMЦя компанія, раніше Toshiba Memory, також розробила власну технологію SCM, відому як ця. Ці продукти використовували форм-фактор, подібний до SSD, але з планами перенести його на шину DRAM.
- Розумні модульні технології DuraMemoryЦе інше рішення для постійної пам'яті в модулях також є ще одним помітним прикладом, хоча в цьому випадку воно розроблено для промисловості та середовищ, де необхідні стійкість та надійність за несприятливих умов.
Усі ці події, серед іншого, призвели до багатьох великі постачальники ІТ-компанії, особливо компанії, що займаються високопродуктивними обчисленнями (HPC), зацікавляться цими продуктами та включатимуть їх у свої рішення. Деякі приклади використання SCM у комерційних та корпоративних системах включають:
- Dell EMCАмериканська компанія оголосила, що використовуватиме Intel Optane PMem для покращення продуктивності своїх систем PowerMax SAN.
- Hewlett Packard Enterprise (HPE)також здійснив би вторгнення в SCM за допомогою корпоративних рішень, таких як Nimble Storage SAN на базі Optane.
- Hitachi Vantara: Японська компанія також запропонувала свою платформу віртуального сховища Virtual Storage Platform серії 5000 з можливістю використання користувачами SCM, яка діє як буфер або кеш-пам'ять.
- Lenovo: Очікується, що китайський гігант персональних обчислень та високопродуктивних обчислень також оголосить про підтримку Intel Optane для своїх серверів ThinkSystem.
- MemVergeЗаснований у 2017 році, цей стартап розробив систему під назвою Memory Machine, яка віртуалізувала DRAM та Intel Optane для створення ємного постійного носія інформації. Ідея полягала у використанні цих систем для створення знімків, реплікації серверів та інших цілей.
- NetApp: розробив програмне забезпечення Memory Accelerated Data (Max Data). Цей проект використовує технологію Pleexistor та підтримує Intel Optane SCM.
- Чистий зберіганняІдея цієї компанії полягала в об'єднанні флеш-пам'яті NVMe та модулів, розроблених нею самою та названих DirectMemory, що призвело до створення того, що було комерційно відомо як FlashArray//X all-flash, з використанням двопортових пристроїв Intel Optane.
- StorOneПодібно до попередньої, оскільки All-Flash Array.next — це система, яка містить пам'ять Optane разом із пам'яттю Intel QLC 3D NAND та керується програмним забезпеченням S1.
- Великі даніЦя інша компанія створила буфер запису на основі SCM для пришвидшення робочих навантажень штучного інтелекту.
Майбутнє SCM
Коротше кажучи, ми бачили деякі спроби технологій та продуктів, що використовують певну форму SCM, але вони не зовсім прижилися на ринку з тих чи інших причин. Розробка все ще потрібна, як і зрілість деяких технологій, на яких базуються ці пристрої. І, незважаючи на песимізм багатьох, цей звіт може мати багатообіцяюче майбутнє.