Nivelarea uzurii pentru citirea și scrierea gestionată de software pentru memoria principală non-volatilă Partea 1
Aug 06, 2024
Nivelarea uzurii în memorie a devenit un domeniu de cercetare important pentru amintirile principale nevolatile emergente în ultimii ani. Multe abordări din literatură realizează nivelarea uzurii utilizând feronerie specială.
Memoria principală este un dispozitiv de stocare în interiorul unui computer. Este folosit pentru a stoca date temporare. Poate fi citit și scris direct de CPU și este o parte indispensabilă a sistemului informatic. În schimb, memoria este o structură neuronală din creierul uman și este un organ responsabil cu stocarea și rechemarea informațiilor. Deși memoria principală și memoria sunt diferite din punct de vedere fizic și funcțional, există unele conexiuni și asemănări între ele.
În primul rând, memoria principală și memoria sunt ambele dispozitive de stocare importante. Memoria principală poate stoca temporar instrucțiuni de program și date pentru a satisface nevoile de citire și scriere ale procesorului. Memoria este unul dintre principalele organe din creierul uman responsabil cu stocarea și reamintirea informațiilor, care poate ajuta oamenii să perceapă și să înțeleagă lumea într-o anumită măsură. Ambele tipuri de memorie au caracteristicile de înaltă eficiență, viteză și stabilitate, care pot îmbunătăți eficiența de gândire a computerelor și a oamenilor.
În al doilea rând, atât memoria principală, cât și memoria trebuie să fie antrenate și consolidate în mod constant. Memoria principală trebuie citită și scrisă în mod continuu pentru a asigura funcționarea normală a sistemului informatic și, de asemenea, trebuie să fie optimizată și extinsă pentru a răspunde cererii în creștere. De asemenea, memoria trebuie să fie stimulată și antrenată în mod constant, ceea ce poate fi îmbunătățit prin lectură, învățare și exerciții fizice. Numai prin consolidarea continuă, memoria principală și memoria pot servi mai bine computerelor și oamenilor.
În cele din urmă, atât memoria principală, cât și memoria trebuie gestionate și întreținute corespunzător. Memoria principală trebuie curățată și optimizată în mod regulat pentru a reduce datele nedorite și pentru a îmbunătăți performanța, pentru a evita probleme precum înghețarea și înghețarea sistemelor informatice din cauza datelor nedorite excesive. Memoria necesită rememorarea frecventă și organizarea informațiilor pentru a preveni uitarea și confuzia informațiilor. Numai în acest fel memoria principală și memoria pot servi mai bine computerelor și oamenilor.
În rezumat, deși memoria principală și memoria sunt diferite din punct de vedere fizic și funcțional, există și unele conexiuni și asemănări între ele. Printr -o pregătire sporită, management rezonabil și întreținere, putem să le jucăm mai bine rolurile și să promovăm dezvoltarea informaticii și a informațiilor umane. Se poate observa că trebuie să îmbunătățim memoria, iar Cistanche poate îmbunătăți semnificativ memoria deoarece Cistanche este un medicament tradițional chinezesc cu multe efecte unice, dintre care unul este îmbunătățirea memoriei. Eficacitatea Cistanche vine din diferitele ingrediente active pe care le conține, inclusiv acid tanic, polizaharide, glicozide flavonoide etc., care pot promova sănătatea creierului în multe feluri.

Faceți clic pe cunoaște 10 moduri de a îmbunătăți memoria
Deoarece majoritatea memoriilor nevolatile se uzează doar din cauza acceselor de scriere, abordările propuse în literatură încearcă de obicei să răspândească accesurile de scriere pe întreg spațiul de memorie.
Unele memorii nevolatile, totuși, se uzează și de la accesările de citire, deoarece fiecare citire determină un acces de scriere consecutiv. Soluțiile bazate pe software funcționează doar de la nivelul aplicației sau al nucleului, unde accesele de citire și scriere sunt realizate cu instrucțiuni și semantică diferite. Prin urmare, sunt necesare mecanisme diferite pentru a gestiona citirile și scrierile la nivel de software.
În primul rând, proiectăm o metodă pentru a aproxima accesul la citire și scriere pentru a permite nivelul de uzură cu granulație grosieră conștientă de îmbătrânire, în absența unui hardware special, oferind informații despre vârstă.
În al doilea rând, oferim soluții specifice pentru a rezolva punctele fierbinți de acces în codul de program compilat (segment de text) și pe stiva de aplicații. În evaluarea noastră, estimăm vârsta celulei numărând cantitatea totală de accesări per celulă.
Rezultatele arată că folosirea tuturor metodelor noastre îmbunătățește durata de viață a memoriei cu până la un factor de 955×.
Concepte CCS: • Organizarea sistemelor informatice → Sisteme încorporate; • Hardware → Memory anddense storage.
Cuvinte cheie și expresii suplimentare: memorie nevolatilă, nivelare a uzurii, citire distructivă, aproximare a vârstei.
1 INTRODUCERE
În ultimii ani, memoria nevolatilă (NVM) a fost considerată o alternativă la DRAM sau SRAM pentru memorie. Datorită mai multor dezavantaje (de exemplu, o rezistență celulară mai mică), în literatura de specialitate au fost propuse strategii de întreținere pentru a depăși impactul.
Durata de viață a memoriei este un lucru crucial atunci când NVM -urile sunt luate în considerare, deoarece se pot micșora la ore sau chiar minute când nu se aplică întreținere [5, 9]. Prin urmare, strategiile de nivelare a uzurii încearcă să prelungească durata de viață a memoriei la maximum stresând toate celulele de memorie în mod egal în timp.
Strategiile de nivelare a uzurii pot fi clasificate ca strategii conștiente de îmbătrânire și neconștiente de îmbătrânire, în care strategiile conștiente de îmbătrânire investighează vârstele actuale ale celulelor pentru a lua decizii adecvate de nivelare a uzurii.
Acest lucru necesită cunoștință precisă a vârstei celulare, care pot fi adunate din hardware special sau poate fi software aproximat. În schimb, strategiile care nu sunt conștiente de îmbătrânire își bazează deciziile la nivel de uzură pe alte mecanisme (de exemplu, la întâmplare). Majoritatea strategiilor conștiente de îmbătrânire și non-aging-aware vizează, de obicei, doar accesele de scriere, deoarece numai accesele de scriere uzează celulele de memorie pentru majoritatea tipurilor de NVM.
Aceasta înseamnă că fiecare acces de citire uzează și celula de memorie. Pentru FeRAM, motivul este că accesele de citire suprascriu valoarea curentă a celulei și, prin urmare, aceasta trebuie reîncărcată ulterior [18]. Prin urmare, fiecare acces de citire are ca rezultat un acces ulterior automat de scriere la celulă. Controlerul de memorie declanșează acest proces la fiecare acces de citire.
În consecință, accesările de citire trebuie luate în considerare cu același impact ca și accesele de scriere în timpul nivelării uzurii, dacă sunt utilizate astfel de memorii distructive de citire. Deși acest lucru nu implică o diferență semnificativă la nivel de hardware (în special nivelarea uzurii bazată pe hardware), deoarece hardware-ul poate fi pur și simplu extins pentru a urmări accesele de citire, ca parte a nivelării uzurii, face acest lucru la nivel de software. Dacă nivelul de uzură este realizat în software, urmărirea și numărarea acceselor de citire diferă de accesele de scriere.
Citiți și scrieți accesări cu semantică diferită la nivel de software și, într-adevăr, există diverse date „numai în citire” în majoritatea programelor. Astfel, diferitele semantice trebuie luate în considerare în timpul proiectării soluțiilor bazate pe software.
În acest articol, studiem proiectarea nivelării uzurii gestionate de software, unde investigăm proiectarea și utilizarea aproximărilor de vârstă pentru nivelarea uzurii conștientă de îmbătrânire în absența hardware-ului special. Prin mecanismul nostru gestionat de software, denotăm prin prezenta o soluție care nu este complet independentă de hardware-ul de bază și necesită totuși un anumit set de caracteristici ale sistemului.
Mai degrabă luăm în considerare soluțiile care configurează componente hardware disponibile în mod obișnuit de la nivel de software și, prin urmare, pot fi implementate doar la nivel de software al sistemelor de ultimă generație. Mai precis, soluția noastră necesită un MMU și contoare de performanță, care pot fi găsite în multe procesoare de aplicații recente.
Soluția, însă, nu propune o modificare a hardware-ului menționat mai sus, ci doar îl gestionează și îl configurează de la nivel software pentru a atinge obiectivele de nivelare a uzurii.
O soluție bazată pe software în general nu trebuie să fie favorabilă față de o soluție bazată pe hardware, ci oferă mai degrabă o soluție de nivelare a uzurii pentru sistemele în care suportul hardware necesar nu este implementat, fie pentru a economisi spațiu pe cip, fie pentru că hardware-ul sistemului este deja configurat. .
Acoperim în continuare influența distructivă a acceselor de citire și scriere în cadrul metodei noastre, astfel încât NVM-urile distructive de citire pot fi, de asemenea, vizate. În primul rând, proiectăm o nivelare grosieră de uzură, care ține seama de îmbătrânirea, unde eșantionăm accesele de citire și scriere la memoria principală cu ajutorul contoarelor de performanță și a permisiunilor de acces la memorie.

Aceasta ne oferă o aproximare statistică a distribuției accesului de citire și scriere. Introducem această aproximare într-un algoritm de nivelare a uzurii bazat pe pagini de memorie virtuală, care remapează paginile de memorie fizică din spatele paginilor de memorie virtuală într-o manieră conștientă de îmbătrânire.
Ca ortogonală, proiectăm în continuare nivelul de uzură cu granulație fină, care nu conștientizează, ceea ce rezolvă punctele fierbinți de acces dens în paginile de memorie. Segmentul de stivă de aplicații se confruntă cu puncte fierbinți intense de accesuri densă de citire și scriere densă, în timp ce codul programului compilat (adică în segmentul de text) se confruntă doar cu punctele fierbinți.
Vizând acest lucru, propunem un mecanism care mută circular stiva și segmentul de text cu decalaje mici prin memoria fizică, în timp ce este asigurată execuția corectă a programului. În combinație cu nivelarea anterioară a uzurii, conștientă de deteriorarea granulelor grosiere, obținem o memorie totală la nivel de uzură, chiar și în prezența memoriei principale distructive de suprafață.
Contribuțiile noastre noi includ următoarele:
• O aproximare online de citire și scriere pentru a permite schimbul de pagini cu granulație grosieră privind accesele de citire și scriere.
• O nivelare de uzură cu granulație fină pentru segmentul stivei pentru a evita punctele fierbinți de scriere și citire. Stiva este mutată rotativ în timp ce corectitudinea indicatoarelor este menținută.
• O nivelare fină a uzurii pentru segmentul de text pentru a evita punctele fierbinți de citire. Această abordare mută în mod rotativ segmentul de text pentru a răspândi punctele fierbinți citite printr-o zonă de memorie mai mare.
2 LUCRĂRI CONEXE
În ultimele decenii, au fost propuse mai multe abordări pentru nivelarea uzurii în memorie pentru NVM. Aceste abordări pot fi clasificate în funcție de diferite criterii.
În primul rând, există abordări conștiente de îmbătrânire [1, 2, 4–6, 11, 15, 17, 20, 24], care țin cont de vârsta actuală a celulelor pentru aplicarea nivelării îmbrăcămintei. În schimb, abordările randomizate [5, 19, 24] aplică nivelarea uzurii într-o manieră circulară sau randomizată.
Ambele abordări sunt adesea combinate pentru a obține o nivelare randomizată a uzurii pe granularități fine din interiorul blocurilor de memorie, în timp ce o abordare conștientă de îmbătrânire este utilizată pentru a viza aceste blocuri de memorie cu granulație grosieră.
Granularitatea variază, de asemenea, de la biți unici [3, 23] peste liniile de cache [19, 24] pentru abordări cu granulație fină la paginile de memorie [1, 2, 5, 6, 20] sau chiar segmente de biggermemory [22, 24] pentru grosier -PORTAȚII GRAINE. Unele abordări nu se bazează pe reînnoirea conținutului de memorie fizică printr-un strat de abstractizare, ci conectați la procesul de alocare a memoriei sistemului de operare pentru a aplica nivelul de îmbrăcăminte la alocatorul de memorie [1, 15, 20].
Li şi colab. [15] propune, de asemenea, să se utilizeze o porțiune de memorie alocată, ori de câte ori este apelată o funcție, pentru memoria stivei funcției la nivelul de uzură a regiunii stivei.
2.1 Levelling conștient de îmbătrânire
Gogte și colab. [6] propun o abordare de nivelare a uzurii cu granulație grosieră numai prin software, folosind o aproximare eșantion a distribuției de scriere. Ei folosesc capabilități avansate de depanare, cum ar fi Intel Processor Event-Based Sampling (PEBS), care le permite să probeze cererile de scriere de la CPU. Aceste capabilități de depanare, totuși, pot fi găsite rar în sistemele încorporate și hardware-ul cu resurse limitate.
Toate celelalte abordări conștiente de îmbătrânire menționate se bazează pe informațiile curente de numărare a scrierilor din memorie. Cele mai multe abordări introduc hardware specializat în controlerul de memorie pentru a colecta informațiile de numărare a scrierilor, care nu sunt disponibile în sistemele disponibile în mod obișnuit și ar putea fi greu de realizat.
Dong şi colab. [4] Utilizați o urmă de memorie înregistrată offline pentru a estima redactarea Tribution, ceea ce limitează abordarea la un subset de aplicații cunoscute.
2.2 Citiți Uzura-Leveling
După cunoștințele noastre, nu există algoritmi dedicați pentru nivelarea uzurii în citire în NVM-urile readdistructive. Cu toate acestea, abordările bazate pe hardware care nu sunt conștiente de îmbătrânire sau care decid direct pe baza uzurii fiecărei celule sunt compatibile implicit cu memoriile distructive de citire.
Dacă uzura este estimată din numărul de scriere, ar putea fi estimată și din numărarea de citire și scriere împreună. Acest lucru implică faptul că algoritmii de interacțiune hardware-software pot obține o estimare precisă a uzurii prin extinderea hardware-ului pentru a număra accesele de citire.
Atâta timp cât sunt utilizate mecanisme generice (de exemplu, remaparea paginilor de memorie virtuală) [1, 2], modificările la algoritmi sunt minime. În schimb, atunci când mecanismele specifice (de exemplu, alocarea grămezilor sau alocarea stivei) sunt utilizate pentru nivelarea uzurii [14, 15, 20], atunci nivelul de uzură citit nu poate fi integrat cu ușurință. Astfel, în aceste cazuri este necesar un alt mecanism special pentru citirea nivelului de uzură.

În plus, pentru algoritmii care se livrează cu aproximarea lor de scriere [6, 9, 12], trebuie adăugată o aproximare de citire specializată. După cunoștințele noastre, aceasta este prima lucrare care propune un acces de citire și scriere în memorie gestionat de software. aproximare care nu se bazează pe capabilități speciale de depanare.
În plus, sunt furnizați algoritmi specifici, care funcționează pe date specifice aplicației (stivă și text), unde algoritmul pentru text este dedicat doar acceselor de citire.
3 SISTEM ȚINTĂ
În această secțiune, vom analiza mai întâi configurația țintă tipică a metodelor propuse. Deși nu ne limităm metodele la anumite tipuri de NVM, luăm în considerare anumite proprietăți privind uzura. Presupunem că orice modificare a celulei uzează o celulă în mod egal.
În plus, nu presupunem scriere iterativă și, prin urmare, numărul de accesări la memorie corespunde liniar timpului de viață al memoriei. În metoda noastră propusă, țintăm NVM-uri cu distrucție în scriere, precum și pe cele cu citire distructivă, prin implementarea unui add-on pentru NVM-uri cu citire distructivă.
Deși proprietatea de citire distructivă nu poate fi găsită doar într-un tip de NVM, FeRAM este un exemplu proeminent al unui astfel de NVM. Acest lucru, totuși, nu implică faptul că metoda noastră este limitată la FeRAM; ar putea fi aplicat, de asemenea, pe NVM non-citire-distructiv, de exemplu, prin neactivarea nivelării citirii uzurii.
Proprietatea de citire-distructivă a FeRAM provine din faptul că procedura de citire (adică, detectarea valorii unei celule) suprascrie celula [13, 18]. În timpul operației de citire, se aplică un câmp electric celulei FeRAM și se măsoară sarcinile transferate, ceea ce polarizează celula. Păstrați starea inițială a celulei după citire, vechea valoare trebuie să fie scrisă din nou în celulă.
Acest acces ulterior de scriere necesară face ca FERAM să fie citit-distructiv. Ca sistem țintă, luăm în considerare sistemele încorporate în medii cu resurse limitate, care trebuie să îndeplinească sarcini complexe și, prin urmare, să ruleze software complexe.
Acest tip de sistem poate fi găsit în controlere auto sau aplicații aerospațiale. Echiparea acestora cu NVM este de dorit pentru a crește capacitatea de memorie la costuri reduse, menținând în același timp un consum redus de energie. În cele ce urmează, ne definim sistemul țintă în ceea ce privește (1) ierarhia cache-ului și (2) arhitectura generală a memoriei.

For more information:1950477648nn@gmail.com






