Në botën e IT-së ka një luftë të vazhdueshme për të gjetur zgjidhje të reja për memorien. Një nga prioritetet është arritja e një memorieje që kombinon më të mirën e të dy botëve: RAM dhe SSD. Domethënë, një memorie aq e shpejtë sa memoria primare, por me kapacitetin dhe natyrën jo të paqëndrueshme të memories sekondare. Dhe aty po shkojnë gjërat. SCM që po ju prezantojmë sot…
Hierarkia aktuale e kujtesës
Si kujtesë, le të themi se memoria në arkitekturën aktuale të kompjuterit ka një hierarkia e kujtesës në formën e një piramide, duke shkuar nga kapaciteti më i shpejtë, më i shtrenjtë dhe më i ulët në krye, në kapacitetin më të lirë, më të ngadaltë dhe më të lartë në bazë:
- Niveli i 0Në krye kemi më të shpejtët nga të gjithë, të cilët janë të dhëna të CPU-së, megjithëse ka edhe kapacitetin më të vogël. Regjistrat zakonisht variojnë në madhësi nga 32-bit në 64-bit ose më shumë. Megjithatë, pavarësisht kapacitetit të tyre të vogël, ato janë ndërtuar nga flip-flopë shumë të shpejtë dhe mund të aksesohen në më pak se 0.5 ns.
- Niveli i 1Pak poshtë regjistrave është memoria cache, nga L0 ose L1 deri te LLC (Last Level Cache). Disa buffera mund të përfshihen këtu, siç është TLB, i cili është gjithashtu një lloj memorjeje cache. Kjo do të thotë, shpesh mund të gjejmë L1, L2 dhe L3, me disa përjashtime. Kjo memorie zakonisht ka kapacitete më të mëdha se regjistrat, duke filluar nga disa KB deri në disa MB. Megjithatë, qelizat në këtë memorie janë SRAM. Kjo i bën ato shumë të shpejta, megjithëse jo aq të shpejta sa regjistrat, por më të shpejta se nivelet poshtë tyre. Këtu po flasim për kohët e aksesit që zakonisht janë nga 1 ns deri në disa dhjetëra nanosekonda, varësisht nga niveli, ose me fjalë të tjera, nga rreth 4 cikle të orës së CPU-së deri në 50 ose 70 cikle në nivelet më të larta. Për shembull, një L1 mund të ketë kohë tipike aksesi prej 1 ns, ndërsa L2 mund të jetë rreth 3.3 ns, L3 midis 12.8 ns dhe L4 në 42.4 ns… Duhet shtuar gjithashtu se si Niveli 0 ashtu edhe Niveli 1 janë brenda vetë CPU-së në rastet aktuale.
- Niveli i 2Kjo është ajo që njihet si memorie primare, ose memorie kryesore. Domethënë, RAM (memoria virtuale mund të përfshihet këtu, megjithëse mbani mend se kjo është një pjesë e vendosur në Nivelin 3). Kjo memorie ka një kapacitet më të madh se memoria e përkohshme, disa GB, por është gjithashtu e vërtetë që kohët e aksesit janë më të ngadalta, rreth 10 ns. Kjo mund të ndryshojë në varësi të llojit të memories, pasi latenca dhe frekuenca e orës nuk janë të njëjta në të gjitha, por vetëm për t'ju dhënë një referencë. Kjo është për shkak se është një memorie e përbërë nga qeliza DRAM, më e ngadaltë se SRAM, por më e lirë, gjë që lejon këtë kapacitet më të lartë me një çmim të moderuar. Niveli 0, Niveli 1 dhe Niveli 2 janë memorie që CPU mund t'i qaset drejtpërdrejt. Nga rruga, siç e dini, GPU gjithashtu ka memorien e vet kryesore, ose VRAM, dhe në përgjithësi është DRAM dhe gjithashtu HBM në disa raste. HBM mund të përdoret edhe për CPU-në, megjithëse kjo është më ekzotike.
- Niveli i 3Kujtesa jo-volatile (NVM) mund të përfshihet këtu, pasi të gjitha nivelet e mëparshme ishin të paqëndrueshme, që do të thotë se kur energjia hiqet nga qelizat e memories, përmbajtja e tyre humbet. Ky lloj memorieje ruan të gjithë informacionin e ruajtur edhe kur energjia hiqet. Është gjithashtu e rëndësishme të theksohet se ky lloj memorieje nuk mund të aksesohet drejtpërdrejt nga CPU dhe, në shumë raste, kërkon ndihmë nga sistemi operativ. Ky nivel në përgjithësi quhet memorie sekondare, ashtu siç Niveli 1 quhet memorie primare. Niveli 3 përfshin disqet e forta HDD dhe SSD. Të parat janë magnetike dhe kanë kohë aksesi prej rreth 3 ms, ndërsa të dytat janë njësi memorieje flash shumë më të shpejta, me kohë aksesi që mund të jenë rreth 0.1 ms. Siç mund ta shihni, këtu kalojmë nga nanosekonda në milisekonda, por duhet thënë gjithashtu se është një memorie që është dukshëm më e lirë për t'u prodhuar, kështu që mund të zbatohet në kapacitete prej qindra ose mijëra GB ose TB.
- Niveli i 4Në këtë rast, kohët e aksesit janë më të gjata se ato të mëparshmet dhe mund të jenë mbi 10 ms në disa raste. Kjo mund të përfshijë media të lëvizshme, memorie optike (CD/DVD/BD), shirita magnetikë dhe memorie të tjera I/O.
Në rregull, pra, pasi ta kuptojmë këtë piramidë ose hierarki të kujtesës, hapi tjetër është të fillojmë të shohim se çfarë është SCM…
Në kërkim të kujtesës universale
Për të përmirësuar këtë hierarki të kujtesës, studiuesit po zhvillojnë vazhdimisht teknologji të reja dhe po kërkojnë atë që quhet "memorie universale"Ky term i referohet një pajisjeje ruajtjeje që mund të kombinojë përfitimet e kostos së DRAM, shpejtësinë e SRAM dhe natyrën jo-të paqëndrueshme të memories flash, ndërkohë që ka gjithashtu qëndrueshmëri të pafundme dhe afatgjatë.
Me sa duket, bashkimi i të gjitha këtyre karakteristikave në një raport të vetëm nuk është i lehtë, në fakt, Shumë ekspertë dyshojnë se kjo është e mundur.. Disa Kujtimet që kanë dalë së fundmi mund të plotësojnë disa nga këto karakteristika, megjithëse ato nuk janë një zgjidhje përfundimtare për një arsye ose një tjetër.
Po i referohem kujtesave të tilla si FRAM ose FeRAM, MRAM, PCM, RRAM ose ReRAM, NRAM ose Nano-RAM, PRAM ose PCRAM, kujtesës së bazuar në memristor, PMC, kujtesës flluskë, kujtesës racetrack, UltraRAM (gjysmëpërçues nën hetim si InGaAs, GaSb, AlGaAs, GaAs, AlSb, InAs), 3D XPoint, Millipede, kujtesës së bazuar në FeFET, NOVRAM, etj. Të gjitha me avantazhe interesante, por edhe me disavantazhe që ende nuk i bëjnë të përshtatshme për t'u konsideruar kujtesa universale dhe që mund të zëvendësojnë nivelet 2 dhe 1, siç mund të shihet në piramidën e mëparshme, si dhe të ndërhyjnë si kujtesë midis kujtesës kryesore dhe kujtesës sekondare.
Çfarë është NVRAM?
La NVRAM (Memorie e Qasjes së Rastësishme Jo-Volatile) Është një lloj memorieje me akses të rastësishëm si RAM, por nuk i humbet të dhënat e saj kur nuk i aplikohet energji, duke e bërë atë jo-të paqëndrueshme. Ideja është që kjo memorie të arrihet me vetitë e SRAM ose DRAM për sa i përket shpejtësisë së aksesit, por pa humbur informacionin e ruajtur, si memoria sekondare. Kjo mund të jetë një teknologji e mirë për t'u përdorur në një mori frontesh, nga ruajtja e firmware-it te mikrokontrolluesit për industrinë, ose për përdorim në aplikacionet HPC, aplikacionet hapësinore, IoT, informatikën e shpërndarë, aplikacionet e makinave virtuale, ndër të tjera.
Mendo për të gjithë përfitimet Çfarë do të kishte kjo kujtesë në krahasim me piramidën konvencionale aktuale, si p.sh.:
- Duke qenë po aq i shpejtë sa DRAM ose SRAM, ai arrin kohë aksesi shumë të shpejta, duke lejuar që të përdoret si memorie kryesore.
- Meqenëse nuk është i paqëndrueshëm, konsumi i tij do të ishte shumë i ulët, pasi ciklet e rifreskimit dhe furnizimi i vazhdueshëm i memories nuk do të kërkoheshin siç është rasti me memorien e paqëndrueshme.
- Kapacitete të mëdha mund të arrihen për të ruajtur vëllime të mëdha informacioni.
- Këto qeliza kanë gjithashtu besueshmëri më të mirë se qelizat aktuale flash, kështu që të dhënat mund të ruhen për një kohë të gjatë, pa u përkeqësuar pas mijëra ose miliona cikleve siç ndodh aktualisht me këto qeliza të tjera. Siç e dini, varësisht nga fakti nëse Qelizat e memories flash janë NOR, NAND ose derivate, besueshmëria mund të jetë pak a shumë e shkurtër.
Kjo kujtesë e vazhdueshme mund të jetë zgjidhja për disa nga problemet aktuale, duke pasur parasysh kufizimet teknologjike që ekzistojnë dhe boshllëkun ose boshllëk arritjesh rrymë midis RAM-it dhe CPU-së.
Siç e dini, aktualisht ka disa Zgjidhjet Këto përfshijnë memorie të paqëndrueshme më të shpejtë për të ruajtur informacionin gjatë përdorimit, duke lejuar akses më të shpejtë. Kur furnizimi me energji është gati të ndërpritet, përmbajtja transferohet në memorien jo të paqëndrueshme. Megjithatë, kjo do të thotë përfshirjen e dy llojeve të memories, gjë që rrit kostot e prodhimit, ndër probleme të tjera. Por me këto module, do të keni gjithçka në një.
Kohët e fundit janë publikuar disa standarde, si p.sh. NVDIMM, që është, një format DIMM (Dual In-line Memory Module) për këtë lloj memorieje të përhershme ose jo të paqëndrueshme. Në këtë mënyrë, këto memorie mund të implementohen në formë moduli si RAM-i aktual dhe të instalohen në slote të ngjashme me ato që janë aktualisht në dispozicion. Megjithatë, ndryshe nga DRAM-i konvencional, ato do të kishin avantazhet e listuara më sipër.
NVDIMM-të evoluan nga teknologjia e njohur si BBU DIMM (DIMM me Bateri të Mbështetur), e cila përdorte një bateri rezervë për të ruajtur energjinë në një memorie të paqëndrueshme deri në 72 orë në rast të një ndërprerjeje të energjisë. Megjithatë, ky nuk është qëllimi i kësaj memorieje SCM ose universale, pasi përdorimi i baterive do të thotë që ato duhet të karikohen ose zëvendësohen, ka një ndikim më të madh në mjedis e kështu me radhë.
Ky burim energjie ndihmës është i nevojshëm për t'i dhënë kohë memories kryesore të paqëndrueshme për të transferuar përmbajtjen e saj në memorien jo të paqëndrueshme në rast të një ndërprerjeje të energjisë. Aktualisht, ekzistojnë edhe disa module NVDIMM që nuk mbështeten në bateri, por në supercapacitors, domethënë, kondensatorë me kapacitet të lartë që janë plot gjatë përdorimit dhe kur ndodh një ndërprerje e papritur e energjisë, ata kanë energji të mjaftueshme për të qëndruar aktivë mjaftueshëm gjatë sa për të parandaluar humbjen e të dhënave.
Disa nga këto zgjidhje u përdorën fillimisht për ruajtjen në memorje të disa adaptorëve të autobusit pritës (HBA) për disqet RAID, duke i lejuar memorjes në memorje të mbijetojë një ndërprerjeje të energjisë. Megjithatë, ato kanë zbatime përtej kësaj, siç do ta shihni.
Për të shtrydhur përdorimin e këtyre sistemeve, disa janë krijuar standardet sipas JEDEC për NVDIMM që duhet të dini, si p.sh.:
- NVDIMM-FKy është një standard slotesh për modulet DIMM me çipa memorieje flash. Përdoruesit e sistemit duhet ta kombinojnë DIMM-in e ruajtjes me një DRAM DIMM tradicional, d.m.th., të dy modulet veçmas. Ka qenë në dispozicion që nga viti 2014, me produkte të tilla si 3D XPoint PCM i njoftuar nga Intel dhe Micron Technology.
- NVDIMM-NNë këtë rast, të dy llojet e memories kombinohen në një modul të vetëm DIMM. Kjo do të thotë që kemi memorie flash dhe DRAM tradicionale në të njëjtin modul. Kjo i lejon sistemit të hyjë drejtpërdrejt në DRAM tradicionale ndërsa sistemi është në funksionim. Në rast të një ndërprerjeje ose fikjeje të energjisë, moduli i pastron të dhënat nga DRAM tradicionale e paqëndrueshme në memorien flash persistente dhe i kopjon ato përsëri kur të rikthehet energjia. Një burim i vogël energjie rezervë përdoret për modulin ndërsa të dhënat kopjohen nga DRAM në memorien flash. Sony dhe Viking Technology njoftuan gjithashtu një memorie për këtë lloj sloti bazuar në ReRAM.
- NVDIMM-PSpecifikimi : u shfaq në shkurt të vitit 2021, duke lejuar memorien kryesore të përhershme, me këto SCM të reja ose module universale memorieje që po shfaqen. Për më tepër, ato mund të ndajnë ndërlidhje identike me DIMM-të e DDR4 ose DDR5. Prandaj, ato mund të zëvendësohen. Shembuj të këtij lloji përfshijnë modulin Samsung/Netlist të njoftuar në vitin 2015, i cili ndoshta ishte i bazuar në Z-NAND.
- NVDIMM-XKy nuk është një standard JEDEC, por është gjithashtu interesant. Në këtë rast, kemi një modul memorieje DDR DIMM, por me memorie flash NAND, të zhvilluar nga Xitore.
Në rregull, tani do të kalojmë te SCM, i cili lidhet me gjithçka që kam shpjeguar këtu, siç do ta shihni, por ishte e nevojshme ta shpjegonim këtë përpara se të fillonim punën me këtë koncept të ri...
Çfarë është SCM?
La SCM (Kujtesa e Klasës së Ruajtjes), i cili është fokusi kryesor i këtij artikulli, është një lloj memorieje fizike që përpiqet të vendoset si një memorie universale, ose të paktën të mbulojë disa nga bazat e saj. Me SCM, kemi një memorie që kombinon më të mirën e memories dinamike me akses të rastësishëm (DRAM), më të mirën e memories flash NAND dhe një burim energjie për qëndrueshmërinë e të dhënave.
Shkurt, ajo që do të arrinim me një SCM është të kishim një Qasja (shkrimi dhe leximi) në të dhëna është më e shpejtë sesa qasja në të dhëna në disqet SSD (Solid State Disqet) të lidhura lokalisht nëpërmjet PCIe, disqeve të forta magnetike (HDD) dhe grupeve të ruajtjes së jashtme. SCM është më i qëndrueshëm se DRAM dhe mund të lexojë dhe shkruajë të dhëna deri në 10 herë më shpejt se disqet NAND. Megjithatë, kapacitete më të larta se RAM-i konvencional mund të arrihen gjithashtu me një kosto të përballueshme, si dhe një jetëgjatësi më të madhe se SSD-të aktuale.
Një nga aplikimet në të cilat mund të përdoren këto memorie SCM është në qendrat e të dhënaveDhe ata mund të kontribuojnë:
- LatenteNe kemi një medium ruajtjeje me performancë të lartë me vonesë të ulët, që do të thotë kohë aksesi më të shpejta sesa mediat dytësore të ruajtjes. Ky është një faktor pozitiv për ngarkesat e punës që kërkojnë trajtimin e sasive të mëdha të të dhënave me performancë të mirë.
- KëmbëngulësFurnizimi me energji rezervë siguron që të dhënat dhe kodi i programit të ruhen gjatë një defekti të sistemit ose humbjes së energjisë. Kjo siguron një shtresë të përhershme ruajtjeje të adresueshme në bajt midis DRAM dhe memories flash. Përdorimi i SCM zgjeron performancën e shpejtë të DRAM në memorien jo të paqëndrueshme. Prandaj, kur rikthehet energjia, sistemi mund të vazhdojë pikërisht aty ku e ka lënë, pa humbur të dhëna ose kohë - thelbësore në sistemet me disponueshmëri të lartë. Për më tepër, në shumë raste, nevoja për rifreskim të vazhdueshëm do të eliminohej.
- Më pak i varur nga mediat dytësoreMe SCM, më pak të dhëna duhet të zhvendosen midis memories kryesore dhe memories dytësore, pasi ajo ka një kapacitet më të madh. Kjo zvogëlon ngarkesën e punës së CPU-së kur i duhet sistemit operativ të hyjë në median dytësore, siç e shpjegova më parë, gjë që rrit performancën. Një pajisje SCM mund të ketë shpejtësi pothuajse aq të lartë sa DRAM dhe RAM statik (SRAM), por me avantazhin e persistencës.
Avantazhet dhe disavantazhet e SCM-së
Siç kam komentuar gjatë gjithë artikullit, përdorimi i SCM mund të ketë avantazhe të mëdha krahasuar me memorien konvencionale, siç është kapaciteti më i madh se DRAM-et aktuale, me kohë aksesi të ngjashme ose më të shpejta, por pa paqëndrueshmërinë e kësaj të fundit. Për më tepër, shumë nga teknologjitë e reja në zhvillim ofrojnë gjithashtu efikasitet më të madh energjetik, gjë që është e rëndësishme në qendrat e të dhënave. Dhe, në rast të një furnizimi lokal me energji për një nyje, të dhënat nuk do të humbisnin. Është gjithashtu e rëndësishme të mbahet mend se të dhënat e vendosura në SCM ndjekin një rrugë më të shkurtër I/O dhe zvogëlojnë mbledhjen e mbeturinave në blloqe të mëdha të të dhënave.
Në informatikë, mbledhja e mbeturinave, ose GC, është një mënyrë për të menaxhuar automatikisht memorien. GC përpiqet të rimarrë memorien e alokuar nga një program, por që nuk përdoret më; me fjalë të tjera, ajo liron këtë burim memorieje. Kjo e liron programin nga kryerja e detyrave të menaxhimit të memories; me fjalë të tjera, nuk ka nevojë të specifikojë se cilat objekte duhet të ç'alokohen dhe lirohen.
Por, pavarësisht avantazheve të tyre, ato gjithashtu kanë Disa disavantazhe, prandaj ato ende nuk janë përdorur gjerësisht. Një nga grackat më të mëdha është se ato bazohen në teknologji që janë ende në zhvillim e sipër ose duhet të zhvillohen, pasi produktet e para të lançuara nuk kanë arritur kufijtë e potencialit që pritej teorikisht. Për më tepër, për shkak se janë teknologji ekzotike, ato mund të jenë më të shtrenjta për t'u prodhuar.
Shembuj të produkteve SCM
Siç e kam përmendur më sipër, ekzistojnë disa shembuj produktesh që janë lançuar në treg dhe konsiderohen lloje të implementimeve komerciale të SCM, siç janë:
- Intel Optane: u lançua në vitin 2018, një produkt i zhvilluar posaçërisht për HPC, AI, ndër aplikacione të tjera, duke lejuar përmirësime të performancës falë kësaj memorieje SCM të bazuar në 3D XPoint, një teknologji e zhvilluar së bashku me Micron. Edhe pse u lançuan disa formate të kësaj memorieje, siç janë formatet M.2 NVMe, kartat e zgjerimit PCIe, kishte edhe një në formatin DIMM të quajtur Optane Persistent Memory ose PMem. Kapacitetet e këtyre moduleve DIMM varionin nga 128 GB në 512 GB për modul. Megjithatë, në vitin 2021 Intel vendosi të ndalonte zhvillimin e kësaj memorieje dhe objektivi u përqendrua në standardin e hapur Compute Express Link (CXL), i cili dukej më premtues.
- Samsung Z-SSDKompania koreano-jugore do të krijonte gjithashtu një medium me latencë të ulët, të tipit SCM, bazuar në një teknologji të ndryshme nga ajo e mëparshmja. Në këtë rast, u përdor një variant i V-NAND, i quajtur Z-NAND, dhe i cili ishte i organizuar në 48 shtresa qelizash memorieje bazuar në transistorë portash lundrues.
- Disqe Zgjerimi të Memories Western Digital Ultrastar DC ME200mund të përdoret për të zgjeruar memorien ekzistuese të sistemit, për të inkurajuar konsolidimin e serverëve dhe për të zvogëluar kompleksitetin e ndarjes së grupeve të mëdha të të dhënave me shumë terabajt në shumë servera. Kjo është një zgjidhje SCM që AMD e përdori për sistemet e saj të bazuara në EPYC për të konkurruar me zgjidhjen e Intel.
- Kioxia XL-Flash SCMKjo kompani, më parë Toshiba Memory, zhvilloi gjithashtu teknologjinë e saj SCM, të njohur si kjo. Këto produkte përdornin një faktor forme të ngjashëm me SSD, por me plane për ta sjellë atë në bus-in DRAM.
- Teknologjitë Modulare Inteligjente DuraMemoryKjo zgjidhje tjetër e memories persistente në module është gjithashtu një shembull tjetër i shquar, megjithëse në këtë rast është projektuar për industrinë dhe mjediset ku qëndrueshmëria dhe besueshmëria në kushte të pafavorshme janë të nevojshme.
Të gjitha këto zhvillime, ndër të tjera, bënë që shumë furnizues të mëdhenj Kompanitë e IT-së, veçanërisht kompanitë HPC, do të interesohen për këto produkte dhe do t'i përfshijnë ato në zgjidhjet e tyre. Disa shembuj të përdorimit të SCM në sistemet komerciale dhe të ndërmarrjeve përfshijnë:
- Dell EMCKompania amerikane njoftoi se do të përdorte Intel Optane PMem për të përmirësuar performancën e sistemeve të saj PowerMax SAN.
- Ndërmarrja Hewlett Packard (HPE)do të bënte gjithashtu një ndërhyrje në SCM me zgjidhje për ndërmarrjet, të tilla si Nimble Storage SAN, të bazuara në Optane.
- Hitachi Vantara: Kompania japoneze ofroi gjithashtu Platformën e saj të Storage Virtual Series 5000, me mundësinë që përdoruesit të përdorin SCM, duke vepruar si një memorie buffer ose cache.
- Lenovo: Gjigandi kinez i informatikës personale dhe HPC pritet gjithashtu të njoftojë mbështetjen për Intel Optane për serverët e tij ThinkSystem.
- MemVergeE themeluar në vitin 2017, kjo startup zhvilloi një sistem të njohur si Memory Machine, i cili virtualizoi DRAM dhe Intel Optane për të krijuar një medium ruajtjeje të vazhdueshëm me kapacitet të lartë. Ideja ishte që këto sisteme të përdoreshin për pamje të çastit, replikim të serverit dhe qëllime të tjera.
- NetApp: projektoi programin e të Dhënave të Përshpejtuara të Memory (Max Data). Ky projekt përdor teknologjinë Pleexistor dhe mbështet Intel Optane SCM.
- Ruajtja e pastërIdeja që qëndron pas kësaj kompanie ishte të kombinonte memorien flash NVMe dhe modulet e zhvilluara nga ajo vetë dhe të quajtura DirectMemory, duke rezultuar në atë që njihej komercialisht si FlashArray//X all-flash, duke përdorur pajisje Intel Optane me dy porta.
- StorOneNgjashëm me atë të mëparshëm, meqenëse All-Flash Array.next është një sistem që paketon memorien Optane së bashku me memorien Intel QLC 3D NAND dhe menaxhohet nga softueri S1.
- Të dhëna të gjeraKjo kompani tjetër krijoi një memorje buffer shkrimi të bazuar në SCM për të përshpejtuar ngarkesat e punës së IA-së.
E ardhmja e SCM-së
Shkurt, kemi parë disa përpjekje për teknologji dhe produkte që përdorin një formë të SCM-së, por ato nuk janë përhapur plotësisht në treg për një arsye ose një tjetër. Zhvillimi është ende i nevojshëm, si dhe pjekuria e disa prej teknologjive mbi të cilat bazohen këto pajisje. Dhe, pavarësisht pesimizmit të shumë njerëzve, ky raport mund të ketë një të ardhme premtuese.