В света на информационните технологии има постоянна борба за намиране на нови решения за паметта. Един от приоритетите е постигането на памет, която съчетава най-доброто от двата свята: RAM и SSD. Тоест, памет, бърза колкото основната памет, но с капацитета и енергонезависимия характер на вторичната памет. И натам вървят нещата. Върховният съд които ви представяме днес…
Текуща йерархия на паметта
Като напомняне, да кажем, че паметта в настоящата компютърна архитектура има йерархия на паметта във формата на пирамида, започвайки от най-бързия, най-скъпия и с най-нисък капацитет на върха, до най-евтиния, най-бавния и с най-висок капацитет в основата:
- Level 0На върха имаме най-бързите от всички, които са записи на процесора, въпреки че има и най-малък капацитет. Регистрите обикновено са с размер от 32-битови до 64-битови или повече. Въпреки малкия си капацитет обаче, те са изградени от много бързи тригери и могат да бъдат достъпни за по-малко от 0.5 ns.
- Level 1Точно под регистрите се намира кеш паметта, от L0 или L1 до LLC (Last Level Cache). Тук могат да бъдат включени дори някои буфери, като например TLB, който също е вид кеш. Тоест, често можем да открием L1, L2 и L3, с малки изключения. Тази памет обикновено има по-голям капацитет от регистрите, вариращ от няколко KB до няколко MB. Клетките в тази памет обаче са SRAM. Това ги прави много бързи, макар и не толкова бързи, колкото регистрите, но по-бързи от нивата под тях. Тук говорим за времена за достъп, които обикновено са от 1 ns до няколко десетки наносекунди, в зависимост от нивото, или с други думи, от около 4 тактови цикъла на процесора до 50 или 70 цикъла на по-високите нива. Например, L1 може да има типично време за достъп от 1 ns, докато L2 може да бъде около 3.3 ns, L3 между 12.8 ns, а L4 при 42.4 ns… Трябва също да се добави, че в настоящите случаи както ниво 0, така и ниво 1 са в самия процесор.
- Level 2Това е така наречената първична памет или основна памет. Това е RAM (виртуалната памет може да бъде включена тук, въпреки че имайте предвид, че това е част, разположена в ниво 3). Тази памет има по-голям капацитет от кеша, няколко GB, но е вярно и че времето за достъп е по-бавно, около 10 ns. Това може да варира в зависимост от типа памет, тъй като латентността и тактовата честота не са еднакви във всички тях, но само за да ви дам справка. Това е така, защото е памет, съставена от DRAM клетки, по-бавни от SRAM, но по-евтини, което позволява този по-висок капацитет на умерена цена. Ниво 0, ниво 1 и ниво 2 са памет, до която процесорът може да осъществява директен достъп. Между другото, както знаете, графичният процесор също има своя собствена основна памет или VRAM и тя обикновено е DRAM, а в някои случаи и HBM. HBM може да се използва и за процесора, въпреки че това е по-екзотично.
- Level 3Тук може да се включи енергонезависимата памет (NVM), тъй като всички предишни нива са били енергонезависими, което означава, че когато захранването се прекъсне от клетките на паметта, тяхното съдържание се губи. Този тип памет запазва цялата съхранена информация, дори когато захранването се прекъсне. Важно е също да се отбележи, че този тип памет не може да бъде достъпна директно от процесора и в много случаи изисква помощ от операционната система. Това ниво обикновено се нарича вторична памет, точно както ниво 1 се нарича първична памет. Ниво 3 включва HDD и SSD твърди дискове. Първите са магнитни и имат време за достъп около 3 ms, докато вторите са много по-бързи флаш памети, с време за достъп, което може да бъде около 0.1 ms. Както можете да видите, тук преминаваме от наносекунди към милисекунди, но също така трябва да се каже, че това е памет, която е значително по-евтина за производство, така че може да бъде реализирана в капацитети от стотици или хиляди GB или TB.
- Level 4В този случай времената за достъп са по-дълги от предишните и в някои случаи могат да бъдат над 10 ms. Това може да включва сменяеми носители, оптична памет (CD/DVD/BD), магнитни ленти и друга I/O памет.
Добре, след като разберем тази пирамида или йерархия на паметта, следващата стъпка е да започнем да разглеждаме какво е SCM...
В търсене на универсална памет
За да се опитат да подобрят тази йерархия на паметта, изследователите непрекъснато разработват нови технологии и търсят това, което се нарича „универсална памет“Този термин се отнася до устройство за съхранение, което може да комбинира ценовите предимства на DRAM, скоростта на SRAM и енергонезависимия характер на флаш паметта, като същевременно има безкрайна и дълготрайна издръжливост.
Очевидно е, че съчетаването на всички тези характеристики в един доклад не е лесно, всъщност, Много експерти се съмняват, че това е възможно.. Някои Мемоарите, появили се наскоро, може да отговарят на някои от тези характеристики, въпреки че те не са окончателно решение по една или друга причина.
Имам предвид памети като FRAM или FeRAM, MRAM, PCM, RRAM или ReRAM, NRAM или Nano-RAM, PRAM или PCRAM, памет на базата на мемристор, PMC, мехурчеста памет, памет тип „състезателна писта“, UltraRAM (в процес на изследване полупроводници като InGaAs, GaSb, AlGaAs, GaAs, AlSb, InAs), 3D XPoint, Millipede, памет на базата на FeFET, NOVRAM и др. Всички те имат интересни предимства, но и недостатъци, които все още не ги правят подходящи да се считат за универсални памети и които могат да заменят нива 2 и 1, както може да се види в предишната пирамида, както и да се разположат като памет между основната памет и вторичната памет.
Какво е NVRAM?
La NVRAM (Енергонезависима памет с произволен достъп) Това е вид памет с произволен достъп, подобна на RAM, но не губи данните си, когато не се захранва, което я прави енергонезависима. Идеята е да се постигне памет със свойствата на SRAM или DRAM по отношение на скоростта на достъп, но без да се губи съхранената информация, подобно на вторичната памет. Това би могла да бъде добра технология за използване в множество области, от съхранение на фърмуер до микроконтролери за промишлеността или за използване в HPC приложения, аерокосмически приложения, IoT, разпределени изчисления, приложения за виртуални машини и други.
Мисли за всички ползите Какво би имал този спомен в сравнение със сегашната конвенционална пирамида, като например:
- Тъй като е толкова бърза, колкото DRAM или SRAM, тя постига много бързо време за достъп, което ѝ позволява да се използва като основна памет.
- Тъй като е енергонезависима, консумацията ѝ би била много ниска, тъй като циклите на обновяване и постоянното захранване на паметта няма да са необходими, както е при енергонезависимата памет.
- Могат да се получат големи капацитети за съхраняване на големи обеми информация.
- Тези клетки също така имат по-добра надеждност от настоящите флаш клетки, така че данните могат да се съхраняват дългосрочно, без да се влошават след хиляди или милиони цикли, както се случва в момента с тези други клетки. Както знаете, в зависимост от това дали Клетките с флаш памет са NOR, NAND или производни, надеждността може да бъде повече или по-малко кратка.
Тази постоянна памет би могла да бъде решение на някои от настоящите проблеми, предвид съществуващите технологични ограничения и празнината или разлика в постиженията ток между RAM паметта и процесора.
Както знаете, в момента има някои Soluciones Те включват по-бърза енергонезависима памет за съхраняване на информация по време на употреба, което позволява по-бърз достъп. Когато захранването е на път да бъде прекъснато, съдържанието се прехвърля в енергонезависима памет. Това обаче означава включване на два вида памет, което увеличава производствените разходи, наред с други проблеми. Но с тези модули ще имате всичко в едно.
Наскоро бяха въведени някои стандарти, като например NVDIMM, т.е. формат DIMM (Dual In-line Memory Module) за този тип постоянна или енергонезависима памет. По този начин тези памети биха могли да бъдат реализирани в модулна форма като настоящата RAM памет и инсталирани в слотове, подобни на наличните в момента. За разлика от конвенционалната 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, което е свързано с всичко, което обясних тук, както ще видите, но беше необходимо да обясня това, преди да се захвана с работа с тази нова концепция...
Какво е SCM?
La SCM (Памет от клас за съхранение), която е основният фокус на тази статия, е вид физическа памет, която се опитва да се утвърди като универсална памет или поне да обхване някои от нейните основи. С SCM имаме памет, която съчетава най-доброто от динамичната памет с произволен достъп (DRAM), най-доброто от NAND флаш паметта и източник на енергия за съхранение на данни.
Накратко, това, което бихме постигнали с SCM, е да имаме достъпът (писане и четене) до данни е по-бърз отколкото достъпът до данни на локално свързани SSD дискове чрез PCIe, магнитни твърди дискове (HDD) и външни масиви за съхранение. SCM е по-издръжлива от DRAM и може да чете и записва данни до 10 пъти по-бързо от NAND дисковете. Въпреки това, по-високи капацитети от конвенционалната RAM памет могат да бъдат постигнати на достъпна цена, както и с по-дълъг живот от настоящите SSD дискове.
Едно от приложенията, в които тези SCM памети могат да се използват, е в центрове за данниИ те могат да допринесат:
- латентностРазполагаме с високопроизводителен носител за съхранение с ниска латентност, което означава по-бързо време за достъп от вторичните носители за съхранение. Това е положителен фактор за работни натоварвания, които изискват обработка на големи количества данни с добра производителност.
- упоритРезервното захранване гарантира, че данните и програмният код се запазват по време на системна повреда или загуба на захранване. Това осигурява байтово адресируем слой за постоянно съхранение между DRAM и флаш паметта. Използването на SCM разширява бързата производителност на DRAM до енергонезависимо съхранение. Следователно, когато захранването се възстанови, системата може да продължи оттам, откъдето е спряла, без да губи данни или време – жизненоважно за системи с висока надеждност. Освен това, в много случаи необходимостта от постоянно обновяване би била елиминирана.
- По-малко зависими от вторични медииС SCM е необходимо да се преместват по-малко данни между основната памет и вторичната памет, тъй като тя има по-голям капацитет. Това намалява натоварването на процесора, когато е необходимо операционната система да има достъп до вторични носители, както обясних по-рано, което увеличава производителността. SCM устройството може да работи с честоти почти толкова високи, колкото DRAM и статичната RAM (SRAM), но с предимството на персистентност.
Предимства и недостатъци на SCM
Както коментирах в цялата статия, използването на SCM може да има големи предимства в сравнение с конвенционалната памет, като например по-голям капацитет от настоящите DRAM, с подобно или по-бързо време за достъп, но без променливостта на последните. Освен това, много от новите технологии, които се разработват, предлагат и по-голяма енергийна ефективност, което е важно в центровете за данни. И в случай на локално захранване на възел, данните няма да бъдат загубени. Важно е също да се помни, че данните, поставени в SCM, следват по-кратък I/O път и намаляват събирането на боклук върху големи блокове данни.
В компютърните науки, събирането на боклук или GC е начин за автоматично управление на паметта. GC се опитва да освободи памет, разпределена от програма, но вече неизползвана; с други думи, освобождава този ресурс на паметта. Това освобождава програмата от необходимостта да изпълнява задачи за управление на паметта; с други думи, не е необходимо да се указва кои обекти да се деразпределят и освободят.
Но въпреки предимствата си, те също имат Някои недостатъци, поради което те все още не са широко възприети. Един от най-големите недостатъци е, че са базирани на технологии, които все още са в процес на разработка или се нуждаят от усъвършенстване, тъй като първите пуснати на пазара продукти не са достигнали границите на потенциала, който теоретично се очакваше. Освен това, тъй като са екзотични технологии, производството им може да е по-скъпо.
Примери за SCM продукти
Както споменах по-горе, има някои примери за продукти които са пуснати на пазара и се считат за видове търговски SCM реализации, като например:
- Intel Опън: беше пуснат на пазара през 2018 г., продукт, специално разработен за HPC, AI и други приложения, позволяващ подобрения в производителността благодарение на SCM паметта, базирана на 3D XPoint, технология, разработена съвместно с Micron. Въпреки че бяха пуснати няколко формата на тази памет, като например M.2 NVMe формати, PCIe карти за разширение, имаше и един във формат DIMM, наречен Optane Persistent Memory или PMem. Капацитетът на тези DIMM модули варираше от 128 GB до 512 GB на модул. През 2021 г. обаче Intel реши да спре разработването на тази памет и целта се фокусира върху отворения стандарт Compute Express Link (CXL), който изглеждаше по-обещаващ.
- Samsung Z-SSDЮжнокорейската компания също така ще създаде нисколатентна среда тип 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 SANs, базирани на Optane.
- Hitachi Vantara: Японската компания предлага и своята Virtual Storage Platform 5000 Series, с опция потребителите да използват SCM, действаща като буфер или кеш памет.
- Lenovo: Очаква се китайският гигант в областта на персоналните изчисления и високопроизводителните изчисления (HPC) също да обяви поддръжка за 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, но те не са се наложили напълно на пазара по една или друга причина. Все още е необходимо развитие, както и зрялост на някои от технологиите, на които са базирани тези устройства. И въпреки песимизма на мнозина, този доклад може да има обещаващо бъдеще.