IT-maailmassa käydään jatkuvaa kamppailua uusien muistiratkaisujen löytämiseksi. Yksi prioriteeteista on saavuttaa muisti, joka yhdistää molempien maailmojen parhaat puolet: RAMin ja SSD:n. Eli muisti, joka on yhtä nopea kuin ensisijainen muisti, mutta jolla on toissijaisen muistin kapasiteetti ja pysyvyys. Ja tähän suuntaan asiat ovat menossa. SCM jonka esittelemme teille tänään…
Nykyinen muistihierarkia
Muistutuksena, sanotaan, että nykyisen tietokonearkkitehtuurin muistilla on muistihierarkia pyramidin muodossa, joka etenee nopeimmasta, kalleimmasta ja pienimmän kapasiteetin ylhäältä halvimpaan, hitaimpaan ja suurimpaan kapasiteettiin pohjalta:
- Taso 0Huipulla meillä on nopeimmat kaikista, jotka ovat asiakirjat CPU:sta, vaikka sillä on myös pienin kapasiteetti. Rekisterien koko vaihtelee tyypillisesti 32-bittisestä 64-bittiseen tai suurempaan. Pienestä kapasiteetistaan huolimatta ne on kuitenkin rakennettu erittäin nopeista kiikuista ja niihin päästään käsiksi alle 0.5 ns:ssä.
- Taso 1Rekistereiden alapuolella on välimuisti, L0:sta tai L1:stä LLC:hen (Last Level Cache). Joitakin puskureita voidaan jopa sisällyttää tähän, kuten TLB, joka on myös eräänlainen välimuisti. Eli usein löytyy L1, L2 ja L3, muutamia poikkeuksia lukuun ottamatta. Tämän muistin kapasiteetti on yleensä suurempi kuin rekisterien, muutamasta kilotavusta useisiin megatavuihin. Tämän muistin solut ovat kuitenkin SRAM-muistia. Tämä tekee niistä erittäin nopeita, vaikkakaan eivät yhtä nopeita kuin rekisterit, mutta nopeampia kuin niiden alemmat tasot. Tässä puhutaan käyttöajoista, jotka ovat yleensä 1 ns:stä muutamaan kymmeneen nanosekuntiin tasosta riippuen, eli toisin sanoen noin 4 CPU:n kellojaksosta 50 tai 70 jaksoon korkeammilla tasoilla. Esimerkiksi L1:n tyypillinen käyttöaika voi olla 1 ns, kun taas L2:n noin 3.3 ns, L3:n 12.8 ns ja L4:n 42.4 ns… On myös lisättävä, että sekä taso 0 että taso 1 sijaitsevat nykyisissä tapauksissa itse suorittimen sisällä.
- Taso 2Tätä kutsutaan ensisijaiseksi muistiksi eli keskusmuistiksi. Eli RAM-muistiksi (virtuaalimuisti voitaisiin laskea tähän mukaan, vaikka onkin hyvä muistaa, että tämä osa sijaitsee tasolla 3). Tämän muistin kapasiteetti on suurempi kuin välimuistin, useita gigatavuja, mutta on myös totta, että käyttöajat ovat hitaampia, noin 10 ns. Tämä voi vaihdella muistin tyypistä riippuen, koska latenssi ja kellotaajuus eivät ole samoja kaikissa muistityypeissä, mutta vain viitteeksi. Tämä johtuu siitä, että se on DRAM-soluista koostuva muisti, joka on hitaampi kuin SRAM, mutta halvempi, mikä mahdollistaa tämän suuremman kapasiteetin kohtuulliseen hintaan. Tasot 0, 1 ja 2 ovat muistia, jota CPU voi käyttää suoraan. Muuten, kuten tiedätte, myös GPU:lla on oma keskusmuistinsa eli VRAM, ja se on yleensä DRAMia ja joissakin tapauksissa myös HBM:ää. HBM:ää voidaan käyttää myös CPU:ssa, vaikkakin se on eksoottisempaa.
- Taso 3Pysyvä muisti (NVM) voidaan sisällyttää tähän, koska kaikki aiemmat tasot olivat haihtuvia, mikä tarkoittaa, että kun muistisoluista katkaistaan virta, niiden sisältö menetetään. Tämän tyyppinen muisti säilyttää kaikki tallennetut tiedot, vaikka virta katkaistaisiin. On myös tärkeää huomata, että suoritin ei voi käyttää tätä muistityyppiä suoraan, ja monissa tapauksissa se vaatii käyttöjärjestelmän apua. Tätä tasoa kutsutaan yleensä toissijaiseksi muistiksi, aivan kuten tasoa 1 kutsutaan ensisijaiseksi muistiksi. Taso 3 sisältää kiintolevyt ja SSD-kiintolevyt. Ensimmäiset ovat magneettisia ja niiden käyttöajat ovat noin 3 ms, kun taas jälkimmäiset ovat paljon nopeampia flash-muistiyksiköitä, joiden käyttöajat voivat olla noin 0.1 ms. Kuten näette, tässä siirrytään nanosekunneista millisekunteihin, mutta on myös sanottava, että kyseessä on muisti, jonka tuotanto on huomattavasti halvempaa, joten sitä voidaan toteuttaa satojen tai tuhansien gigatavujen tai teratavujen kapasiteeteissa.
- Taso 4Tässä tapauksessa käyttöajat ovat pidempiä kuin edellisissä tapauksissa ja voivat joissakin tapauksissa olla yli 10 ms. Tämä voi sisältää irrotettavat tallennusvälineet, optisen muistin (CD/DVD/BD), magneettinauhat ja muun I/O-muistin.
Okei, kun ymmärrämme tämän muistin pyramidin tai hierarkian, seuraava askel on alkaa tarkastella, mitä SCM on…
Universaalin muistin etsintä
Yrittääkseen parantaa tätä muistihierarkiaa tutkijat kehittävät jatkuvasti uusia teknologioita ja etsivät ns. "universaali muisti"Tämä termi viittaa tallennuslaitteeseen, joka yhdistää DRAM-muistin kustannusedut, SRAM-muistin nopeuden ja flash-muistin haihtumattoman luonteen sekä tarjoaa samalla äärettömän ja pitkäikäisen kestävyyden.
Kaikkien näiden ominaisuuksien kokoaminen yhteen raporttiin ei tietenkään ole helppoa, Monet asiantuntijat epäilevät tämän olevan mahdollista.. Jonkin verran Viime aikoina ilmestyneet muistelmat saattavat täyttää joitakin näistä ominaisuuksistavaikka ne eivät syystä tai toisesta ole lopullinen ratkaisu.
Viittaan muisteihin, kuten FRAM tai FeRAM, MRAM, PCM, RRAM tai ReRAM, NRAM tai Nano-RAM, PRAM tai PCRAM, memristoripohjainen muisti, PMC, kuplamuisti, kilparatamuisti, UltraRAM (tutkimuksen alla puolijohteita, kuten InGaAs, GaSb, AlGaAs, GaAs, AlSb, InAs), 3D XPoint, Millipede, FeFET-pohjainen muisti, NOVRAM jne. Kaikilla niillä on mielenkiintoisia etuja, mutta myös haittoja, jotka eivät vieläkään tee niistä sopivia universaaleiksi muisteiksi ja jotka voivat korvata tasot 2 ja 1, kuten edellisestä pyramidista voidaan nähdä, sekä asettua muistiksi päämuistin ja toissijaisen muistin väliin.
Mikä on NVRAM?
La NVRAM (haihtumaton RAM-muisti) Se on eräänlainen RAM-muisti (RAM), mutta se ei menetä tietojaan, kun siihen ei kytketä virtaa, joten se on haihtumaton. Ajatuksena on saavuttaa tämä muisti SRAMin tai DRAMin ominaisuuksilla käyttönopeuden suhteen, mutta menettämättä tallennettuja tietoja, kuten toissijaisessa muistissa. Tämä voisi olla hyvä teknologia käytettäväksi monilla rintamilla, laiteohjelmistojen tallennuksesta teollisuuden mikrokontrollereihin tai käytettäväksi HPC-sovelluksissa, ilmailu- ja avaruussovelluksissa, esineiden internetissä, hajautetussa laskennassa, virtuaalikonesovelluksissa ja muissa vastaavissa sovelluksissa.
Ajattele kaikkia edut Mitä tällä muistolla olisi verrattuna nykyiseen perinteiseen pyramidiin, kuten:
- Koska se on yhtä nopea kuin DRAM tai SRAM, se saavuttaa erittäin nopeat käyttöajat, minkä ansiosta sitä voidaan käyttää päämuistina.
- Koska se on haihtumaton, sen kulutus olisi hyvin alhainen, koska päivityssyklejä ja muistin jatkuvaa syöttöä ei vaadittaisi kuten haihtuvan muistin tapauksessa.
- Suuria kapasiteettia voidaan käyttää suurten tietomäärien tallentamiseen.
- Näillä kennoilla on myös parempi luotettavuus kuin nykyisillä flash-kennoissa, joten tietoja voidaan tallentaa pitkällä aikavälillä ilman, että ne heikkenevät tuhansien tai miljoonien syklien jälkeen, kuten näiden muiden kennojen kanssa tällä hetkellä tapahtuu. Kuten tiedätte, riippuen siitä, onko Flash-muistisolut ovat NOR-, NAND- tai johdannaisialuotettavuus voi olla enemmän tai vähemmän lyhyt.
Tämä pysyvä muisti voisi olla ratkaisu joihinkin nykyisiin ongelmiin ottaen huomioon olemassa olevat teknologiset rajoitukset ja kuilun tai saavutuskuilu virta RAM-muistin ja suorittimen välillä.
Kuten tiedät, tällä hetkellä on joitakin ratkaisut Näihin kuuluu nopeampi haihtuva muisti tiedon tallentamiseen käytön aikana, mikä mahdollistaa nopeamman käytön. Kun virransyöttö on katkaistamassa, sisältö siirretään haihtumattomaan muistiin. Tämä tarkoittaa kuitenkin kahden tyyppisen muistin sisällyttämistä, mikä lisää tuotantokustannuksia muiden ongelmien ohella. Mutta näiden moduulien avulla saat kaiken yhdessä.
Viime aikoina on otettu käyttöön joitakin standardeja, kuten NVDIMM eli DIMM (Dual In-line Memory Module) -muoto tämän tyyppiselle pysyvälle tai haihtumattomalle muistille. Tällä tavoin nämä muistit voitaisiin toteuttaa moduulimuodossa kuten nykyinen RAM ja asentaa samanlaisiin paikkoihin kuin nykyään saatavilla olevat. Toisin kuin perinteisellä DRAMilla, niillä olisi kuitenkin edellä luetellut edut.
NVDIMM-moduulit kehittyivät tekniikasta, joka tunnetaan nimellä BBU DIMM (akkuvarmennettu DIMM), joka käytti varavirtaa ylläpitääkseen virtaa haihtuvassa muistissa jopa 72 tuntia sähkökatkon sattuessa. Tämä ei kuitenkaan ole tämän SCM:n tai universaalin muistin tavoite, koska akkujen käyttö tarkoittaa, että ne on ladattava tai vaihdettava, sillä on suurempi ympäristövaikutus ja niin edelleen.
Tämä lisävirtalähde on välttämätön, jotta päämuistilla on aikaa siirtää sisältönsä pysyväismuistiin sähkökatkon sattuessa. Tällä hetkellä on myös joitakin NVDIMM-moduuleja, jotka eivät käytä akkuja, vaan supercapacitorseli suurikapasiteettisia kondensaattoreita, jotka ovat täynnä käytön aikana ja joilla on äkillisen sähkökatkon sattuessa riittävästi energiaa pysyäkseen aktiivisina riittävän kauan estääkseen tietojen menetyksen.
Joitakin näistä ratkaisuista käytettiin alun perin RAID-asemien isäntäväyläsovittimien (HBA) välimuistiin tallentamiseen, jotta välimuisti selviäisi sähkökatkoksen aikana. Niillä on kuitenkin myös muita sovelluksia, kuten tulet näkemään.
Näiden järjestelmien käytön rajoittamiseksi jotkut ovat syntyneet JEDECin standardit NVDIMM:lle jotka sinun pitäisi tietää, kuten:
- NVDIMM-FTämä on flash-muistipiireillä varustettujen DIMM-moduulien korttipaikkastandardi. Järjestelmän käyttäjien on yhdistettävä tallennus-DIMM perinteiseen DRAM DIMM -moduuliin, eli kaksi moduulia erikseen. Se on ollut saatavilla vuodesta 2014 lähtien, ja Intel ja Micron Technology ovat julkistaneet esimerkiksi 3D XPoint PCM:n.
- NVDIMM-NTässä tapauksessa molemmat muistityypit on yhdistetty yhdeksi DIMM-moduuliksi. Eli samassa moduulissa on flash-muistia ja perinteistä DRAM-muistia. Tämä mahdollistaa järjestelmän pääsyn suoraan perinteiseen DRAM-muistiin järjestelmän ollessa käynnissä. Sähkökatkon tai sammutuksen sattuessa moduuli tyhjentää tiedot haihtuvasta perinteisestä DRAM-muistista pysyvään flash-muistiin ja kopioi ne takaisin, kun virta palautuu. Moduuli käyttää pientä varavirtalähdettä, kun tietoja kopioidaan DRAM-muistista flash-muistiin. Sony ja Viking Technology ilmoittivat myös muistista tämän tyyppiselle muistipaikalle ReRAM-pohjaisesti.
- NVDIMM-PHelmikuussa 2021 ilmestyi spesifikaatio, joka mahdollisti pysyvän päämuistin käytön näiden uusien SCM- eli universaalimuistimoduulien myötä. Lisäksi ne voisivat jakaa identtiset liitännät DDR4- tai DDR5-muistien DIMM-moduulien kanssa. Siksi ne voitaisiin korvata. Tällaisia moduulityyppejä ovat esimerkiksi vuonna 2015 julkistettu Samsung/Netlist-moduuli, joka mahdollisesti perustui Z-NAND-piiriin.
- NVDIMM-XTämä ei ole JEDEC-standardi, mutta se on myös mielenkiintoinen. Tässä tapauksessa meillä on DDR-muistimoduuli DIMM, mutta Xitoren kehittämä NAND-flash-muisti.
Okei, nyt siirrymme SCM:ään, joka liittyy kaikkeen tässä selittämääni, kuten näette, mutta tämä oli tarpeen selittää ennen kuin ryhdyimme työstämään tätä uutta konseptia...
Mikä on SCM?
La SCM (tallennusluokan muisti), joka on tämän artikkelin pääkohde, on eräänlainen fyysinen muisti, joka pyrkii vakiinnuttamaan asemansa universaalina muistina tai ainakin kattamaan osan sen perusteista. SCM:ssä meillä on muisti, joka yhdistää dynaamisen RAM-muistin (DRAM) parhaat puolet, NAND-flash-muistin parhaat puolet ja tiedon säilyvyyden virtalähteen.
Lyhyesti sanottuna, SCM:llä saavuttaisimme datan käyttö (kirjoittaminen ja lukeminen) on nopeampaa kuin paikallisesti liitettyjen SSD-levyjen (Solid State Drive) tietojen käyttö PCIe-liitännän, magneettisten kiintolevyjen (HDD) ja ulkoisten tallennusryhmien kautta. SCM on kestävämpi kuin DRAM ja voi lukea ja kirjoittaa tietoja jopa 10 kertaa nopeammin kuin NAND-asemat. Perinteistä RAM-muistia suurempia kapasiteettia voidaan kuitenkin saavuttaa edulliseen hintaan, ja niiden käyttöikä on pidempi kuin nykyisillä SSD-levyillä.
Yksi sovelluksista, joissa näitä SCM-muisteja voidaan hyödyntää, on datakeskuksissaJa he voivat osallistua:
- latenssiMeillä on tehokas tallennusväline, jolla on pieni viive, mikä tarkoittaa nopeampia käyttöaikoja kuin toissijaisilla tallennusvälineillä. Tämä on positiivinen tekijä työkuormissa, jotka vaativat suurten tietomäärien käsittelyä hyvällä suorituskyvyllä.
- PysyväVaravirtalähde varmistaa, että tiedot ja ohjelmakoodi säilyvät järjestelmävian tai sähkökatkoksen aikana. Tämä tarjoaa tavukohtaisesti ohjattavan pysyvän tallennuskerroksen DRAM-muistin ja flash-muistin väliin. SCM:n käyttö laajentaa DRAM-muistin nopean suorituskyvyn pysyvään tallennukseen. Näin ollen, kun virta palautuu, järjestelmä voi jatkaa juuri siitä, mihin se jäi, menettämättä tietoja tai aikaa – mikä on elintärkeää korkean käytettävyyden järjestelmissä. Lisäksi monissa tapauksissa jatkuvan päivityksen tarve poistuu.
- Vähemmän riippuvainen toissijaisesta mediastaSCM:n avulla päämuistin ja toissijaisen tallennustilan välillä tarvitsee siirtää vähemmän tietoa, koska niiden kapasiteetti on suurempi. Tämä vähentää suorittimen työmäärää, kun käyttöjärjestelmän on käytettävä toissijaista tallennusvälinettä, kuten aiemmin selitin, mikä parantaa suorituskykyä. SCM-laite voi kellottaa lähes yhtä nopeasti kuin DRAM ja staattinen RAM (SRAM), mutta etuna on pysyvyys.
SCM:n edut ja haitat
Kuten olen koko artikkelin ajan kommentoinut, SCM:n käytöllä voi olla suuria etuja verrattuna perinteiseen muistiin, kuten suurempi kapasiteetti kuin nykyisillä DRAM-muisteilla, samankaltaisilla tai nopeammilla käyttöajoilla, mutta ilman jälkimmäisten volatiliteettia. Lisäksi monet kehitteillä olevista uusista teknologioista tarjoavat myös paremman energiatehokkuuden, mikä on tärkeää datakeskuksissa. Ja jos solmu saa paikallisen virransyötön, tiedot eivät katoa. On myös tärkeää muistaa, että SCM:ään sijoitettu data seuraa lyhyempää I/O-reittiä ja vähentää roskien keräämistä suurissa datalohkoissa.
Tietotekniikassa roskienkeruu eli GC on tapa hallita muistia automaattisesti. GC yrittää ottaa takaisin ohjelman varaamaa, mutta sitä ei enää käytetä; toisin sanoen se vapauttaa tämän muistiresurssin. Tämä vapauttaa ohjelman muistinhallintatehtävistä; toisin sanoen sen ei tarvitse määrittää, mitkä objektit vapautetaan ja mitkä avataan.
Mutta eduistaan huolimatta niillä on myös Joitakin haittoja, minkä vuoksi niitä ei ole vielä laajalti otettu käyttöön. Yksi suurimmista sudenkuopista on, että ne perustuvat teknologioihin, jotka ovat vielä kehitteillä tai joiden on vielä kypsyttävä, koska ensimmäiset lanseeratut tuotteet eivät ole saavuttaneet teoreettisesti odotetun potentiaalin rajoja. Lisäksi, koska ne ovat eksoottisia teknologioita, niiden valmistaminen voi olla kalliimpaa.
Esimerkkejä SCM-tuotteista
Kuten edellä mainitsin, on olemassa joitakin tuote-esimerkkejä jotka on tuotu markkinoille ja joita pidetään kaupallisina SCM-toteutuksina, kuten:
- Intel Optane: lanseerattiin vuonna 2018. Kyseessä on erityisesti HPC:hen, tekoälyyn ja muihin sovelluksiin kehitetty tuote, joka mahdollisti suorituskyvyn parannuksia tämän Micronin kanssa yhteistyössä kehitettyyn 3D XPointiin perustuvan SCM-muistin ansiosta. Vaikka muistia lanseerattiin useita formaatteja, kuten M.2 NVMe -formaatit ja PCIe-laajennuskortit, DIMM-muodossa oli myös yksi nimeltään Optane Persistent Memory eli PMem. Näiden DIMM-moduulien kapasiteetit vaihtelivat 128 Gt:sta 512 Gt:iin moduulia kohden. Vuonna 2021 Intel päätti kuitenkin lopettaa muistin kehittämisen ja keskittyi avoimeen standardiin Compute Express Link (CXL), joka vaikutti lupaavammalta.
- Samsung Z-SSDEteläkorealainen yritys loisi myös matalan latenssin omaavan, SCM-tyyppisen tallennusvälineen, joka perustuisi eri teknologiaan kuin edellinen. Tässä tapauksessa käytettiin V-NANDin muunnelmaa, nimeltään Z-NAND, joka oli järjestetty 48 muistisolukerrokseen kelluvien hilatransistoreiden pohjalta.
- Western Digital Ultrastar DC ME200 -muistilaajennusasemat: voidaan käyttää olemassa olevan järjestelmämuistin laajentamiseen, palvelimien konsolidoinnin edistämiseen ja suurten, usean teratavun kokoisten tietojoukkojen jakamisen useille palvelimille monimutkaisuuden vähentämiseen. Tämä on SCM-ratkaisu, jota AMD käytti EPYC-pohjaisissa järjestelmissään kilpaillakseen Intelin ratkaisun kanssa.
- Kioxia XL-Flash SCMTämä yritys, aiemmin Toshiba Memory, kehitti myös oman SCM-teknologiansa, joka tunnetaan nimellä tämä. Nämä tuotteet käyttivät SSD-levyn kaltaista muotokerrointa, mutta suunnitelmissa oli tuoda se DRAM-väylään.
- Älykkäät modulaariset teknologiat DuraMemoryTämä toinen pysyvän muistin ratkaisu moduuleissa on myös toinen huomionarvoinen esimerkki, vaikka tässä tapauksessa se on suunniteltu teollisuuteen ja ympäristöihin, joissa kestävyys ja luotettavuus vaikeissa olosuhteissa ovat välttämättömiä.
Kaikki nämä kehityskulut, muiden muassa, tekivät monista suuret toimittajat IT-yritykset, erityisesti suurteholaskentayritykset, kiinnostuvat näistä tuotteista ja sisällyttävät ne ratkaisuihinsa. Joitakin esimerkkejä SCM:n käytöstä kaupallisissa ja yritysjärjestelmissä ovat:
- Dell EMCYhdysvaltalainen yritys ilmoitti käyttävänsä Intel Optane PMem -piirilevyä parantaakseen PowerMax SAN -järjestelmiensä suorituskykyä.
- Hewlett Packard Enterprise (HPE): tekisi myös tunkeutumisen SCM:ään yritysratkaisuilla, kuten Optaneen perustuvilla Nimble Storage SAN -verkoilla.
- Hitachi Vantara: Japanilainen yritys tarjosi myös Virtual Storage Platform 5000 -sarjansa, jossa käyttäjät voivat käyttää SCM:ää puskuri- tai välimuistina.
- Lenovo: Kiinalaisen henkilökohtaisen laskennan ja HPC-jätin odotetaan myös ilmoittavan tukevansa Intel Optanea ThinkSystem-palvelimissaan.
- MemVergeVuonna 2017 perustettu startup-yritys kehitti Memory Machine -nimisen järjestelmän, joka virtualisoi DRAM-muistia ja Intel Optane -prosessoreita luodakseen suuren kapasiteetin ja pysyvän tallennusvälineen. Ajatuksena oli käyttää näitä järjestelmiä tilannekuvien luomiseen, palvelinten replikointiin ja muihin tarkoituksiin.
- NetApp: suunnitteli Memory Accelerated Data (Max Data) -ohjelmiston. Tämä projekti käyttää Pleexistor-teknologiaa ja tukee Intel Optane SCM:ää.
- Puhdas varastointiTämän yrityksen taustalla oli ajatus yhdistää NVMe-flash-muisti ja sen itsensä kehittämät moduulit, joita kutsuttiin DirectMemoryksi, jolloin syntyi kaupallisesti FlashArray//X all-flash -niminen kokonaisuus, jossa käytettiin kaksiporttisia Intel Optane -laitteita.
- StorOneSamanlainen kuin edellinen, koska All-Flash Array.next on järjestelmä, joka sisältää Optane-muistia ja Intel QLC 3D NAND -muistia ja jota hallinnoi S1-ohjelmisto.
- Suuri dataTämä toinen yritys loi SCM-pohjaisen kirjoituspuskurin tekoälytyökuormien nopeuttamiseksi.
SCM:n tulevaisuus
Lyhyesti sanottuna olemme nähneet joitakin yrityksiä teknologioihin ja tuotteisiin, jotka hyödyntävät jonkinlaista SCM:ää, mutta ne eivät ole aivan vakiinnuttaneet asemaansa markkinoilla syystä tai toisesta. Kehitystä tarvitaan edelleen, samoin kuin joidenkin näiden laitteiden perustana olevien teknologioiden kypsyyttä. Ja monien pessimismistä huolimatta tässä raportissa saattaa olla lupaava tulevaisuus.