Абревіатура NVMe вже давно увійшла в повсякденне життя, але що це таке? Чим NVMe SSD краще SATA? Давайте розбиратися.
Перші твердотільні накопичувачі використовували застарілі фізичні інтерфейси SATA / SAS і протоколи. Це пояснювалося просто: виробникам потрібно було скоротити витрати людей і компаній, які збираються перейти з жорстких дисків на SSD. Але жоден з цих інтерфейсів і протоколів не був розрахований на високошвидкісні накопичувачі, відверто гальмуючи їх роботу.
Після появи PCIe ситуація трохи покращилася, але перші PCIe SSD не використали ніяких корпоративних стандартів, не мали єдиних функцій і, в цілому, утруднювали актуальне як для корпоративного, так і споживчого ринку масштабування системи. Потреба в єдиному протоколі, здатному працювати з швидкими SSD, наростала. Тому не дивно, що після появи NVMe, цей інтерфейс швидко почали вживати і тепер використовується практично у всіх сучасних SSD.
NVMe або Non-Volatile Memory Express – це свіжий протокол, розроблений спеціально для твердотільних накопичувачів, що підключаються по шині PCIe. Він забезпечує набагато більш високу швидкість обміну даними в порівнянні з SATA SSD, що використовують AHCI, що пояснюється відразу декількома причинами.
Паралелізм і глибина черги
Якщо застарілий SATA SSD може працювати тільки з однією чергою, глибина якої обмежена 32 командами, то протокол NVMe додає твердотілим накопичувачам можливість одночасного обслуговування до 65 тисяч черг з таким же числом команд в кожній.
Якщо проводити паралель з звичайним життям, уявіть собі забитий народом величезний торговий центр тільки з однією працюючою касою. Скільки часу вам доведеться провести в Центрі, поки ви не зможете вийти з нього з покупками? Це і є SATA SSD. А тепер уявіть той же торговий центр з 65 тисячами кас, швидкість обслуговування виросте просто багаторазово. Звичайно, на ділі стільки кас вам не знадобиться, але в цьому випадку NVMe забезпечує необхідний заділ на майбутнє. Адже прогрес не стоїть на місці.
Механізм переривань
Протокол NVMe не тільки збільшує пропускну здатність за рахунок введення паралелізму і збільшення глибини черги, а й використовує переривання, дозволяючи пріоритезувати команди, прискорюючи проходження черги найбільш важливими з них.
Знову ж, уявіть ситуацію з реального життя. Вечір вівторка, все їдуть з роботи і на вулицях стоять величезні пробки. Раптово ззаду під’їжджає швидка допомога зі включеними спецсигналами. Всі учасники руху розступаються перед нею, і автомобіль несеться до своєї мети. Так відбувається і з пріоритетними командами, які автоматично стають вперед черги.
Оптимізація під багатоядерні процесори
Протокол NVMe дозволяє декільком ядрами процесора спільно володіти декількома чергами, управляти Пріоритизація і механізмом арбітражу. Завдяки цьому NVMe SSD можуть розподіляти команди і обробляти їх позачергово. Згадуємо аналогію з машиною швидкої допомоги.
Крім цього NVMe виключив з ланцюжка контролер SATA, з яким змушені працювати накопичувачі з протоколом AHCI. Замість цього NVMe безпосередньо взаємодіє з системним процесором, різко збільшуючи число операцій введення / виводу в секунду (IOPS). У NVMe цей показник вже часто перевищує 1 млн, тоді як можливості AHCI обмежені 100 тисячами IOPS.
Швидкий доступ до оперативної пам’яті
NVMe помітно прискорює роботу з оперативною пам’яттю, коли мова йде про невеликі обсяги зберігається / зчитує інформацію. Вся справа в тому, що якщо попереднику цього протоколу потрібно ініціювати дві операції в оперативну пам’ять, то для NVMe досить одного запиту під час читання блоками по 4 Кбайт.
Висновки
Перехід на інтерфейс PCIe і поява протоколу NVMe привели до різкого зростання швидкості роботи твердотільних накопичувачів. І якщо звичайний SATA SSD обмежений швидкістю послідовного доступу до пам’яті в 560 Мбайт / с, то середній NVMe SSD пропонує в кілька разів вищу швидкість роботи. Наприклад, далеко не найшвидший WD Black WDS100T3X0C має швидкість послідовного читання до 3470 Мбайт / с і швидкість запису до 3000 Мбайт / с.
Стався різкий стрибок продуктивності SSD і в операціях з довільним доступом. Швидкість випадкового запису того ж WD Black WDS100T3X0C досягає 560000 IOPS проти скромних 90К IOPS у звичайного твердотільного накопичувача з інтерфейсом SATA.
По суті, NVMe вдалося усунути вузькі місця і зняти обмеження застарілих протоколів, забезпечивши паралельне виконання 65 тисяч команд з малою затримкою та великою глибиною черги.
Leave a Reply
Щоб відправити коментар вам необхідно авторизуватись.